Abstract
Reviewing the last 45 years of computer design, I find that most of the performance-improvement advances in computer micro-architecture have been based on the exploitation of only two ideas: locality and pipelining. These two concepts will be discussed, thereby illustrating their primacy in performance enhancement.