This invention relates to a center focused single instruction multiple data (SIMD) array system.
Conventional SIMD arrays having a plurality of processing cells or elements (PEs) utilize a number of different approaches to move data among the elements to effect a variety of signal processing algorithms that need to make a global decision based on decisions made locally in each of the processing elements e.g., motion estimation-finding the best matching block (minimum-using the Sum of Absolute Difference (SAD) criteria) between all local candidates in a given search area, RAKE receiver-finger (each RAKE finger computes the correlation between the despreaded received code samples and the reference scrambling code samples) with the maximum correlation, maximum, minimum, and global thresholding. In one approach each element is connected to each of its neighboring elements in all four directions. This allows data to be moved in any direction and can culminate the processing at any element but requires significant power, bus structure, area, and cycle time to complete operations. One attempt to reduce the bus structures uses a unidirectional interconnection e.g. all PEs send left and receive right-or, send from up to down at any given cycle so that only half of the PE-to-PE interfaces are utilized at a time. In operation, for example, the data can be moved in each row, all the way to the right-most elements, then moved down that column of elements to a single element in the lower right corner. However, each row and column has an end around connection so that the bank of data can be moved so as to culminate at any particular focus, e.g., lower right, upper left this approach also supports a folded array in which the array of rows and columns of elements are folded over on a diagonal of the array permitting all of the elements, except those along the diagonal, to be combined in dual clusters thereby reducing by half the bus structures and overall area. All of these approaches require a large number of cycles, approximately the sum of the number of columns and rows, to complete the data movement. See the Elixent reconfigurable ALU array (RAA) at www.elixent.com. See also the XPP architecture at www.PACTCORP.com.
It is therefore an object of this invention to provide an improved center focussed single instruction multiple data (SIMD) array system.
It is a further object of this invention to provide such an improved cluster focussed single instruction multiple data (SIMD) array system which is smaller, requires less power, less space and less bus interconnection.
It is a further object of this invention to provide such an improved cluster focussed single instruction multiple data (SIMD) array system which can be folded not only once but twice to further reduce space, and bus interconnects.
It is a further object of this invention to provide such an improved cluster focussed single instruction multiple data (SIMD) array system which completes operations in nearly half the number of cycles.
It is a further object of this invention to provide such an improved cluster focussed single instruction multiple data (SIMD) array system which requires fewer instructions to carry out the operations.
The invention results from the realization that a simpler, smaller, faster SIMD array system can be effected with a plurality of processing elements arranged in rows and columns and having two mutually perpendicular axes of symmetry defining four quadrants by center focussing the completion of the operations using a sequencer circuit which moves the data in each element to the next adjacent element towards one axis of symmetry until the data is in the elements along said one axis of symmetry and then moving the data in said elements along the said one axis of symmetry to the next adjacent element towards the other axis of symmetry until the data is at the four central elements at the origin of said axes of symmetry.
This invention features a center focussed SIMD array system including an SIMD array having a plurality of processing elements arranged in a number of columns and rows and having two mutually perpendicular axes of symmetry defining four quadrants. There is a sequencer circuit for moving the data in each element to the next adjacent element towards one axis of symmetry until the data is in the elements along the one axis of symmetry and then moving the data in the elements along the one axis of symmetry to the next adjacent element towards the other axis of symmetry until the data is at the four central elements at the origin of the axes of symmetry.
In the preferred embodiment the four quadrants may include an equal number of the elements. The sequencer circuit may move the data from two of the central elements across a line of symmetry to the other two central elements. The sequencer circuit may move the data from one of the other two central elements to the other of the other two central elements. The array may be folded about one of the axes of symmetry and the elements may be combined in dual-element clusters with common bus interconnections. The array may be folded about both of the axes of symmetry and the elements may be combined in quad-element clusters with common bus interconnections. There may be an even number of one of the rows and columns. There may be an even number of the rows and columns.
Other objects, features and advantages will occur to those skilled in the art from the following description of a preferred embodiment and the accompanying drawings, in which:
There is shown in
In order to achieve certain economies in space and bus structure, prior art array 10,
While this approach does reduce by half the bus structure and the area, it still requires a substantial number of cycles, 2n−1, to complete the operation, where n is the number of processing elements in a row and a column. For example, in the device of
In accordance with this invention, array 200,
The arrows 322, 324, 326, and 328 indicate the general direction of the data flow in conformance with this example. However, this is not a necessary limitation of the invention. For example the first two cycles of operation can move the data toward axis 308 and the third and fourth could move it along axis 308 with the same result. Also, it should be understood that although the array is shown as a 6×6 element array, this is not a necessary limitation of the invention. This is for convenience of explanation only. The result with this center focused approach, according to this invention is that the number of cycles of operation is cut nearly in half. For any given array the number of operations to get it to completion is equal to the number of rows or columns in a square array. In this case where the array is once again a 6 row×6 column array, it takes only six cycles of operation to complete the operation as compared with the prior art device shown in
An added advantage of the doubly symmetrical center focused array 200 according to this invention is that is can be folded not just once, although it works well in that configuration, but twice, so that all four quadrants lay atop one another and form quadruple clusters as shown in
The center focused movement of the data is accomplished by a sequencer circuit 350,
Each of the processing elements in the array may be as simple as a simple arithmetic unit or may include more complex arithmetic units, registers, and memory, up to and including a complexity that essentially implements an entire digital signal processor. One particular example of a cell 400,
Although specific features of the invention are shown in some drawings and not in others, this is for convenience only as each feature may be combined with any or all of the other features in accordance with the invention. The words “including”, “comprising”, “having”, and “with” as used herein are to be interpreted broadly and comprehensively and are not limited to any physical interconnection. Moreover, any embodiments disclosed in the subject application are not to be taken as the only possible embodiments.
Other embodiments will occur to those skilled in the art and are within the following claims:
This application claims priority based on U.S. Provisional application Ser. No. 60/350,398, filed Jan. 21, 2002, U.S. patent application Ser. No. 10/090,941 filed Mar. 5, 2002, and U.S. patent application Ser. No. 10/141,567, entitled RECONFIGURABLE SINGLE INSTRUCTION MULTIPLE DATA ARRAY to Stein et al., filed May 8, 2002, now U.S. Pat. No. 6,865,661.
Number | Name | Date | Kind |
---|---|---|---|
3303477 | Voigt | Feb 1967 | A |
3805037 | Ellison | Apr 1974 | A |
4722050 | Lee et al. | Jan 1988 | A |
4847801 | Tong | Jul 1989 | A |
4852098 | Brechard et al. | Jul 1989 | A |
4855903 | Carleton et al. | Aug 1989 | A |
4918638 | Matsumoto et al. | Apr 1990 | A |
5095525 | Almgren et al. | Mar 1992 | A |
5182746 | Hurlbut et al. | Jan 1993 | A |
5214763 | Blaner et al. | May 1993 | A |
5379243 | Greenberger et al. | Jan 1995 | A |
5386523 | Crook et al. | Jan 1995 | A |
5446850 | Jeremiah et al. | Aug 1995 | A |
5577262 | Pechanek et al. | Nov 1996 | A |
5689452 | Cameron | Nov 1997 | A |
5708836 | Wilkinson et al. | Jan 1998 | A |
5742180 | DeHon et al. | Apr 1998 | A |
5752068 | Gilbert | May 1998 | A |
5832290 | Gostin et al. | Nov 1998 | A |
5859981 | Levin et al. | Jan 1999 | A |
5872988 | Duranton | Feb 1999 | A |
5937202 | Crosetto | Aug 1999 | A |
5996057 | Scales, III et al. | Nov 1999 | A |
6049815 | Lambert et al. | Apr 2000 | A |
6067609 | Meeker et al. | May 2000 | A |
6199086 | Dworkin et al. | Mar 2001 | B1 |
6199087 | Blake et al. | Mar 2001 | B1 |
6223320 | Dubey et al. | Apr 2001 | B1 |
6230179 | Dworkin et al. | May 2001 | B1 |
6246768 | Kim | Jun 2001 | B1 |
6317819 | Morton | Nov 2001 | B1 |
6349318 | Vanstone et al. | Feb 2002 | B1 |
6434662 | Greene et al. | Aug 2002 | B1 |
6581152 | Barry et al. | Jun 2003 | B1 |
6587864 | Stein et al. | Jul 2003 | B1 |
20020041685 | McLoone et al. | Apr 2002 | A1 |
20020147825 | Stein et al. | Oct 2002 | A1 |
20020174318 | Stuttard et al. | Nov 2002 | A1 |
20030103626 | Stein et al. | Jun 2003 | A1 |
20030105791 | Stein et al. | Jun 2003 | A1 |
20030110196 | Stein et al. | Jun 2003 | A1 |
20030115234 | Stein et al. | Jun 2003 | A1 |
20030133568 | Stein et al. | Jul 2003 | A1 |
20030140211 | Stein et al. | Jul 2003 | A1 |
20030140212 | Stein et al. | Jul 2003 | A1 |
20030149857 | Stein et al. | Aug 2003 | A1 |
Number | Date | Country |
---|---|---|
1 246 389 | Oct 2002 | EP |
Number | Date | Country | |
---|---|---|---|
20030140213 A1 | Jul 2003 | US |
Number | Date | Country | |
---|---|---|---|
60350398 | Jan 2002 | US |