Homework Assignment 10 -- CS429 Fall 2013

Due Date: 6 Nov 2013

Assume we have a functional unit that can do one operation every 100 nanoseconds.

  1. For the base system,
    1. What is its latency?
    2. What is its thruput?

  2. If we then break it into 5 stages; each stage takes 20 nanoseconds, plus 5 nanoseconds to latch the registers between stages, and we can run it as a 5 stage pipeline.
    1. What is its latency?
    2. What is its maximum thruput?
    3. What is its actual thruput, if we always and only have 3 operations that we can pipeline at one time. (So 3 operations, then flush the pipe; then 3 more, then flush the pipe)?

  3. Suppose we have the same 5 stage pipeline, but we have a dependency between stage 4 and stage 2, so that an input for stage 2 for operation i+1 is the output of stage 4 for operation i.
    1. What is its latency?
    2. What is its maximum thruput?