These are topics I expect you to understand even if I do not cover
them in class. Of course, I encourage you to read the rest of the
chapter for your own enlightenment.
1.1 and 1.3. What have been the major trends affecting microprocessor performance and design in recent years?
1.1. What are the major differences between microprocessor design goals for desktop, server, and embedded systems?
1.5. Define “execution time”, “performance”, “throughput”, “speedup”.
1.5. What are the criteria for sound reporting of experimental results?
1.5. Understand how and when to use (and not use) the unweighted arithmetic, weighted arithmetic, and geometric means. Be able to work an example like those based on Figure 1.16.
1.6. Know and understand the basic principles that guide computer design (make the common case fast, etc.)
1.6. Understand how to use Amdahl’s Law. Be able to work examples like those in Sec. 1.6.
1.6. Understand how to use the CPU Performance Equation in its various forms.
1.7. Understand pipelining, pipeline registers, control and data dependence, different types of hazards and their detection, interlocking, forwarding, why RISC instructions make pipelining easier, be able to compute the speedup from pipelining, understand basic branch-handling techniques. Know how to use pipeline diagrams like Figs. 1.17, 1.18, 1.19.
1.8. Understand each of the fallacies/pitfalls in Sec. 1.8.