Recently, I have heard that AMD has released the new Vishera series of FX processors which run at 5 GHZ. My question is whether there is any upper bound of clock rate of a processor? That is can we keep increaing the clock rate for ever? What electrical problems will we face at higher clock rates?
EDIT: This question led to a long discussions. It is crucial to understand that the fact that CPUs speeds haven't been increasing over the last years is related to commercial aspects, and not directly related to any engineering or physical problem. You can check this link for the topmost frequencies achieved with existing CPUs by overclocking and supercooling.
From the invention of the first PC and until early 2000's the main parameter of each CPU was its frequency (maximal frequency of operation). Manufacturers tried to come up with new technologies which will allow for higher frequencies, and chip designers worked very hard to develop micro-architectures which will allow to the chip to run on a higher frequency.
However, as chips became smaller and faster, the problem of heat dissipation arose – when the whole amount of heat generated by switching transistors couldn't be dissipated, the chips got damaged. Engineers started to attach heat sinks to processors, then fans, but eventually they concluded that the approach of increasing CPU's frequency is no longer practical in terms of added performance per added cost.
In other words: CPU frequencies can be raised, but this makes CPUs (in fact, not the CPUs but the cooling mechanisms) too expensive. Consumers won't buy expensive computers if there is an alternative.
In general, current technological processes allow very high frequency operation (way above ~3GHz which Intel usually uses, and even AMD's 5GHz is not the ceiling). However, the associated cost of cooling devices which are required at these high frequencies is too high.
I'd like to emphasize this: there is no physical effect that prevents development of 8-10GHz processors with current technology. However, you'll have to provide a very expensive cooling mechanism in order to prevent such a processor from burning out.
Moreover, processors usually work in "burst" – they have very long idle periods, followed by short, but very intensive (and therefore high energy consuming) periods. Engineers could build a 10GHz processor that works at the highest frequencies for short periods of time (and no additional cooling is required because the periods are short), but this approach was also declined as worthless (high investments in development as compared to questionable gains). However, following future micro-architectural improvements, this approach may be reconsidered. It is my belief that this 5GHz AMD processor does not work constantly at 5GHz, but raises its internal clock to a maximum during short bursts.
PHYSICAL LIMIT: There is a physical limit to a maximal achievable clock rate for each process technology (which depends on technology's minimal feature size), however I think that the last Intel's processor which had been really pushed to this limit was Pentium 4. This means that today, when the technology advances and the minimal feature size is reduced (meanwhile in accordance with Moore's law), the only benefit from this reduction is that you can fit more logic into the same area (engineers no longer push CPU frequency to the limits of the technology).
BTW, the above limit can't increase forever. Read about Moore's law and the problems associated with its further application.
There are phyical limits.
The processor frequency is limited by:
- the speed of the electric current (for example in copper)
- the switching speed of the transistors
- the size of the processor
Let's say you have a multiplier and a register on the CPU. Some input variables are multiplied and then stored in the register.
The electrical signal needs time to travel through the signal lines and transistors.
If you increase the clock rate too much then the multiplication has not finished when the next cycle sets in. And you might want to use the result of the multiplication in the next instruction!
So if the CPU is smaller then you can put a higher frequency on it.