Most people will have heard of Moore's Law, that the number of transistors in microprocessors doubles every two years. For example, in 1970, Intel's original microprocessor, the 4004, had a few thousand transistors. Today, state of the art processors have on the order of half a billion transistors. While these statistics are certainly very interesting, there are some other laws regarding the development of semiconductor technology that most people are probably not so familiar with.
The semiconductor fabrication facilities where our Pentiums, Athlons and PowerPC's are maufactured are, as you can probably imagine, not especially cheap. In fact, the cost of fabrication plants is increasing exponentially, much like Moore's Law for the number of transistors on a chip. In 1970 it cost about $6 million to build a state of the art fabrication plant, today it costs a few billion, and by 2010 it is estimated to be on the order of $18 billion. That's a lot of money for just one fabrication plant. Even today, the costs are so extreme that very few companies have the capital to build such plants. I won't try and predict what implications this will have for the future of semiconductor technology, but it's certainly an amazing, if not alarming, trend.
Manufacturing transitors, however, is just one half of the process. The other half is actually designing the circuits that go onto chips such that all of those hundreds of millions of transistors do something useful. To do this, today's digital systems designers employ very high-tech software which automates most of the development cycle. The capacity of these tools to design large integrated circuits is also increasing exponentially. By this I mean the number of transistors which they can design into a circuit. Despite growing exponentially, however, the capacity of software tools is growing at a smaller exponential rate than the number of transistors that fit onto a chip. In other words, software design tools are not keeping up with what the fabrication plants are capable of. What this means is that although we have an enormous capacity for squeezing transistors onto chips, we keep falling further and further behind in trying to design useful circuits that fully make use of so many transistors. Fortunately that's not the end of the story. Instead of putting transistors to waste, systems designers are overcoming this problem by changing their design paradigms. For example, we are beginning to see the emergence of multi-core microprocessors, which means that the designer puts multiple smaller microprocessors into a 'chip' rather than designing a single larger one. By doing this, the designer isn't as limited by software and can still make full use of the available transistors. Trends like this are likely to represent the future of microprocessors and it probably won't be long before all of our PC's have many processor cores under the hood.