In 1981 the original IBM PC was released. The CPU which powered the PC was an Intel 8088 running at 4.77MHz. That means the internal clock ticked 4.77 million times each second. Over the next 24 years the clock speeds of PCs rose consistently and rapidly.
For PC enthusiasts the old speeds are a trip down memory lane: 12MHz, 25MHz, 33MHz, 66MHz, 90MHz, 133MHz, 300MHz, 600MHz, 1.2GHz, 2.4GHz.
About 5 years ago this 24 year trend came to an end. In 2005 the fastest CPUs ran around 3GHz, 3 billion ticks per second. Today clocks are no faster, still around 3GHz. For the foreseeable future clock speeds will be around this speed, they are no longer progressing.
|Clock Speeds peaked in 2005|
What caused speeds to hit a wall? The answer in one word is heat. As integrated circuits were made smaller and smaller, the clock speeds could run faster. But faster clock speeds generated more heat. And as the nail in the coffin, smaller sized chips had less surface area to dissipate the heat. So manufacturers created faster and faster chips until one day they simply could not. Overheated chips have random errors, they don't work.
For those 24 years the increasing clock speeds were an exponential trend. People were predicting 10GHz speeds just prior to discovering 3GHz was actually the limit. This is a good example of how exponential trends can and do sometimes end suddenly. More on that later.
Clock speed isn’t a primary feature of a CPU. It’s similar to engine size in cars. For example the 2010 Ford Mustang has a 5.0L engine. All else being equal a bigger engine will yield better performance, but all is not always equal. A more advanced engine can outperform an older one of the same size. Same with MHz and CPUs, with ongoing effort newer CPUs continue to perform better despite having the same clock speed as older ones.
Interestingly Moore’s Law says nothing about clock speed or performance. Moore’s Law only says the number of transistors on a chip will double every two years, that’s it. Moore’s Law gives chip designers ever larger “transistor budgets” which they can spend however they think will best benefit performance.
When clock speeds were rising designers spent their transistor budget on ever more sophisticated ways to “keep up” with the new clock speeds. Each passing generation did not just have a faster clock, it was more clever and did more work with each tick. Once clock speeds stopped rising, chip designers no longer needed spend transistors on clock speed increases.
|Intel Core i7 CPU|
In order to find productive uses for all the new transistors designers began adding multiple cores. A core is portion of silicon which implements the “core functions” of the CPU. So a multi-core system is one with multiple mini-CPU’s inside the full CPU. Each core can be executing a separate program or a separate thread of a program at the same time. The chip can do several things at once.
The big catch is that software must be specifically written or modified to take advantage of multiple cores. With 4 and 6 core systems out there software is just starting to use multiple cores. As the number of cores in chips increases, the penalty for not have multi-core software will increase. Suppose you had a 1000 core chip, a naive program could only use 1/1000th of the chip, while more advanced software could use the whole thing.
Let’s take a step back and consider a hypothetical world where a form of Moore’s Law existed for constructing buildings. The law would state that every two years the size building you could “inexpensively” build would double. Now suppose for the first 24 years the industry spends their construction budget building higher and higher buildings. At one point pundits would predict we’ll soon have buildings 10 miles high.
Instead everyone finds that out due to air resistance and the properties of concrete and steel no building can in fact be higher than 300 stories. So now what would the construction industry do? The only thing they can do: build out. They would create clusters of 2 then 4 then 6 office towers, all about 300 stories tall.
This is where we are today, we have just started to build out. We have just turned the corner from faster clocks speeds to more cores. What lies down this street? Certainly more cores, but how many? Where will it end?
The "clock speed wall" has actually been a good lesson for us all that real Physical limits are out there, that technology trends can be long running yet finite. Moore's Law itself is next on the chopping block. Some predict it will end by 2020 while other see possible extensions though increasingly clever means. Eventually Physics will win. When engineers can no longer double the number of transistors on a chip, designers will have to make due with fixed transistor budgets just like today they make due with fixed clock speeds.
If we are lucky at that point some futuristic technology will be ready for the spotlight. The new technology will not have the same limits which integrated circuits have. Maybe we will we will once again get to build up as well as out. I look forward to finally getting those 10 mile high buildings.