# What limits CPU speed?

I've recently talked with a friend about LaTeX compilation. LaTeX can use only one core to compile. So for the speed of LaTeX compiliation, the clock speed of the CPU is most important (see Tips for choosing hardware for best LaTeX compile performance)

Out of curiosity, I've looked for CPUs with the highest clock speeds. I think it was Intel Xeon X5698 with 4.4 GHz (source) which had the highest clock speed.

But this question is not about CPUs that get sold. I would like to know how fast it can get if you don't care about the price.

So one question is: Is there a physical limit to CPU speed? How high is it?

And the other question is: What is the highest CPU speed reached so far?

I've always thought that CPU speed was limited because cooling (so heat) gets so difficult. But my friend doubts that this is the reason (when you don't have to use traditional / cheap cooling systems, e.g. in a scientific experiment).

In [2] I've read that transmission delays cause another limitation in CPU speed. However, they don't mention how fast it can get.

## What I've found

I am a computer science student. I know something about the CPU, but not too much. And even less about the physics that might be important for this question. So please keep that in mind for your answers, if it's possible.

-
Your question is a nice one, expect some very good and educated answers. My two cents: the implication "it runs off one core only"->"clock is most important" is not true. –  Vladimir Cravero Jul 20 '14 at 15:47
The current record for an overclocked CPU is the AMD Bulldozer, running at 8.4 GHz. It was cooled using liquid nitrogen. –  tcrosley Jul 20 '14 at 16:30
Single-thread performance is not directly proportional to clock speed; the relationship is more complex. This may be partially masked by the similarity of recent Intel x86 microarchitectures with microarchitectural improvements compensating for some of the costs in increasing frequency. –  Paul A. Clayton Jul 20 '14 at 19:43
I suggest comparing a 2004 2GHz processor against a 2014 2GHz processor; you'll find that that they're not in the same ballpark even on single-threaded tasks, and even when both implement the same instruction set -- the CISC instructions they're fed are one thing, but the microoperations these are broken down into are quite another. –  Charles Duffy Jul 21 '14 at 0:53
@tcrosley - That 8.4 Ghz link you pointed to was actually using liquid helium. –  Connor Wolf Dec 28 '14 at 22:53

Practically, what limits CPU speed is both the heat generated and the gate delays, but usually, the heat becomes a far greater issue before the latter kicks in.

Recent processors are manufactured using CMOS technology. Every time there is a clock cycle, power is dissipated. Therefore, higher processor speeds means more heat dissipation.

http://en.wikipedia.org/wiki/CMOS

Here are some figures:

Core i7-860   (45 nm)        2.8 GHz     95 W
Core i7-965   (45 nm)        3.2 GHz    130 W
Core i7-3970X (32 nm)        3.5 GHz    150 W


You can really see how the CPU transition power increases (exponentially!).

Also, there are some quantum effects which kick in as the size of transistors shrink. At nanometer levels, transistor gates actually become "leaky".

http://computer.howstuffworks.com/small-cpu2.htm

I won't get into how this technology works here, but I'm sure you can use Google to look up these topics.

Okay, now, for the transmission delays.

Each "wire" inside the CPU acts as a small capacitor. Also, the base of the transistor or the gate of the MOSFET act as small capacitors. In order to change the voltage on a connection, you must either charge the wire or remove the charge. As transistors shrink, it becomes more difficult to do that. This is why SRAM needs amplification transistors, because the actually memory array transistors are so small and weak.

In typical IC designs, where density is very important, the bit-cells have very small transistors. Additionally, they are typically built into large arrays, which have very large bit-line capacitances. This results in a very slow (relatively) discharge of the bit-line by the bit-cell.

Basically, the point is that it is harder for small transistors have to drive the interconnects.

Also, there are gate delays. Modern CPUs have more than ten pipeline stages, perhaps up to twenty.

Performance Issues in Pipelining

There are also inductive effects. At microwave frequencies, they become quite significant. You can look up crosstalk and that kind of stuff.

Now, even if you do manage to get a 3265810 THz processor working, another practical limit is how fast the rest of the system can support it. You either must have RAM, storage, glue logic, and other interconnects that perform just as fast, or you need a immense cache.

Hope this helps.

-
You might want to include a link to this discussion for nice references about how clock speed and power consumption relate: physics.stackexchange.com/questions/34766/… –  Emiswelt Jul 20 '14 at 18:35
Noted. Thanks, I'll do that. –  fuzzyhair2 Jul 20 '14 at 18:41
There's also the speed of electricity to consider when talking about transmission delays en.wikipedia.org/wiki/Speed_of_electricity –  ryantm Jul 20 '14 at 18:53
Good point, however, one of the major difficulties in CPU design is the interconnects. A physically large chip may be possible, but remember that these are functioning in the gigahertz range. You want to keep the wires short. –  fuzzyhair2 Jul 24 '14 at 13:03
Since the question is theorical, it can be added that other semiconductors, such as Gallium arsenide, allow for higher frequencies. –  Iacopo Jul 30 '14 at 19:16

The heat issue is well covered by fuzzyhair. To summarize the transmission delays, consider this: The time needed for an electrical signal to cross the motherboard is now more than one clock cycle of a modern CPU. So making faster CPUs isn't going to accomplish much.

A super-fast processor is really only beneficial in massive number-crunching processes, and then only if your code is carefully optimized to do it's work on-chip. If it frequently has to go elsewhere for data all that extra speed is wasted. In today's systems the majority of tasks can be run in parallel and large problems are split over multiple cores.

It sounds like your latex compile process would be improved by:

• faster IO. Try a RAMdisk.
• running different documents on different cores
• not expecting a 200-page image-intensive job to be done in 2 seconds
-

There are three physical limits: Heat, gate delay and the speed of electric transmission.

The world record on the highest clock speed so far is (according to this link) 8709 MHz

The speed of electric transmission (about the same as the speed of light) is the absolute physical limit, since no data can be transmitted faster than it's medium. At the same time this limit is very high, so it is not usually a limiting factor.

CPUs consist of huge amounts of gates, of which quite a few are connected serially (one after another). A switch from high state (e.g. 1) to low state (e.g. 0) or vice versa takes a while. This is the gate delay. So if you have 100 gates connected serially and one takes 1 ns to switch, you will have to wait for at least 100 ns for the whole thing to give you a valid output.

These switches are the thing that takes the most power on a CPU. This means if you increase the clock speed you get more switches thus use more power thus increase the heat output.

Overvolting (=>providing more power) decreases the gate delay a bit, but again increases heat output.

Somewhere around 3 GHz the power use to clock speed increases extremely. This is why 1.5 GHz CPUs can run on a smart phone while most 3-4 GHz CPUs can't even be run on a laptop.

But Clock Speed isn't the only thing that can speed up a CPU, also optimizations at the pipeline or the microcode architecture can cause a significant speed-up. This is why a 3 GHz Intel i5 (Dualcore) is multiple times as fast as a 3 GHz Intel Pentium D (Dualcore).

-
"Somewhere around 3 GHz the power use to clock speed increases extremely." This sounds interesting, do you know what is the cause? Or do you have a link to some explanation? –  Petr Pudlák Jul 21 '14 at 17:51
@PetrPudlák: Increasing voltage allows gates to switch more power, but also increases the amount of energy necessary to switch the gates. At lower voltages, the former effect dominates, but as voltage increases, it is increasing offset by the latter effect. –  supercat Jul 21 '14 at 23:19
Just overclocking increases the CPU power use linearly. So double the clock speed means double power use. But at higher clock speeds the gates get too slow to work with that clock speed and you start getting calculation errors -> random crashes. So you need to increase the voltage to speed up the gates. Power use scales squarely compared to the voltage. So double the voltage means four times the power use. Add that to double the clock and you get eight time the power use. Also the necessary voltage increases exponentially with the clock speed. en.wikipedia.org/wiki/CPU_power_dissipation –  Dakkaron Jul 22 '14 at 7:42
The other problem here is that overvolting can just fry your CPU and there is nothing that can be done against that. If your CPU is specified for e.g. 3.3V you might be able to go up to 3.7 or maybe even 4V but if you go to high it will just destroy the chip. Another link worth reading: en.wikipedia.org/wiki/CPU_core_voltage –  Dakkaron Jul 22 '14 at 7:47
Transmission speed is a problem: at 3Ghz you only get 10cm/cycle. Since a typical processor die currently has 300m², I believe that after 10 Ghz one would have to rethink processor design since probably not all parts of the chip can be reached in one cycle. –  Martin Schröder Jul 30 '14 at 17:42

So one question is: Is there a physical limit to CPU speed?

That depends highly on the CPU itself. Manufacturing tolerances result in the fact that the physical limit is a bit different for every chip even from the same wafer.

transmission delays cause another limitation in CPU speed. However, they don't mention how fast it can get.

That's because transmission delay or speed path length is a choice for the designer of the chip to make. In a nutshell, it is how much work the logic does in a single clock cycle. More complex logic results in slower maximum clock rates, but also uses less power.

This is why you want to use a benchmark to compare CPUs. The work per cycle numbers are vastly different, so comparing raw MHz may give you a wrong idea.

-

Practically, it is definiteley the thermal power which is approximately proportional to the square of the voltage: http://en.wikipedia.org/wiki/Thermal_design_power#Overview Every material has its specific heat capacity which limits the cooling efficiency.
Not considering the technical issues on cooling and transmission delay, you will find the speed of light limiting the distance a signal can travel within our cpu per second. Therefore, the cpu must get samller the faster it operates. Finally, it it is operating beyond a certain frequency, the cpu may become transparent for the electronic wave functions (electrons modeled as wave functions following Schroedinger's equation).
In 2007 some physicists calculted an fundamental limit for operating speeds: http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.99.110502

-

The answers to your questions are: Yes, there is a physical limit to CPU speed. The highest theoretical limit will be set by how fast a "switch" can switch states. If we use the electron as the basis of the switch, we use the Bohr radius $$r = 5.291 x 10^{-11}$$ and the fastest speed possible $$c = 3 x 10^8,$$ to calculate the frequency $$F = 1/t = c/2 \ pi \ r = 9.03 x 10^{17}Hz$$ At the current state of technology, the actual limit is about $$8\cdot 10^9Hz$$

-
I made a few edits to your LaTeX. Could you please check if the edit to frequency was correct? –  moose Aug 1 '14 at 13:06
How did you come up with the current state of technology limit? –  moose Aug 1 '14 at 13:07
You write that the current limit is "8x 10^9 Hz". What is x? Did you eventually want to write a multiplication dot? –  moose Dec 8 '14 at 21:55

As well as all the other answers, there are also a few other considerations which may not affect CPU speed directly but make building anything around that CPU quite difficult;

In short, above DC, radio frequency becomes an issue. The faster you go, the more inclined everything is to act as a giant radio. This means that PCB traces suffer crosstalk, the effects of their inherent capacitance/inductance with adjacent tracks / ground plane, noise, etc. etc. etc.

The faster you go, the worse all this gets - component legs can introduce unacceptable inductance for example.

If you look at the guidelines for laying out "basic" PCB's of the sort of level of a Raspberry Pi with some DDR RAM, all the traces for the data bus etc. have to be of equal length, have correct termination etc. and that's running well below 1GHz.

-