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.
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 operationstwo 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 studiedthe internal datapaths and the output register are larger to
maintain the precision of the intermediate results, as previously mentioned)
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.
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
RC Array North-South-East-West connectivity