any people believe that according to Moore's law, you would expect a doubling of processing power about every 18 to 24 months. In truth, that rate is not what Moore's law promises, but it is how many developers perceive it. Developers have received this doubling of power for a long time. Overall, if that power increase were the promise of Moore's law, then it seems to be a promise that is being kept. Unfortunately, like when driving an automobile, speed is relative to what is happening around you and what you're able to do with it.
The rules have changed.
In the past, you could always gain a performance boost by simply buying a machine with a faster processor. If you were running an application on a 500 MHz machine, you could generally gain a performance boost by upgrading to a newer computer that would almost by default have a faster processor. If it had been 18 to 24 months, then you'd expect to see a 1 GHz machine. If you put the application on a machine with a faster processor, you'd immediately see better performance.
You could write applications that were not the most efficient, and not worry too much about it because the computer speeds were getting faster and they could take care of the issues. Just look at Microsoft Windows, which has continued to bulk up over the years. Each new edition required a faster processor to run effectively. However, what happens when the individual speed of a processor hits the ceiling? What happens when the speed of a processor can no longer go any higher? How many developers rely on the additional boosts from new computers? Do you rely on the additional boost?
Processor speeds have hit the wall with current technologies. The speed is nearly at the maximum that can be obtained, and we are virtually at the ceiling with current technology. Some additional speed will be tweaked and added, but overall it seems that using current processor technology, the maximum speed of a processor is just about upon us.
Think about it. How long have processor speeds been hovering around 3 to 4 GHz? You were able to get a 3 GHz machine four or five years ago, which means processors should be well above 10 GHz if the trends were to be holding true. It seems Moore's Law is failing. Or is it?
What do you do when you need to get more cars on a road that has only a single lane? You increase the speed at which the cars can drive. When the speed of the cars gets to be too dangerous, you can then add an additional lane. The second lane will allow you to get a lot more cars moving down the road. This same analogy applies to processors. If you are at the maximum speed, then there is the option to add a second lane. The speed limits may remain the same whether you are talking about roads or within processors; however, the overall performance has the potential to increase. With a road, you'll be able to get more cars traveling by using the extra lane. On a processor you should get more throughput using an extra lane.
There is another issue. Consider the car analogy. What if all roads were one lane? There would be no reason for the car to change lanesthe ability to change lanes might not even have been built into the cars. If everyone had cars that couldn't change lanes, then having multiple lanes wouldn't help because everyone would still be in the same original lane. The same is true for processors and applications. Just as a car needs the ability to change lanes to use a multiple-lane road, an application traveling to a processor with multiple cores would also need to know what to do.