While computers have changed a lot in the last 20 years, we still use clock speed (MHZ or GHZ) as the primary metric for describing speed. Unfortunately, the manufacturers don’t make it easy. First AMD and then Intel switched away from labeling their processors by clock. Thus if you purchase a new machine today, the processor is likely to be a ‘Core i3 2100′ or a ‘Phenom X4 2200′. The numbers that they use after the processor type aren’t the clock speed, rather, they’re some sort of internally-designated model number.
Of course even in the early days, processor speed correlated only loosely to actual performance. Most computing tasks were limited by disk speed, memory speed or user input. Moreover, processor architecture made and makes a major difference. Intel’s ‘Prescott’ Pentium 4 design reached 3.8GHZ almost 5 years ago, while most of today’s machines have a nominal clock speed of 2.5-3.0GHZ. Yet even for simple tasks, today’s machine are considerably faster, as Intel and AMD have made their designs more efficient.
Multi-core processors are the current vogue. Due to thermal constraints, the traditional doubling of processor clock speeds every 18 months is a thing of the past. So manufacturers have taken the approach of bundling 2, 4 and now 6 ‘cores’ on a single package. The upside is that for tasks that can be parallelized, the performance gains are enormous (potentially 6x). The downside is that many (most?) tasks don’t parallelize well, so a lot of that additional processing power is going to sit idle.
One other clever approach Intel and AMD have taken is dynamic clock-scaling. For a long while, processors in laptop computers have had the ability to slow themselves down in order to maximize battery life, particularly when the processor isn’t very busy. With various ‘boost’ modes, today’s processors are doing the opposite – increasing the clock speed during periods of heavy load in order to increase performance. They can get away with this by essentially disabling other cores which aren doing anything.
My Macbook Air for example has an Intel Core i5 that nominally is 2 cores running at 1.7GHZ. In fact, much of the time it essentially just 1 core in operation, and consequently runs at 2.7GHZ. Since most of my tasks run on only 1 processor, it’s a beneficial tradeoff. Moreover, Intel has actually designed it so that for short periods, the processor will exceed its official speed rating even when both cores are active (until the temperature reaches a certain threshold).
The chart of clock speed vs. time is probably going to be even less meaningful in the future, but it is more than a little amazing to remember that my first machine, less than 20 years ago, ran at only 20MHZ.
In any case, if you’re interested in finding out the actual clock speed that the processor is running at, there’s a program in Larry McVoy’s LMBench benchmark suite that can compute it (with the caveat that the program itself induces load, which can affect the clock). The suite is fairly large and has a number of pieces, so I extracted the mhz program and disentangled the code from its dependencies..
mhz.tar.gz – C source, Windows/Mac/Linux x86 binary.