Midterm 2 Study Guide
Computer Arithmetic
- Be able to convert between decimal and half, single, double, and quad precision floating point values.
- Be able to perform addition, subtraction, division, and multiplication on floating point values.
- What is ULP? What is RNE?
Gates and Datapaths
- Why are reads performed on one clock edge, but writes on a different edge?
- What is the advantage/disadvantage of 1-bus versus 3-bus datapath design?
- What does the Branch Control Logic Unit do?
- What values are generated as a result of decoding an instruction?
- What do control signals do? Be able to determine which control signals to set given a RTN and a particular datapath implementation.
- Why does a load have the worst timing for a single-cycle datapath?
Pipelined Datapaths
- 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).
- How is a hardwired datapath implemented? How is a microcode datapath implemented?
- 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).
- What generates the controls for a multi-cycle datapath? For a pipelined datapath?
- What is a pipeline bubble? Why are they needed?
- Given a code sequence, be able to identify the data and control hazards (Lecture 15, slides 15 and 19).
- Why is data forwarding needed?
- How are control hazards mitigated?
- What does a branch predictor do?