You are on page 1of 7

The RISC Revolution

G.Sathish Kumar, AP/ECE Kalaingar Karunanidhi Institute of Technology

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

Typical dynamic instruction usage.

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

Pipelined instruction execution

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.

Read-after-write pipeline hazard

Cont. Pipeline hazards


Subsequent fetches will be taking place while the

branch is being decoded and before it has been recognized as a branch, so the fetched instructions may have to be discarded.

Pipelined branch behavior

You might also like