This is primarily a paper-driven course. You will be expected to read the papers before each class, turn in your paper summaries, and come prepared to participate in the discussion.

The schedule of papers and presentations will be posted on Piazza. The first couple classes will look like this:

April 2:

  1. Cramming More Components onto Integrated Circuits
  2. The History of the Microcomputer -- Invention and Evolution

April 9:

  1. Architecture of the IBM System/360
  2. Parallel Operation in the Control Data 6600
  3. The CRAY-1 Computer System

Topics covered will include:

  1. Historical Perspective
  2. Branch Prediction
  3. ILP and Speculation
  4. Multithreading
  5. Thread-level speculation
  6. Cache and Memory
  7. Prefetching
  8. Energy and Power
  9. Fault Tolerance
  10. Application-Specific Processors
  11. Spatial/grid processing
  12. GPU Architecture
  13. Temperature and Thermals