processors, with each multiprocessor consisting of eight RCs (it could be a 64 processor); the connections between processors have been designed to allow fast, efficient transmission of data.

Figure5.GIF (2653 bytes)
Figure 5
RC internal structure

The internal structure of an RC is shown in Figure 5.  Each RC is capable of normal arithmetic (i.e. ADD, SUBTRACT), logic (i.e. AND, XOR, SHIFT, SET_ IF_EQUAL, etc.), multiply, and multiply-accumulate operations.  The input and output data bus is 8 bits wide, but internally, the bus is widened to 16 bits to obtain higher precision in the final result (the RC Array takes several instructions to produce the final result, and the internal datapaths are 16-bit to save intermediate results with 16-bit precision; the output register is 32 bits to save the output of multiply and multiply-accumulate operations­two 16-bit operands produce a maximum of 32 bits from a multiply).  Only the lower 8 bits of the output register are taken to be the final results which are written out on the data bus (the upper 24 bits are discarded because only the lower 8 bits provide the precision necessary for the applications studied­the internal datapaths and the output register are larger to maintain the precision of the intermediate results, as previously mentioned)

Figure6.GIF (20923 bytes)
Figure 6
RC Array data and context buses

 

Figure 6 shows the data and context buses.  Data is broadcast to either an entire row or an entire column, and supply both the IA and IB inputs for each RC. Contexts are saved in the Context Memory, which is a 16x16 array of 32-bit registers.  With that size, the Context Memory can store up to 16 different configurations for each of the eight rows and each of the eight columns.  The context formats are shown in Figure 7.

Figure7.GIF (5693 bytes)
Figure 7
RC Array Context Formats

For purposes of visualizing the connectivity among RCs, the RC Array has been divided into four quadrants (each quadrant is a 4x4 array of RCs).  The various internal connections between the RCs are shown in Figures 8 through 13.  The first type of connectivity is North-South-East- West, where each RC is connected to its nearest four neighbors (Figure 8).  The second type is connectivity within a quadrant.  Each RC is fully connected to every other RC in the same quadrant row

Figure8.GIF (16728 bytes)
Figure 8
RC Array North-South-East-West connectivity

back.gif (287 bytes) back.gif (221 bytes)


Page 4

 

U-Tee Cheah - The MorphoSys Project: Dynamically Configurable... [1] [2] [3] [4] [5] [6] [7]