120
\$\begingroup\$

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

About me

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.

\$\endgroup\$
17
  • 14
    \$\begingroup\$ 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. \$\endgroup\$ Commented Jul 20, 2014 at 15:47
  • 14
    \$\begingroup\$ The current record for an overclocked CPU is the AMD Bulldozer, running at 8.4 GHz. It was cooled using liquid nitrogen. \$\endgroup\$
    – tcrosley
    Commented Jul 20, 2014 at 16:30
  • 2
    \$\begingroup\$ Though the title of the question is "What limits CPU speed?" it should be noted that the statement: "LaTeX can use only one core to compile. So for the speed of LaTeX compiliation, the clock speed of the CPU is most important" is not necessarily true. CPU cache can make a difference also. Due to how modern CPUs works, combined with the fact that there are different CPUs having identical frequencies but different cache(s) size(s) and how the software was written and is used, CPU cache may have a greater influence on execution speed than CPU frequency. \$\endgroup\$ Commented Jul 20, 2014 at 19:23
  • 3
    \$\begingroup\$ 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. \$\endgroup\$
    – user15426
    Commented Jul 20, 2014 at 19:43
  • 11
    \$\begingroup\$ 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. \$\endgroup\$ Commented Jul 21, 2014 at 0:53

7 Answers 7

90
\$\begingroup\$

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

enter image description here

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.

From: How to implement SRAM sense amplifier?

Basically, the point is that it is harder for small transistors 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 an immense cache.

\$\endgroup\$
9
  • 2
    \$\begingroup\$ 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/… \$\endgroup\$
    – Emiswelt
    Commented Jul 20, 2014 at 18:35
  • 2
    \$\begingroup\$ There's also the speed of electricity to consider when talking about transmission delays en.wikipedia.org/wiki/Speed_of_electricity \$\endgroup\$
    – ryantm
    Commented Jul 20, 2014 at 18:53
  • 1
    \$\begingroup\$ Does it actually increase exponentially, or just quadratically? In fact, this video says that Power = Frequency ^ 1.74. \$\endgroup\$
    – Paul Manta
    Commented Jul 21, 2014 at 14:23
  • 2
    \$\begingroup\$ 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. \$\endgroup\$
    – fuzzyhair2
    Commented Jul 24, 2014 at 13:03
  • 2
    \$\begingroup\$ Since the question is theorical, it can be added that other semiconductors, such as Gallium arsenide, allow for higher frequencies. \$\endgroup\$
    – Iacopo
    Commented Jul 30, 2014 at 19:16
40
\$\begingroup\$

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 its 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
\$\endgroup\$
2
  • 4
    \$\begingroup\$ Too bad I am only allowed one upvote. Your answer deserves more for pointing out that clock-rate may not be the bottleneck in the OP's problem. \$\endgroup\$ Commented Jun 3, 2015 at 22:25
  • \$\begingroup\$ This is getting more outdated lately with on chip cache exploding lately. Threadripper has 256mb of cache. If we had a 50Ghz chip, there is nothing standing in the way of expanding chip cache sizes in order to avoid this bottleneck. Of course, this does need optimization in software. \$\endgroup\$
    – Ambiwlans
    Commented Feb 24, 2021 at 18:25
21
\$\begingroup\$

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) 8722.78 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 its 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).

\$\endgroup\$
8
  • 2
    \$\begingroup\$ 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 \$\endgroup\$
    – Dakkaron
    Commented Jul 22, 2014 at 7:42
  • 1
    \$\begingroup\$ 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 \$\endgroup\$
    – Dakkaron
    Commented Jul 22, 2014 at 7:47
  • 4
    \$\begingroup\$ 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. \$\endgroup\$ Commented Jul 30, 2014 at 17:42
  • 1
    \$\begingroup\$ @MartinSchröder: That is not that much of a problem, since (a) the CPU dies due to heat and gate delay before the 10 GHz are reached and (b) processors become smaller with each generation. For example, an 6-core i7 with hyperthreading has about the same size as a singlecore Pentium 4. But the i7 has 6 full cores and 6 more "half-cores" for the hyperthreading. Also there is the cache. Also these cores are split into pipeline phases. Only the parts of the CPU in one core and one pipeline phase (and maybe the L1-cache) need to be reached in one cycle. \$\endgroup\$
    – Dakkaron
    Commented Jul 31, 2014 at 9:20
  • 3
    \$\begingroup\$ @com.prehensible The post you linked actually talkes specifically about the fact, that this 500GHz transistor is "only" an analog transistor used for analog RF procressing. It is not by any means a computer processor. \$\endgroup\$
    – Dakkaron
    Commented Oct 15, 2018 at 13:07
9
\$\begingroup\$

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\times 10^{-11}$$ and the fastest speed possible $$c = 3 \times 10^8,$$ to calculate the frequency $$ F = \frac{1}{t} = \frac{c}{2} \pi r = 9.03\times 10^{17}\text{Hz}$$ At the current state of technology, the actual limit is about $$ 8\times 10^9\text{Hz}$$

\$\endgroup\$
3
  • \$\begingroup\$ I made a few edits to your LaTeX. Could you please check if the edit to frequency was correct? \$\endgroup\$ Commented Aug 1, 2014 at 13:06
  • 2
    \$\begingroup\$ How did you come up with the current state of technology limit? \$\endgroup\$ Commented Aug 1, 2014 at 13:07
  • 1
    \$\begingroup\$ You also would build that fastest possible computer on the Schwarzschild radius of a black hole for maximum effect. The Bohr radius is way to big to work with at high speeds. :) \$\endgroup\$ Commented Aug 30, 2016 at 6:29
3
\$\begingroup\$

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.

\$\endgroup\$
3
\$\begingroup\$

Practically, it is definitely 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 smaller the faster it operates.

Finally, beyond a certain frequency the CPU may become transparent for the electronic wave functions (electrons modeled as wave functions following Schrödinger's equation).

In 2007 some physicists calculated a fundamental limit for operating speeds: http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.99.110502

\$\endgroup\$
1
\$\begingroup\$

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.

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.