next up previous
Next: Grading Up: Miscellaneous Previous: Halting

Implementation Dependencies

There are a few implementation dependencies you will need to be aware of to match the reference output. First, if any instruction tries to write R0, instead of just ignoring the write, force the written value (EXMEM.aluResult or MEMWB.writeData) to 0 and send it through the pipeline like any other instruction. Second, propagate the value of readRegB from IDEX to EXMEM, even if it is not needed. Do not perform forwarding unless an instruction actually needs it. In other words, EXMEM.readRegB should be set to IDEX.readRegB unless the EXecuting instruction needs forwarding. For branches, set aluResult to the taken branch address whether or not the branch is actually taken. Lastly, for a HALT instruction, set aluResult to 0.



MM Hugue 2011-09-24