In 2001, the microprocessor is 30 years old. The first microprocessors were low-end, marginal computing engines. Today, microprocessors dominate the computing market and are the vehicle for most innovations in architecture.
These thirty years have seen remarkable progress in the techniques used to make fast microprocessors and in the resulting performance gains. This talk examines the major factors that have contributed to this performance growth, namely the exploitation of instruction-level parallelism and the use of sophisticated memory hierarchies. We assess the future challenges in maintaining this growth in processor performance. We show that diminishing returns in instruction level parallelism, in the memory hierarchy, and in power efficiency appear to lead to lower rates of performance improvement in the future. We show empirical evidence that the current approaches used by commercial microprocessors are unlikely to be able to avoid these limitations, and argue that more radical approaches will be needed in the not too distant future.