Multidimensional address generator and a system for controlling the generator
AssigneeMatsushita Electric Industrial Co., Ltd.
InventorsMasaki Toyokura, Kunitoshi Aono, Toshiyuki Araki
Life of this patent
Estimating the term…
Loading patent…
AssigneeMatsushita Electric Industrial Co., Ltd.
InventorsMasaki Toyokura, Kunitoshi Aono, Toshiyuki Araki
Estimating the term…
A multidimensional address generator for generating one-dimensional addresses respectively corresponding to P.sub.1 .times.P.sub.2 .times. . . . .times.P.sub.N data of a predetermined region of an N-dimensional entire data array (N is a positive integer larger than one) which has Q.sub.1 .times.Q.sub.2 .times. . . . .times.Q.sub.N data (P.sub.1, . . . and P.sub.N and Q.sub.1, . . . and Q.sub.N are positive integers and P.sub.1 .ltoreq.Q.sub.1, . . . and P.sub.N .ltoreq.Q.sub.N). The generator comprises a first to third multiplexers, an adder and a first to Nth accumulating registers. In the generator, the first multiplexer selects one of a first to Nth increments respectively corresponding to a first to Nth directions, in which data to successively be accessed are arranged. Further, the second multiplexer selects one of data stored in the first to Nth accumulating registers, and the third multiplexer selects between the start address and an output of the adder. Moreover, data selected by the first multiplexer is added by the adder to data selected by the second multiplexer, and data selected by the third multiplexer is inputted to the first to Nth accumulating registers. Furthermore, a start address is written to the first to Nth accumulating registers when the address generator is activated. Moreover, the first increment is added to the data held in the first accumulating register in each of Cycles 1 to (P.sub.1 -1) and . . . and Cycles (P.sub.N P.sub.N-1 . . . P.sub.2 -1)P.sub.1 +1 to (P.sub.N P.sub.N-1 . . . P.sub.2 P.sub.1 -1), the first increment is added to the data held in the first accumulating register, and a result is written thereto. Additionally, an nth increment (n=2, 3, . . . , N) is added to the data held in the nth accumulating register, and a result is written to the first to nth accumulating registers, every P.sub.n-1 P.sub.n-2 . . . P.sub.1 cycles during Cycles P.sub.n P.sub.n-1 P.sub.n-2 . . . P.sub.1 to (P.sub.n -1)P.sub.n-1 P.sub.n-2 . . . P.sub.1 and so on. The data finally obtained in the first accumulating register is outputted. Consequently, an operation of accessing a plurality of multidimensional data can be performed easily and quickly.
A multidimensional address generator for generating one-dimensional addresses of a memory, which respectively correspond to P.sub.1 .times.P.sub.2 .times. . . . .times.P.sub.n data of a predetermined region of an N-dimensional entire data array (N is a positive integer larger than one) having Q.sub.1 .times.Q.sub.2 .times. . . . .times.Q.sub.n data stored in the memory (P.sub.1, P.sub.2, . . . and P.sub.n and Q.sub.1, Q.sub.2 . . . and Q.sub.N are positive integers and P.sub.1 .ltoreq.Q.sub.1, P.sub.2 .ltoreq.Q.sub.2, . . . and P.sub.N .ltoreq.Q.sub.N), one-dimensional addresses being assigned to the Q.sub.1 .times.Q.sub.2 .times. . . . .times.Q.sub.n data, said multidimensional address generator generating the one-dimensional addresses respectively corresponding to the P.sub.1 .times.P.sub.2 .times. . . . .times.P.sub.N data in a sequence of cycles denominated Cycles 0 to (P.sub.N P.sub.N-1 . . . P.sub.2 P.sub.1 -1) of a cyclic access operation of accessing the P.sub.1 .times.P.sub.2 .times. . . . .times.P.sub.N data stored in the memory, which operation is performed by a processor, said multidimensional address generator comprising:
A control system for controlling a multidimensional address generator for generating one-dimensional addresses of a memory, which respectively correspond to P.sub.1 .times.P.sub.2 .times. . . . .times.P.sub.n data of a predetermined region of an N-dimensional entire data array (N is a positive integer larger than one) having Q.sub.1 .times.Q.sub.2 .times. . . . .times.Q.sub.n data stored in the memory (P.sub.1, P.sub.2, . . . and P.sub.n and Q.sub.1, Q.sub.2 . . . and Q.sub.N are positive integers and P.sub.1 .ltoreq.Q.sub.1, P.sub.2 .ltoreq.Q.sub.2, . . . and P.sub.N .ltoreq.Q.sub.N), one-dimensional addresses being assigned to the Q.sub.1 .times.Q.sub.2 .times. . . . .times.Q.sub.n data, said multidimensional address generator generating the one-dimensional addresses respectively corresponding to the P.sub.1 .times.P.sub.2 .times. . . . .times.P.sub.N data in a sequence of cycles denominated Cycles 0 to (P.sub.N P.sub.N-1 . . . P.sub.2 P.sub.1 -1) of a cyclic access operation of accessing the P.sub.1 .times.P.sub.2 .times. . . . .times.P.sub.N data stored in the memory, which operation is performed by a processor, said multidimensional address generator comprising:
A two-dimensional address generator for generating one-dimensional addresses of a memory, which respectively correspond to P.sub.1 .times.P.sub.2 data of a predetermined region of a two-dimensional entire data array having Q.sub.1 .times.Q.sub.2 data stored in the memory (P.sub.1, P.sub.2, Q.sub.1 and Q.sub.2 are positive integers and P.sub.1 .ltoreq.Q.sub.1 and P.sub.2 .ltoreq.Q.sub.2), one-dimensional addresses being assigned to the Q.sub.1 .times.Q.sub.2 data, said two-dimensional address generator generating the one-dimensional addresses respectively corresponding to the P.sub.1 .times.P.sub.2 data in a sequence of cycles denominated Cycles 0 to (P.sub.2 P.sub.1 -1) of a cyclic access operation of accessing the P.sub.1 .times.P.sub.2 data stored in the memory, which operation is performed by a processor, said two-dimensional address generator comprising:
A three-dimensional address generator for generating one-dimensional addresses of a memory, respectively corresponding to P.sub.1 .times.P.sub.2 .times.P.sub.3 data of a predetermined region of a three-dimensional entire data array which has Q.sub.1 .times.Q.sub.2 .times.Q.sub.3 data stored in the memory (P.sub.1, P.sub.2 and P.sub.3 and Q.sub.1, Q.sub.2 and Q.sub.3 are positive integers and P.sub.1 .ltoreq.Q.sub.1, P.sub.2 .ltoreq.Q.sub.2 and P.sub.3 .ltoreq.Q.sub.3), one-dimensional addresses being assigned to the Q.sub.1 .times.Q.sub.2 .times.Q.sub.3 data, said three-dimensional address generator generating the one-dimensional address respectively corresponding to the P.sub.1 .times.P.sub.2 .times.P.sub.3 data in a sequence of cycles denominated Cycles 0 to (P.sub.3 P.sub.2 P.sub.1 -1) of a cyclic access operation of accessing the P.sub.1 .times.P.sub.2 .times.P.sub.3 data stored in the memory, which operation is performed by a processor, said three-dimensional address generator comprising:
Dependencies are inferred from the claim text.