8 Great Ideas in Computer Architecture

Page 33 of the pdf.

  • Design for Moore’s Law
  • Use Abstraction to simplify design
  • Make the common case fast
  • Performance via Parallelism (think about things running in parallel)
  • Performance via Pipelining (think about things quickly running one after the other)
  • Performance via Prediction (Hardware)
    • It can be faster on average to guess and start working rather than wait until you know for sure, assuming that the mechanism to recover from a misprediction is not too expensive and your prediction is relatively accurate.
    • Caching is probably the most important example of this
  • Hierarchy of memories Memory Hierarchy
  • Dependability via Redundancy