Hi, everybody, Be sure to get updated simulator sample output from the web page. I made a minor fix to my simulator on Wednesday and the sample output changed as a result. There are a couple of inconsistencies that need to be corrected: The original template says this: * Update result register data structure with an execution * unit name for those instructions that write a register This isn't quite right. Since you only update the register file when you commit the instruction, this value should really hold the number of the reorder buffer entry that will commit the register vale. By doing this, you can free up the reservation station in the writingREsult phase even though you don't update the register file until the commit stage, when the value comes from the reorder buffer. --------- Here is another mistake. Originally, I wrote: * For ADDI, ANDI and LW instructions, set Rj=1 and Vj=0. But my code, which produces the sample output, actually sets Rk = 1 and Vk = 0. (i.e., use the k fields, not the j fields.) -------- Another minor clarification. The suggested function names I gave you listed the arguments to the checkReorder function as: checkReorder(statePtr, headRB, tailRB) Actually, you probably don't need to send a pointer to the machine state to find a free reorder buffer.