Professional Documents
Culture Documents
The RISC Revolution
The RISC Revolution
What Processors do
If we want to make a
processor go fast, we must first understand what it spends its time doing. It is possible to measure the frequency of use of the various different instructions. It is very important to obtain dynamic measurements, to measure the frequency of instructions that are
Instruction Execution
A processor executes an individual instruction in
a sequence of steps. A typical sequence might be: 1. Fetch the instruction from memory (fetch). 2. Decode it to see what sort of instruction it is (dec). 3. Access any operands that may be required from the register bank (reg). 4. Combine the operands to form the result or a memory address (ALU). 5. Access memory for a data operand, if necessary (mem).
Pipelining
To improve the utilization of the hardware
resources, and also the processor throughput, would be to start the next instruction before the current one has finished. This technique is called pipelining
Pipeline hazards
The result of instruction 1 is not available at the
time that instruction 2 collects its operands. Instruction 2 must therefore stall until the result is available. This is a read-after-write pipeline hazard.
branch is being decoded and before it has been recognized as a branch, so the fetched instructions may have to be discarded.