Dean's World

Defending the liberal tradition in history, science, and philosophy.

More On Moore's Law

Moore's Law, often stated loosely (and somewhat inaccurately) is that computers double in power and halve in price about every 18 months. This is at best a "rule of thumb" definition that describes something much more complicated: that the price/performance ratio of technology has been on an exponential growth curve for some time now, and shows no sign of stopping.

If you apply the rule haphazardly, you would say that, for example, in 20 years or so you should be able to find computers running 30,257 gigahertz as opposed to the 3 gigahertz machines you can buy today. But as I noted in the comments to an earlier article on this topic, that exercise is more about imagination than reality, because "hertz" isn't a realistic estimate of computer speeds, and it's not the only part of performance anyway; it's just that running that sort of calculation gives you a "horseback guesstimate" of just how fast the growth curve in technology is.

In truth Moore's Law doesn't stick to the 18-month figure. Indeed, Moore himself originally gave a figure of 24 months, and that was purely about transister density on chips. But the "18 month" figure has come into general use mostly to describe a very loose rule of thumb about computer technology improvements in general.

Computer clock speeds are measured in "hertz," i.e. cycles per second. In 1985 I had a computer that used an 8-bit, 1 Megahertz microprocessor called the 6502. This is what the growth curve on clock speed has actually looked like over the last few decades, and where it's projected to go over the next 10 years or so:

clock speed growth

(I snitched that from Ray Kurzweil. See below.)

Yet today if I could scale that old 1 Mhz computer up to where it ran at 3 Gigahertz (anyone else out there want to imagine a 3 gigahertz Apple //e?), it would seem very slow to modern standards. The tasks the modern Pentium and Athlon chips can do running at the same 3 Gigahertz are much, much greater, due to many tricks that chip designers have created over the years: the ability to move larger amounts of data per cycle, to run multiple instructions in a single cycle, parallel processing, specialized types of processing using more advanced math, even anticipated processing, where the processor can usually correctly guess what calculations are needed before they're asked for. All of these are different measures of performance that can't be calculated in a simple "hertz" rating.

Most technological advances in computers have exponential growth curves over time. But disk storage increases at its own rate. Network bandwidth increases exponentially, but at a different rate. Prices decrease exponentially, but at their own rate. And so on. Due to short-term disruptions sometimes you see temporary hitches in the growth rate of all of these, but they've always so far broken past their limitations either by new breakthrough improvements (different materials for CPU chips, for example) or obsolescence (I doubt if my son will remember floppy disks).

Yet all these technologies--and a good many non-computer technologies, including biotechnology and nanotechnology--have been on exponential growth trends for some time now, and none of them show any sign of seriously stalling out.

I suggest that if you doubt it, I suggest you read Exponential Growth an Illusion?: Response to Ilkka Tuomi by Ray Kurzweil.

(By the way, the more I learn of Kurzweil's work, the less goofy he seems.)

Posted by Dean | Permalink | Technorati Trackbacks
triticale (mail) (www):
Back in the day, a 1 mHz 6502 could benchmark as fast as a 4mHz Z80 on any task small enough that all data moves were on the zero page. With its efficient memory-centered architecture has been called "the first reduced instruction set processor" and was in fact the philosophical ancestor of the ARM imbedded RISC chips.

There were also jokes about a proposed chip with an adder in the clock circuitry, so you could run som outragous 50mHz crystal and point to that number.
11.13.2005 3:18pm
TallDave (mail) (www):
It's not just Moore's law anymore. Overall productivity increases also appear to be accelerating, which in the end will be far more important if the trend continues.

This is a topic of some debate in economic circles. There is one school of thought that says those productivity improvements will fall to 1-2% a year now that the investment boom of the late 1990s is over. The other, Kurzweil-endorsed school, points to continously accelerating productivity over the last 100 years and says we'll not only see 3-5% annual productivity gains, but the rate of gain will actually continue to grow into the foreseeable future.
11.13.2005 5:02pm
Chris Harrison:
The 1 MHz 6502 executed the same number of instructions per second as a 4 MHz Z80 because the Z80 used 4 clock cycles to execute a single instruction. This was an unimportant design detail. The Z80, by the way, was a copy of the Intel 8080 with extra registers and instructions and a better bus architecture. The instruction differences between the two processors were not that important: none of the 8 bit processors had a lot of instructions. The 6502 certainly had a slightly more elegant instruction set but I found the Z80 instruction set to be more practical.

The biggest difference between the processors was actually in the peripheral chips: the Z80 had a nice interrupt architecture, which made it ideal for embedded applications. A couple of years ago, I was amazed to see a job advert for a Z8 programmer (a slightly more recent single chip version of the Z80)!
11.13.2005 5:12pm
Dean Esmay:
There are still jobs for 6502 programmers, too. They're used in a lot of industrial embedded applications. See 6502.org.

It shouldn't surprise. For certain industrial and testing applications, these chips are as useful today as they were 20 years ago. If we were to use a biological comparison, have higher organisms like humans displaced all the simpler organisms?
11.13.2005 5:55pm
triticale (mail) (www):
Actually, the Z8 and Z80 architecture and instruction sets aren't that all similar. The Z8 was designed expressly for embedded applications and used registers completely differently. It has been a while since I've written assembly code for both of them so I don't dare get too specific.
11.14.2005 12:49am
Bill Dooley:
> a 3 gigahertz Apple //e?)

Please, I don't yet need Depends, but you are coming close to making my loins watery.
11.14.2005 1:44am
Michael Kent (mail):
Yes, modern processors are more cycle efficient in many ways than the 6502. They have more bits, built-in math and graphics co-processors, and all of the other nifty features Dean mentioned.

But I have to think a 3 GHz Apple IIe would absolutely smoke any computer on the market today. To paraphrase the Verizon guy: It's the software.

My 2.4 MHz 16-bit 65C816 can run a fairly modern-looking GUI-based OS (GS/OS) and a multi-tasking Unix-like shell (GNO/ME) quite well. Give it a processor over a thousand times as fast, and there's no telling what it could do. But I'd bet any money that it'd blow Windows right out of the water.

Mike
11.14.2005 7:43pm