|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Register access: R-type |
|
|
|
|
|
|
|
|
|
|
|
|
|
Components |
|
|
|
|
Register file: 32
registers |
|
|
|
ALU: performs arithmetic/logical |
|
|
|
|
|
|
|
operations |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fig. 5.7 |
|
|
|
|
Register read |
|
|
|
|
|
Instruction gives
addresses of 2 read registers and 1 write register to register file |
|
|
2 data read values are
given by register file to inputs of ALU |
|
|
|
|
R-type operation |
|
|
|
|
|
|
|
|
3 ALU operation control
bits are used to determine what operation is required |
|
|
|
ALU result is returned to
write data input of register file |
|
|
|
|
|
ALU also has an output
called Zero (indicates whether result of operation equals 0) |
|
|
Note
that RegWrite control input is used to determine if result is written |
|
|
|
to the write register |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|