Eli5, why do CPUs seem to max out around 5ghz, why can’t we go higher per core?

236 views

Eli5, why do CPUs seem to max out around 5ghz, why can’t we go higher per core?

In: 4

4 Answers

Anonymous 0 Comments

Physics!

Each clock cycle is a signal within the core. This signal is electrical. The signal takes time to travel through the circuits. They travel at close to light speed, which is really fast. But 1/5,000,000,000 of a second is an extremely short time. If you send the signals too rapidly you run the risk of triggering actions in one area before the previous signal has reached an area further away and completed the actions there. This can result in the signals “crossing” and resulting in logic actions not being performed correctly or in the incorrect order.

This is one reason why smaller transistors allow for faster clock speeds. You can cram them closer together so the signals don’t have to travel as far. This means it takes less time for a signal to travel from one side of the circuit to the other.

The down side is the components being closer together gives more load in a smaller area generating more heat with smaller and more sensitive components.

Edit: Typing is hard.

Anonymous 0 Comments

Thermals, those telling you about the speed of light lost the fiery forest in the trees

Electrical signals travel at about 80% the speed of light so in the 0.2 ns cycle on a 5 GHz process they can cover 4.8 cm, about 2 inches which is plenty to go across a chip and back at least once. The record for overclocking a processor is about 8.8 GHz so clearly travel time isn’t the issue here

Heat is the real limiting factor and why Intel stopped cranking clock speeds up during the Pentium 4 era

To turn a transistor on or off you have to charge or discharge its gate, when you discharge the gate you have to dump the charge to ground and it generates heat. The speed the transistor can switch at is determined by some physical properties (gate capacitance) and the voltage applied to its gate. If you try running your processor faster than all the transistors can reliably switch then occasionally 1+1 = 48 so if you want to crank up the speed you have to crank up the voltage too. Unfortunately cranking up the voltage creates *significantly* more heat.

If 1.2V can get you 4.5 GHz but it takes 1.3V to reliably run at 5 GHz then your processor will be producing 30% more heat while running just 11% faster. Keep going any you start needing more and more voltage. The current world record overclock for an Intel i9-12900k is 7.7GHz requiring 1.692V, it normally runs at a boost of 5.2 GHz and 1.275V so that 48% increase in speed resulted in a 2.6x increase in power and heat.

All the record overclocks are done with liquid nitrogen or liquid helium because you run into problems getting heat out of the chip fast enough to keep it from damaging itself. They’ve considered crafty coolant channels on the die but its just not worth it for consumer chips especially as more things are able to handle multiple cores now

Anonymous 0 Comments

The most useful way I’ve been taught what speed a transistor process can be useful involves a “fanout of four” (“FO4”) rule of thumb. It’s useful because it not’s just how fast a transistor can switch on/off, what matters is how quickly a logic gate (built from those transistors) can respond to a change in input signal and propagate that update to its output *when it’s connected to other logic gates*. That’s how “computation” is accomplished, where the output of one logic gate goes to several others. In this case: to four others.

It’s a clever rule, because it captures not only the propagation delay and “drive strength” of a logic gate (aka,it’s transconductance) but it captures the “loading” as well (I.e., the energy it takes to charge/discharge the gate capacitance of another logic gate just like itself).

Anyhow, the rule was this: a normal digital circuit built with automated EDA tools (e.g., synthesized net list, auto place-and-route) can “close timing” (I.e., the synchronous circuit won’t be running so fast that it has timing errors) is between 10*FO4 and 20*FO4 of the process, depending on the complexity of the circuit. So if you measure an FO4 of 50ps for a given transistor process, 10x that is 500ps, which is the clock period for a 2GHz clock. If you eschew automated tools and instead “hand design” the logic paths (which is done in some very high performance processing cores as well as in SERDES blocks) you can get down to 5*FO4 (in this example, 4GHz). The limit of what’s technically achievable before you’re burning a ridiculous amount of power just to deliver the clock signal around is about 2*FO4 (10GHz in this example) — no one would build a whole processor this way, but some of the 100Gbps SERDES used in top-of-rack switches might go this crazy.

So to your question … if you’re seeing 5GHz processor (a very complicated circuit built with automated EDA tools) limits now, it’s because the transistor process reliably supports an FO4 of 10pS. Which is probably some leading edge 7nm FinFET node. 5nm is also out there, and 3nm is being worked on.

Edit: typo

Anonymous 0 Comments

You could design a CPU that goes faster, but it wouldn’t actually perform very well. Modern CPU’s spend most of their time twiddling their thumbs waiting for data to arrive from memory. Increasing the clock speed wouldn’t really make this process any faster, but it would generate a lot of heat which is hard to control in a small area like a CPU.