Method and apparatus for constant stride accessing to memories in vector processor
First Claim
1. An apparatus for accessing a constant stride vector addressed memory device that stores a vector having a starting address and a stride D in a number of memory locations and that includes a number of interleaved memory banks (B) that are consecutively accessed and that have respective bank indexes, said apparatus including:
- a distance register connected to store distance signals representing the stride D;
a delta index register connected to store delta signals representing a value c satisfying cD=1(mod B);
index generating means for generating, based on the distance signals and the delta signal, index signals respectively identifying the memory locations of the vector in order of the consecutively accessed bank is; and
adding means for providing the address signals to the constant stride vector addressed memory device based on the index signals.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for generating addresses for a constant stride vector addressed memory device. An address generator generates address indices following an equation
c.D=1(mod B)
where B is the bank number of the memory device, D is the stride of the vector addressed memory device and c is a positive integer corresponding in a delta index. By doing so, the requested addresses are successively generated in order of bank addresses of the memory device and, the waiting time of prior constant stride vector access methods is eliminated. And the throughput of the memory device is improved.
39 Citations
10 Claims
-
1. An apparatus for accessing a constant stride vector addressed memory device that stores a vector having a starting address and a stride D in a number of memory locations and that includes a number of interleaved memory banks (B) that are consecutively accessed and that have respective bank indexes, said apparatus including:
-
a distance register connected to store distance signals representing the stride D; a delta index register connected to store delta signals representing a value c satisfying cD=1(mod B); index generating means for generating, based on the distance signals and the delta signal, index signals respectively identifying the memory locations of the vector in order of the consecutively accessed bank is; and adding means for providing the address signals to the constant stride vector addressed memory device based on the index signals. - View Dependent Claims (2, 3, 4, 5, 6)
-
6. An apparatus according to claim 5, wherein said correction means comprises:
-
means for providing first signals representing a value satisfying B×
D;means for providing second signals representing a value satisfying B×
D×
C;means for providing a signal representing a value corresponding to B; first and second divider means, each having x and y input terminals and Q and R output terminals, for performing the operation of
space="preserve" listing-type="equation">x+y=Q and rwhere x, y, Q and R are integers representing signals received at the x and y terminals and provided at the Q and R output terminals, and Q is a quotient and R is a remainder and, said first divider means having its x terminal connected to receive the index signals, and having its y terminal connected to receive the signal representing B; said second divider means having its x terminal connected to receive the index signals, and having its y terminal connected to receive the first signals; and means, operatively connected to the Q output terminals of said second divider means and to the R output terminal of said first divider means, for multiplying the signal representing B and for adding the result of this multiplication to the and the signals from the Q output terminal of said second divider means, signal from the R output terminal of said first divider means.
-
-
-
7. A method of accessing a constant stride vector addressed memory device that stores a vector having a starting address and a stride D in a number of memory locations that includes a number of interleaved memory banks (B) that are consecutively accessed and that have respective bank indexes, said method comprising the steps of:
-
(a) providing distance signals representing the stride D; (b) providing delta signals (c) representing a value c satisfying c.D=1(mod B); (c) generating index signals using the distance signals and the delta signals so that the index signals represent memory locations in consecutively addressed memory banks; and (d) generating address signals for the constant stride vector addressed memory device based on the index signals. - View Dependent Claims (8, 9, 10)
-
Specification