Data Path by Instruction Type

In order to break up the datapath design into stages and to ensure that removing non-core instructions will not require redesigning the datapath, we chose to design the datapath separately for each instruction type and each cycle, and add the control (such as multiplexors) afterwards.

Type Instruction Fetch Instruction Decode Execution Memory Access Completion Cycles
R-type pdf pdf pdf pdf 4
I-type pdf pdf 4
lui pdf 3
sll pdf 3
srl pdf 3
lw pdf pdf pdf 5
sw pdf 4
lwra pdf 4
swra pdf 4
Branch pdf 3
j pdf 3
jal pdf 3
jr pdf 3
jm pdf pdf 4
mtm pdf pdf pdf 5
mtmz pdf pdf 4
swap pdf pdf 4
copy pdf 3