Register access: R-type | ||||||||||||||
![]() |
||||||||||||||
Components | ||||||||||||||
Register file: 32 registers | Fig. 5.6 | |||||||||||||
Inputs | ||||||||||||||
2 read register numbers (5 bits each) | ||||||||||||||
1 write register number (5 bits) | ||||||||||||||
write data (32 bits) | ||||||||||||||
Outputs: 2 read data values (32 bits each) | ||||||||||||||
Control: RegWrite determines whether to write data to target register (1 bit) | ||||||||||||||
ALU: performs arithmetic/logical operations | ||||||||||||||
Inputs: 2 data values (32 bits each) | ||||||||||||||
Outputs | ||||||||||||||
Result of operation (32 bits) | ||||||||||||||
Zero: result is equal to 0 (1 bit) | ||||||||||||||
Control: ALU control selects operation (3 bits) | ||||||||||||||