Since the release of the world's first single-chip microprocessor, the Intel 4004, microprocessor performance has increased by a factor of roughly 4 million. Transistor counts have grown from the low thousands to billions, we've seen processors move from speeds in the Kilohertz to the Gigahertz range, and today, even low-end microprocessors boast multiple processor cores per die. But where did these incredible gains come from? Were they mainly a product of Moore's law, or did new architectures drive the performance gains we've seen?
Questions like these can be topics of hot debate in the computer architecture world, and can really only be answered by looking at the specifications of historical microprocessors. At the same time, computer architects often use historical processor data to highlight trends in design, and to demonstrate the need for a change in design. The figure to the right shows an example of this: Intel used historical data on their processor designs to show that processor designers would be unable to trade power for better performance past a certain point.
Despite the usefulness of processor specification data, my research group was unable to find a comprehensive, well sourced, peer-reviewed database of historical processor specifications. Instead, many people either relied on data they collected themselves, or on spreadsheets of gathered data passed around between research groups.
The idea behind the CPU DB project is to make a single, verifiable database of processor components that could be used by industry and academia. We started with processor data that the Stanford VLSI research group had been collecting over the past 30 years. We then searched through datasheets and other sources to find physical specifications and architectural information on roughly 800 different processors, recording the source for each set of information. Finally, we put all the data together into a comprehensive database at cpudb.stanford.edu. To ensure that the data and some sample analyses it could be used for were advertised to the community, we published a paper on the database in ACM Queue (reprinted in CACM). The paper can be found here: http://queue.acm.org/detail.cfm?id=2181798.
Reflections and Lessons Learned