Pipelining is used to increase throughput by overlapping instructions. Each inst
ID: 3681386 • Letter: P
Question
Pipelining is used to increase throughput by overlapping instructions. Each instruction is represented by different segments. Each segment takes one machine cycle. Consider the un-pipelined processor with the following parameters: 1 cycle is 1 nsec. One instruction takes 3 cycles if it’s an ALU operation, 4 cycles if it’s a branch operation, and 5 cycles if it’s a memory operation. Assume the relative frequencies of these operations are 30%, 30%, 40%, respectively. Find the average instruction execution time for this unpipelined processor. Assuming a pipelined processor with a cycle of 1.3 nsec, which processor is faster and by how much? What is the speed up ratio?
Explanation / Answer
The average instruction execution time (unpipelined processor)
= 1 ns × ((30% × 3)+(30% × 4)+(40% × 5))
= 1 ns × (.9 + 1.2 + 2)
= 1 ns × 4.1 ns
= 4.1 ns
It is specified that, a pipelined processor with a cycle of 1.3 nsec
The pipelined processor is faster than un-pipelined processor for (4.1 - 1.3) ns. i.e. 2.8 ns
Speed up ratio = 4.1 ns / 1.3 ns = 3.15 n sec