Recently, there have been a set of commentators arguing that Moore's law is slowing down or even dying. I've been asked to weigh in on this by some friends in the investment community, so I'm going to jot down the situation as I see it.
First, a brief refresher on Moore's law. Contrary to popular belief, Moore's law doesn't address clock speeds or other outward trappings of CPU speed. Rather, Moore's law is simply an (exceedingly resilient) observation that the number of transistors that can be put on an integrated circuit (IC) grows at an exponential rate. Since transistors are the basic building blocks of digital circuits, this has meant more complexity for the microprocessors at the heart of modern CPU chips (more on this complexity in a moment). In practice, this has also meant that CPU performance increased exponentially as well.
This is all well and good, except that modern processor architectures that leverage this exponential growth have found themselves at a kink in the growth curve. Then can continue to put more transistors on an IC, but the increased density creates tons of heat. This heat makes it difficult to do useful things with these processors, like build laptops and servers that run at sub-atomic temperatures.
That said, engineers are still able to continue the relentless growth in transistor counts. And being the practical people they are (okay, the practical people the can be), they haven't lost sight of their true goal: increased performance. When a customer buys a computer, all he cares about is that he can get 30 frames per second in Doom 3. He doesn't know or care how many transistors it has or what frequency the chip runs at. Objective performance is the ultimate goal of processor improvement.
Which brings us back to complexity. Due to the nature of processor design, more complicated chips make less efficient use of the combination of transistors plus heat dissipation than simpler designs. So the simple answer is to simplify the processors. But since you still have the benefit of the shrinkage predicted by Moore, you have lots of chip space left over after you place the simpler processor on you chip. So what do you do with that extra real estate? Put in another processor. Or a few more, if you like. These mini-processors are called cores, because they still need some scaffolding to make them behave like software expects.
What will happen is that the basic architecture of the chips will change to allow for more simpler components on a single chip. So now you have Intel and AMD announcing dual-core chips. Sun is announcing a really slick 8-core processor chip, where each core can process four simultaneous streams of data. To your software, this monster will look like 32 CPUs, and I expect you'll see performance close to that neighborhood. (Note: I believe the fact that Sun is doing 8 core chips while Intel and AMD are doing dual-core chips is an artifact of the difference in the architectures of the two systems: SPARC on the one hand and x86 on the other. x86 is a more complicated architecture, so even a simplified x86 core needs more transistors than a single SPARC core.) The announcement by Sun is big; I can't wait to see how this thing performs on real applications.
So Moore's law survives, computers get faster, and video games will look more like The Incredibles. What's not to like?
Recent Comments