
This tutorial introduces undergraduate students to computer architecture concepts of caches and pipelining . It contains examples, interactive applets and some problems with solutions to illustrate basic ideas. For more information on the topics the interested reader is referred to "Computer Architecture: A Quantitative Approach", second edition, by D.A.Patterson and J.L.Hennessy. The problems that have been solved have been taken from a number of sources but the solutions are novel and unique in the sense that emphasis has been placed not only on the answers but also on reasoning processes that will be useful in solving similar problems.
To be able to see and interact with java applets in this tutorial, please enable Java in your browser. If you work with Netscape browser, go to Edit/Preferences/Advanced and check the box "Enable Java".
Feedback consisting of comments and errors are welcome, and can be e-mailed to Gurpur Prabhu at prabhu@cs.iastate.edu.
Topics
Computer Performance
Principles and Levels
Common Questions
Pipelining
Classification of Instruction Sets
Addressing Modes
DLX architecture
Performance Issues in Pipelining
Pipeline Hazards
Dealing with Exceptions
Pipeline with Multicycle Operations
Instruction Level Parallelism