Moore's law continues to apply and component density on chips is still going up. CPUs are not getting much faster, though.

The reason that CPUs increased in speed over recent years was that greater component density meant that CPUs got smaller and smaller. As a result, the time it would take for an electrical signal to cross from one side of the CPU to the other went down. As the CPUs got smaller, the number of signals per second the CPU could handle went up - this being the Hz of the CPU.

As the Hz of a CPU goes up, so does the amount of power consumed by the CPU. So, we have CPUs getting smaller and smaller, and consuming more and more power. As a result CPUs have been getting hotter and hotter because all that power is being squeezed into a shrinking space. It used to be that processor chips would work quite happily with a simple veined metal heat sink. Now they need a huge heat sink and a fan with the power (and noise, it seems) of a jet engine!

So, computers can't get significantly faster by simply having their CPUs get endlessly smaller and faster. But as component density goes up (Moore's law), it would be good to get a faster computer out of the situation somehow.

If you look at a picture of a processor chip, it is clear that the CPU only takes up a relatively small area. This is the area that's getting hot because it is the area doing most of the work. All the rest of the space is taken up with things like memory (often called "cache" when it's on a processor chip) which is relatively cool. So, one of the things that can be done with the extra space made available by increasing component density is to put more memory on the chip - bigger caches.

Having a bigger cache can make some kinds of software run faster, but it does not give the the kind of boost that doubling the CPU Hz used to do. So, what else could we do with the space on the chip?

Add a second CPU! Instead of having one CPU per processor chip we could have two (or four, or eight)! Such a chip is called multi-core. Each CPU would be a separate hot-spot on the chip, so the heat load would be spread out and easier to deal with. At a stroke we have increased the processing capacity of the chip by 2 (or 4, or 8 ...).

Sadly, although there is increased processing capacity in multi-core chips and multi-chip packages, taking advantage of it is not so easy. A great deal of software is written in such a way that it will only use one CPU, even if there are others available.

Imagine your home PC in a few years time with 10,000 CPUs on it, but only one of them being used at a time.

The situation is improving as software is increasingly being written to take advantage of as many CPUs as possible.

So, in summary: Moore's law still applies. CPUs will not gain speed anywhere near as much as they have in the past, but there will start to be many CPUs on a chip, and many chips on a package. The biggest problem will be getting software that can take advantage of the swarms of CPUs we will soon have at our disposal.