Take one thread and a body of code:
Example:Sequential Long Multiplication
RA=A
RB=B
RC=0
while(RA>0)
{
if odd(RA) RC=RC+RB;
RA = RA >> 1;
RB = RB << 1;
}
Each register has a multiplexor that ranges over all the places it is loaded from.
ALUs and RAMs also need to be instantiated and carefully schedulled.
| 18: (C) 2012-16, DJ Greaves, University of Cambridge, Computer Laboratory. |