What is Moore’s law?
Gordon Moore, who was the CEO of Intel, stated in a paper in 1965 that the number of components per integrated circuit will double itself every roughly 2 years. This prediction was shown to be surprisingly accurate over the next 50 years. Some people would say that that the mere prediction by Moore is what drove the giant semiconductor producers to follow this rate of growth. And indeed, when I was a child, every personal computer we purchased (around every 2 years or so) seemed to be twice as faster for the same price. This was a direct result of CPU clock speeds going higher and higher.
This is superficially explained by a main single argument. If transistors become smaller, their power density gets smaller and so, the power consumption stays proportional to the chip area. This rule is also called “Dennard scaling” (coined by Robert H. Dennard from IBM in 1974). But in what way more transistors can help a CPU compute faster?
CPUs can utilize more transistors in order to increase their computation speeds. Without diving into microprocessors architecture, a CPU is constantly trying to overcome the memory latency bottleneck by pipelining. This means that the CPU is trying to guess what will be the next few instructions it will need to execute, fetch it from RAM and execute it before time. This technique is also called out-of-order execution. Another way is to use several layers of cache in front of the main memory. CPU designers also try to add special-purpose computation units specializing in the acceleration of common computing tasks such as arithmetic units, video rendering, compression, encryption, etc. Those techniques require many more transistors in order to implement them. For years, as transistors became smaller and cheaper, and as CPU clock speeds became higher every year, throwing more transistors at the problem was a viable solution.
This also made the life of programmers easy! A single-threaded code just ran faster and faster every year without any modification.
The free lunch is over
But lately, things have started to accelerate slower. When we buy a new laptop these days (or cellular phone), it is not twice as fast as the model we had before it. It might feel faster, but clock speeds have stopped rising long ago. What we are actually getting in our new computers are more cores and usually slower (lower clocks rates) ones. Why?
When transistors became small as around 10 nanometers, the channels of current between the ends of the transistors became also smaller. This results in that the transistor is “leaking current” and this makes it hotter. With billions of transistors on a single chip, power consumption and heat become a real problem. Just think of the cooling energy wasted in datacenters just to keep the servers from overheating.
Another reason is just cost. Any generation of new CPU is just more expensive to develop. Research, manufacturing process and testing all get more costly.
Finally, CPU manufactures RnD centers do not operate in a vacuum. Modern applications are the main driver of the recent development directions. A strong emphasis is now put on using lower power. Lower power means longer battery life and less heat produced. This is true both for data centers and for your phones.