moreover, we could, in principle, write the results directly from
"memory" (data cache) to the ALU, since the "memory" (data cache)
read gives us the data as soon as the read is complete:
above as final example from last week, friday, 2 lectures ago, lecture8:
program to implement this example:
STA $200; save result
STD $203 re-arrangement to avoid data hazards.
LDE $204; avoid a data hazard stall
LDF $205; was exchanged with below to avoid data hazard stall
STA $200; was exchanged with below to avoid data hazard stall
; another instruction from further down in the code needs to go here
by scheduling the instructions, the compiler attempts to produce code for which there is one instruction per clock tick (per execution unit).