In a Sequential Stage System

Suppose propagation delays are:

  • 300 picoseconds (ps) for the combinational logic
  • 20 ps for the register

The latency is the time between the start and end of execution of an instruction

In this case: (300 + 20) ps = 320 ps

Minimum clock cycle time: 320 ps

  • Maximum clock frequency =

The throughput is the number of instructions executed per unit of time in steady state

  • (IPS is instructions per second)

We can do better than this is (how?)

  • We have two metrics for performance: latency and throughput
  • We physically can’t decrease the latency of a system without changing it. So what can we do? Increase throughput

Though it feels counterintuitive, we need to have a way to increase throughput. Right now, when an instruction moves through the stages of processing, we have the issue of previous stages being idle. Essentially, we’re wasting time.

Enter pipelining.