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