Pipelining instructions: Chapter 4 of B&H srcA, srcB, valE, and valM are intermediate registers, used by the hardware. (There are other registers, too, but these are the most important.) PC holds the address of the "next" instruction. The 5-Stage B&H Instruction Pipeline: Fetch: Using the program counter (PC), get the next instruction. Decode: Determine what instruction (add, mov, etc.) this is and put the operands into registers srcA and srcB. Execute: Using the operands srcA and srcB and the opcode, determine the result valE and condition codes (SF, LF, etc.). The result of a jump is computed here, too, and is used to change the PC if necessary. Memory: Read from memory (into valM) or write to memory if necessary, depending on the opcode and the result in valE. Writeback: Put valE or valM into a register (%eax, %ebx, etc.).