Midterm 2 Study Guide

Computer Arithmetic

  1. Be able to convert between decimal and half, single, double, and quad precision floating point values.
  2. Be able to perform addition, subtraction, division, and multiplication on floating point values.
  3. What is ULP? What is RNE?

Gates and Datapaths

  1. Why are reads performed on one clock edge, but writes on a different edge?
  2. What is the advantage/disadvantage of 1-bus versus 3-bus datapath design?
  3. What does the Branch Control Logic Unit do?
  4. What values are generated as a result of decoding an instruction?
  5. What do control signals do? Be able to determine which control signals to set given a RTN and a particular datapath implementation.
  6. Why does a load have the worst timing for a single-cycle datapath?

Pipelined Datapaths

  1. Be able to examine a RTN and a datapath, to determine which controls are needed (Lecture 13, slide 9 and also Lecture 16, slide 15).
  2. How is a hardwired datapath implemented? How is a microcode datapath implemented?
  3. What is the motivation for a multi-cycle datapath? For a pipelined datapath? Be sure to understand how to calculate pipeline performance (Lecture 15, slide 10).
  4. What generates the controls for a multi-cycle datapath? For a pipelined datapath?
  5. What is a pipeline bubble? Why are they needed?
  6. Given a code sequence, be able to identify the data and control hazards (Lecture 15, slides 15 and 19).
  7. Why is data forwarding needed?
  8. How are control hazards mitigated?
  9. What does a branch predictor do?