Final Exam Topic List

The final exam is comprehensive, but with an emphasis on the material we've covered since the midterm exam. The midterm covered MIPS programming, performance calculations, and numeric representations. The material covered since that point includes:
  1. Logic gates
  2. Boolean formulas and Truth Tables
  3. Truth tables --> circuits
  4. ALU design and implementation
  5. Registers
  6. Complete, basic processor design
  7. Pipelining
  8. Caches (principles, designs, performance)
You should be prepared to convert between truth tables, Boolean formulas, and circuits. I expect you to understand the design of the ALU (both what's going on in the individual one-bit cells and the full 32-bit ALU), as well as the complete, basic processor (Figure 4.17). Identifying and resolving pipelining hazards via NOPs and/or forwarding is fair game. I wouldn't feel bad asking you about cache designs either — how many bits of an address go to tag, index, and offset for various layouts, cache performance calculations, etc. I'd expect you to be able to say something intelligent about the "power wall" and the shift to multicore processor designs as well.