In the usual MIPS instruction set,swandlwcalculate the memory address by adding the immediate to a register. For example,sw$t0, 4($t1) stores the value in $t0 to the address $t1+4.
You could, however, designswandlwdifferently, such that they add 2 register values to determine the memory address, instead of using the immediate. For example,sw$t0, $t1($t2) would store the value in $t0 to the address $t1+$t2.
Describe in detail how you would change the MIPS single-cycle datapath to implement these new stores/loads. You can do this by
implementing the changes in Logisim to the simplified singleCycle.circ file I have provided. modifying the standard datapath diagram to show the new components/paths,AND
describing in words the new flow for stores/loads.
In either method, the datapath NO LONGER needs to implement the old style of stores/loads, but should still support the other instructions we have discussed (e.g. add, addi, beq, etc.). Be sure to consider any units (registers, MUX’s, etc.) you would need to add, or how you would use the existing pieces differently. Also, make clear any control values you would need to add/modify and how you would use them.