119

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.

Martin Thoma
  • 1,327
  • 2
  • 9
  • 9
  • 13
    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
  • @VladimirCravero: Yes, I know that the cache / instruction set / memory speed could also matter. But for LaTeX it seems to be only single-threaded CPU power (see the link I've just added to the question). – Martin Thoma Jul 20 '14 at 16:04
  • 14
    The current record for an overclocked CPU is the AMD Bulldozer, [running at 8.4 GHz](http://www.overclockers.com/amd-fx-bulldozer-breaks-cpu-frequency-world-record). It was cooled using liquid nitrogen. – tcrosley Jul 20 '14 at 16:30
  • 2
    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. – Shivan Dragon Jul 20 '14 at 19:23
  • 3
    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. –  Jul 20 '14 at 19:43
  • 11
    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 00:53
  • https://en.wikipedia.org/wiki/Clock_rate – starblue Jul 21 '14 at 07:11
  • I believe the highest clocked commercial CPU so far isn’t a Xeon but one of IBM’s POWER series CPU (both POWER6 and POWER8 CPUs are listed as being available at 5 GHz: https://en.wikipedia.org/wiki/POWER6 & https://en.wikipedia.org/wiki/POWER8 ) – Robin Whittleton Jul 21 '14 at 08:28
  • possible duplicate of [Maximum clock frequency of microprocessors](http://electronics.stackexchange.com/questions/76580/maximum-clock-frequency-of-microprocessors) – Bob Jul 21 '14 at 15:39
  • Your 2nd tag is "physics", well, you answered your own question: Physics limits CPU speed. – John U Aug 01 '14 at 09:04
  • [Related question in Super User](http://superuser.com/questions/797454/why-doesnt-add-more-cores-face-the-same-physical-limitations-as-make-the-cpu). – E.P. Aug 18 '14 at 07:46
  • 1
    @tcrosley - That 8.4 Ghz link you pointed to was actually using liquid helium. – Connor Wolf Dec 28 '14 at 22:53
  • @ConnorWolf While true, there was still LN2 in that setup. LN2 wasn't cold enough on its own, so they used a cascade. Pretty ridiculous =D – Shamtam Dec 29 '14 at 04:00
  • I found this link to be quite intuitive: http://funotronics.blogspot.com/2015/05/need-for-speed-how-fast-can-computing.html –  May 08 '15 at 20:00
  • You can use an entirely clockless (asynchronous) processor which is going to be _significantly_ faster but is a lot harder to design, and generally only works very very specific tasks (e.g. that's what you might do for an ASIC that does nothing but compute square roots). – forest May 23 '19 at 00:45
  • Can you link to such a processor / an article about such a processor? – Martin Thoma May 23 '19 at 04:34
  • I was just about to make a post about "Why doesn't someone make a 10-20 GHz core with for doing really fast single threaded processing and add an extra normal core for doing background stuff?" and came across this post. So thank you! – timothy.s.lau Jan 07 '22 at 20:27

7 Answers7

89

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.

feetwet
  • 2,322
  • 9
  • 31
  • 55
fuzzyhair2
  • 1,927
  • 15
  • 23
  • 2
    You might want to include a link to this discussion for nice references about how clock speed and power consumption relate: https://physics.stackexchange.com/questions/34766/how-does-power-consumption-vary-with-the-processor-frequency-in-a-typical-comput – Emiswelt Jul 20 '14 at 18:35
  • 2
    There's also the speed of electricity to consider when talking about transmission delays http://en.wikipedia.org/wiki/Speed_of_electricity – ryantm Jul 20 '14 at 18:53
  • 1
    Does it actually increase exponentially, or just quadratically? In fact, this [video](http://youtu.be/cMWGeJyrc9w) says that `Power = Frequency ^ 1.74`. – Paul Manta Jul 21 '14 at 14:23
  • But, if the size of the transistors causes implications, could we make a super large one (though impractical) to avoid these issues? Also maybe avoid e.g crosstalk by increasing the distances within the cpu? – chwi Jul 22 '14 at 21:47
  • 2
    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
  • 2
    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
  • I wouldn't say that heat becomes an issue "before" gate propagation delays, since it's possible to use less energy per CPU cycle by reducing CPU voltage if one can tolerate longer gate propagation delays. Heat because a problem because if a chip *weren't* run at a higher voltage, gate delays *would* be a problem. – supercat Dec 08 '14 at 23:08
  • That is an interesting chart of power to cpu speed. It appears to be parabolic and I would guess that it is related to a rise in kinetic energy. I.e. KE= 1/2 * m * v^2 – Klik May 07 '16 at 06:54
  • Another problem not mentioned here is the limited speed of light. Electric signals cannot propagate faster than the speed of light. Yes, the speed of light is high. But at high enough clock frequencies even with light speed you cannot reach far enough within one CPU cycle. The 3265810 THz in the example means that light during one CPU cycle could only travel 0.092 nanometers! That's 30000 times smaller than the thickness of a single strand of spider silk. Good luck placing everything within such a small area. – vsz Mar 08 '19 at 09:17
40

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
feetwet
  • 2,322
  • 9
  • 31
  • 55
paul
  • 2,083
  • 14
  • 7
  • 4
    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. – Solomon Slow Jun 03 '15 at 22:25
  • 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. – Ambiwlans Feb 24 '21 at 18:25
21

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

feetwet
  • 2,322
  • 9
  • 31
  • 55
Dakkaron
  • 767
  • 1
  • 8
  • 18
  • _"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 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
  • 2
    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. http://en.wikipedia.org/wiki/CPU_power_dissipation – Dakkaron Jul 22 '14 at 07:42
  • 1
    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: http://en.wikipedia.org/wiki/CPU_core_voltage – Dakkaron Jul 22 '14 at 07:47
  • 4
    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
  • 1
    @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. – Dakkaron Jul 31 '14 at 09:20
  • In fact, some processors have been run at 500Ghz, Researchers from IBM and Georgia Institute of Technology designed and built a computer processor that broke the world speed record reaching an astonishing 500GHz speed, at -268 degrees https://arstechnica.com/uncategorized/2006/06/7117-2/ – bandybabboon Oct 11 '18 at 18:17
  • 3
    @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. – Dakkaron Oct 15 '18 at 13:07
9

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}$$

Guill
  • 2,430
  • 10
  • 6
3

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.

Turbo J
  • 9,969
  • 1
  • 20
  • 28
3

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

feetwet
  • 2,322
  • 9
  • 31
  • 55
Lars Hadidi
  • 131
  • 3
1

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.

John U
  • 7,041
  • 2
  • 21
  • 34