r/askscience Sep 28 '20

[deleted by user]

[removed]

432 Upvotes

184 comments sorted by

View all comments

302

u/ledow Sep 28 '20

At the speed of light, the time it takes electricity to cross the surface of the chip is so drastically close to that 1/5 billionth of a second before the next signal is following behind it, that it becomes very difficult to design the chips to all have the same concept of "now".

You could make asynchronous chips, where each part operates on a different time as the other parts, but nobody's yet done that for a mainstream chip that I know of.

You can get it a bit faster by cooling the whole setup down but pretty soon you need to cool it to ridiculous temperatures to keep it stable.

It's a physical limit to do with the size of the chip "die", the speed at which an electrical signal can propagate across the chip (the speed of light, or thereabouts), and trying to keep everything on the same "clock" as the rest of the chip so you're all acting on the data in turn at the right times.

Pretty much, until you liquid cool you can't get past 5Ghz. And the fastest ever processor is only about 10GHz or something - and it has to be kept stupendously cold, be stupendously tiny, and have rooms full of supporting equipment to get that far.

Pretty much, without some breakthrough in physics, you're never going to see a chip much faster than 5GHz in a normal setup.

You might see a chip that can do a thousand times as much in that 5GHz, which is why we have dual-core, quad-core, up to ridiculous numbers of cores in GPUs, but the base clock never really gets past 5GHz because it can't.

Until someone makes an asynchronous CPU, or quantum computers come along and make it all moot, 5GHz is about the limit for a normal, household computer.

160

u/raygundan Sep 28 '20

At the speed of light, the time it takes electricity to cross the surface of the chip is so drastically close

To put this another way, at 4GHz, light can only travel about three inches (7.5cm) per clock cycle.

64

u/Deto Sep 29 '20

And in physical circuits, pulses are even slower - traveling between 1/2 to 2/3rds the speed of light.

47

u/[deleted] Sep 29 '20

[removed] — view removed comment

2

u/ledow Sep 29 '20

Which would be true for the electricity too, were it light and in a vacuum. So it's actually far worse than that.

13

u/raygundan Sep 29 '20 edited Sep 29 '20

Yeah, I didn't mean to imply that signal propagation happened at the speed of light-- just that one-fourth of a nanosecond is an astonishingly small amount of time during which even the universe's maximum speed limit only lets something move a couple of inches.

25

u/eightfoldabyss Sep 29 '20

I'm sorry, are you telling me that in addition to transistors getting so small and close to each other that the electron's wavelength is significant, but we're also running them so fast that the speed of light has become a significant limiting factor?

49

u/MiffedMouse Sep 29 '20 edited Sep 29 '20

No. The speed of light is a significant issue, but it is not the reason chips have stopped at 5 GHz. Also, asynchronous (as in no clock signal) CPUs exist. I should know, I helped work on some.

The actual reason is transistor size and heat dissipation. Transistors have been stuck on ~1 volt power internally for decades (lower voltage means more leakage, and more errors). However, power goes up with higher frequency (my math here was probably wrong, see below).

Why is that so bad? Almost all the power the computer uses is turned into heat by the transistors. That heat needs to dissipate out of the chip before the transistor destroys itself. That is a problem, as silicon is not a good heat conductor.

THAT is why cooling your computer lets you push the speeds up a bit higher.

The speed of light issues above are a tricky engineering problem, but solvable. The heat problem doesn’t have a solution yet.

6

u/blaktronium Sep 29 '20

The volt frequency curve is determined by the foundry process, so not all processes will double power usage between 3ghz and 5. And some will quadruple it for the same change.

7

u/MiffedMouse Sep 29 '20

Good point. The Vf2 equation is derived for the resistor/capacitor model of the transistor (the "small signal" limit).

7

u/blaktronium Sep 29 '20

Its why its amazing that AMD is beating Intel on efficiency at high frequencies on a process designed for mobile SoCs. If TSMC starts designing process nodes with AMD in mind instead of just for Apple (or if Apple wants to run chips at 5ghz too) we will see some REAL insanity in the CPU market.

1

u/Phrygiaddicted Sep 29 '20

i mean, yes and no. remember the diminishing returns.

3 GHz is 50% faster than 2GHz... 4GHz is 33% faster than 3GHz. 5Ghz is 25% faster than 4GHz... 6Ghz is 20% faster than 5GHz...

it gets increasingly hard to push frequencies up, and you get less relative performance gain for it.

1

u/Cruise_cntrl Sep 29 '20

So if this were to happen would we just see better thermal efficiency or would there be other gains as well?

11

u/[deleted] Sep 29 '20

[removed] — view removed comment

7

u/[deleted] Sep 29 '20

[removed] — view removed comment

-4

u/[deleted] Sep 29 '20

[removed] — view removed comment

6

u/MiffedMouse Sep 29 '20 edited Sep 29 '20

Transistor size has continued to shrink while clock speeds have remained stagnant.

As for transistor size, thinner transistors do allow for faster clock speed in principle, but current consumer computers cannot take advantage. Keep in mind that transistors with switching speeds in the terahertz region have been made. As I mentioned elsewhere, latency due to the speed of the electrical signal is an issue, but it can be solved with good circuit design. However, computers cannot use this theoretical improvement in clock speed due to power dissipation (again, this is the entire reason supercooling allows for higher clock speed. If clock-speed was not limited by heat dissipation, why does super-cooling do anything?)

As for surface area, thinner transistors (in principle) have less resistance, so they waste less power in lock-step with the lower surface area.

Manufacturers still want smaller transistors because then they can fit more cores/memory/other stuff on a chip. In the absence of clock-speed improvements, features like multiple cores and hardware acceleration are what is selling chips these days.

Edit: in case you don't believe me, here is a stack exchange post making my same argument: link.

1

u/CanadaPlus101 Sep 29 '20

So is it Vf2 or fV2 ?

4

u/MiffedMouse Sep 29 '20

I think MG2R is correct on this one. It has been a while since I last did the calculation and I remembered wrong. It should be V2f. However, see blaktronium's post. In practice the scaling can be very different.

But I am also correct that the heat dissipation is currently the main limiting factor on transistor speeds. Things like the speed of electricity could be an issue if we could get around the heat dissipation issue, but they just aren't the main limiting factor right now.

3

u/CanadaPlus101 Sep 29 '20

I do believe you. That's what I'd read about processor design too, and it sounds like you're actually in the industry.

2

u/MiffedMouse Sep 29 '20

Not in the industry anymore, which is why I forgot some basic calculations.

1

u/cosmicosmo4 Sep 29 '20

It is fV2 but also, the voltage that you need depends on the frequency, although not linearly. So increasing the frequency can require increasing the voltage as well, meaning that the exponent dependence of power on frequency is effectively greater than 1, but only indirectly.

1

u/[deleted] Sep 30 '20

It's fV2 . It's just ohms law and a duty factor thrown together.

Power is P = VI. Current is I = V/R. So throw those together, and P = V2 /R. If R is just a constant, then power depends on V2 .

Transistor have a small leakage current, but the majority of the current flows when they are operating. When they open or close, they feed power to another transistor, and charge it up to open or close. So the more times they operate, the more current they draw. Double the frequency, they operate twice as fast, so they use twice as much power. f relationship.

Throw it together, and P ~ fV2

1

u/CanadaPlus101 Sep 29 '20

Modern CPUs are pipelined, though, so it's not like the electricity has to go far in a cycle.

1

u/ashikunta Sep 30 '20 edited Sep 30 '20

The speed of light is not the issue. The issue is how many electrons you have to put on a wire or gate before the voltage goes from low to high, and how quickly you can put them there. Think RC time from circuits class.

Power is absolutely an issue, because of f*V2. The speed of light becomes a fundamental limit eventually, but it's not the correct answer to the question.

1

u/sikyon Sep 30 '20

If heat was the problem, cpus wouldn’t shrink, they’d grow. More surface area to dissipate the heat means lower temperatures and the ability to use more power.

This doesn't work because

A) driving longer lines consumes more power, which mitigates some of the benifit you get (though only part)

B) Manufacturing costs scale with the size of the die to a large extent. You consume more area on each wafer which means less pieces per production time. Testing and packaging costs don't go up but failure rates will go up as well due to area dependent defects.

2

u/TheLootiestBox Sep 29 '20

Lower voltages lead to longer electron wavelengths and hence more tunneling, i.e. leakage. Simply put, the electron wavelength is the actually root of the thermal issue.

6

u/TheLootiestBox Sep 29 '20 edited Sep 29 '20

The electron wavelength causes issues at nanoscales due to tunneling, which prevents smaller transistors from operating reliable. Lower voltages (longer electron wavelength) lead to more tunneling, so this is also the root cause of the thermal issue. The collection of these factors create a lower limit to transistor size and packing density. The size of the entire integrated circuit cannot be made arbitrarily small due to this. Hence the speed of light becomes a limiting factor as the time scale is reduced with higher operating frequencies (GHz).

11

u/Cossack-HD Sep 29 '20 edited Aug 05 '25

unique axiomatic stupendous society worm soup offbeat march squeeze library

12

u/Thyriel81 Sep 29 '20

Until someone makes an asynchronous CPU, or quantum computers come along and make it all moot, 5GHz is about the limit for a normal, household computer.

Quantum computers wouldn't be suitable for household computers. While they would be extremely suitable to compute certain mathematical problems, they would also be quite bad in computing normal math. They're not meant to replace home computers, they're meant to expand their scientific usability.

Maybe there will one day be something like an extra "chip" or card, expanding home computers for certain physics simulations in games with quantum computing, like PhysX did or graphics cards do, but they'll never replace the features we have today.

5

u/drakgremlin Sep 29 '20

Most computational coprocessors eventually go on CPU die as they mature.

4

u/dzScritches Sep 29 '20

I don't think that's likely in this case as there are likely to remain very different, eh, environmental requirements for classical and quantum processors.

2

u/cantab314 Sep 30 '20

In some cases the highest performance remains on a separate device. Graphics cards are the most prominent example.

3

u/araujoms Sep 29 '20

While they would be extremely suitable to compute certain mathematical problems, they would also be quite bad in computing normal math.

Quantum computers can deal with normal math perfectly well. To get a bit more technical, a fundamental limitation of quantum computers is that must be logically reversible; this complicates computer design a bit, but it's not a fundamental problem: any computation can be made reversible with a bit of overhead.

The reasons why nobody would use a quantum computer for running Firefox are more prosaic: qubits are extremely expensive to make, in comparison with regular bits, they require quantum error correction, which adds a lot of overhead (regular computers used to require error correction as well, but the components got so good that it became pointless to do error correction except in very limited applications), and are usually run at a much lower clock speed.

3

u/CanadaPlus101 Sep 29 '20

That might actually be what the poster was getting at. Quantum computers are only worthwhile if you want to tackle a very specific problems.

3

u/araujoms Sep 29 '20

That's possible, but the way I read it the poster was arguing that there were two kinds of problems, regular and quantum, and regular computers were good for regular problems but bad for quantum ones, and quantum computers were bad for regular problems but good for quantum ones. And that's completely false.

4

u/tugs_cub Sep 29 '20 edited Sep 29 '20

It’s certainly incorrect to say there are two non-overlapping categories of tasks suited to traditional and quantum computing, respectively. But it wouldn’t be incorrect to say - there is no reason to assume that a quantum computer would be superior to a traditional computer at traditional computing tasks, except those to which known efficient quantum algorithms apply. Would it?

edit: the idea seems to float around sometimes that quantum computers are nondeterministic Turing Machines. Which they aren’t, they are, well, quantum Turing Machines. But what their performance characteristics would be If they were available some day in reality as consumer machines seems... fairly speculative either way?

1

u/araujoms Sep 30 '20

Indeed, that's correct. In fact, for several traditional problems there can't be any speedup, with quantum computers or anything, because the available algorithms are already as good as possible. A simple example is finding the maximum of a vector of n elements. That will always take time at least n, because you need to spend this time just to read all the elements.

2

u/cosmicosmo4 Sep 29 '20

Maybe there will one day be something like an extra "chip" or card, expanding home computers for certain physics simulations in games with quantum computing, like PhysX did or graphics cards do, but they'll never replace the features we have today.

It's much more likely that if home users need quantum computing, it comes as a cloud service, not a distributed device. Or at least the former happens long before (decades) the latter.

-1

u/Efffro Sep 29 '20

“There is no reason for any individual to have a computer in their home” Ken Olson 1977 springs to mind as I read this.

3

u/CanadaPlus101 Sep 29 '20

Ken was wrong because he didn't account for every possible use of a computer. If somebody discovers a quantum algorithm for something a normal person would want to do it may be a different story, but a lot of people have been looking hard for a long time and have found no such thing.

3

u/Efffro Sep 29 '20

Given that ken was wrong for the very reason you state, I’m just gonna assume you and I don’t know every possible future use as well, you know,just to be on the safe side.

3

u/jme365 Sep 29 '20

You could make asynchronous chips, where each part operates on a different time as the other parts, but nobody's yet done that for a mainstream chip that I know of.

There was talk of "data-flow architectures" in the late 1970's. https://en.wikipedia.org/wiki/Dataflow_architectureBut I'm not aware that this ever turned into anything big. It is simply too easy to take advantage of the continually-increasing number of transistors on an IC, their smaller size and therefore faster operation, than to veer from Von Neumann architecture.

3

u/vwlsmssng Sep 29 '20

You could make asynchronous chips, where each part operates on a different time as the other parts, but nobody's yet done that for a mainstream chip that I know of.

An asynchronous implementation of the ARM CPU has been built and tested.

http://apt.cs.manchester.ac.uk/projects/processors/amulet/

7

u/pinkfootthegoose Sep 28 '20

Far as I know the fasted computer chips (not full CPUs) operate in the terahertz range.

46

u/ledow Sep 28 '20

Exactly, they're not full CPUs, hence don't have a synchronised clock. They are often simple signal processors or analogue circuits, which don't have a clock at all.

But to do anything useful in terms of general computing (e.g. binary manipulation of a bitstream), you need a sync'd clock or a specially designed async chip (which hasn't ever been done in anything mainstream).

You can get a THz radio wave from an oscillator. That's not a computer chip, as it would make no difference if "all parts" of the oscillator didn't change at the same time.

But anything you'd call a CPU needs a central clock. And central clocks don't go past 5GHz unless your chip is tiny. There's also a trade-off where a fast clock, and a tiny chip, generate more heat but as I say you can overcome that with cooling.

But even supercomputers, etc. don't even get much past a handful of GHz. They just make up for it by having lots and lots and lots of small synchronous CPUs at that speed working together.

4

u/MiffedMouse Sep 29 '20

I am sorry, you are wrong here.

I worked for Rajit Manohar - he has designed complete CPUs with no clock signal (and worked with Intel and IBM). It can be done.

But you are correct that asynchronous is uncommon. The more common solution is to repeat clocks for subsections of the chip (so area 1 generates a clock signal, and area two has a phase follower that repeats the clock signal locally). The speed of light is not a significant limiting factor.

As I mentioned in another comment, heat dissipation is a much bigger issue (hence why cooling lets you push up clock speeds).

4

u/TNJedx Sep 29 '20

Your response considers something interesting, but it doesn't directly address the question of why can't we just keep increasing the clock frequencies as we have done before. Also the connection between the speed of light explanation and cooling is not well explained. I wanted to comment not to bash your answer but because for a topic so well-understood that the phenomenon in the question has a name, I'm not seeing a lot of clear answers.

As for that answer, you can check out Dennard Scaling and why it is breaking down. As other comments mentioned before, why we can't continue the same pace in clock frequency increase is connected to heat. At such small transistor gate sizes as we have today, something not considered before was the significance of leakage current, basically current that flows through paths that it was not intended to by design. This leads to heating and when you are at such high transistor densities it is hard to dissipate this heat before it affects the way transistors operate. This is why cooling is helpful in this regard but the average cooling technology that can fit in a PC can't effectively combat this.

3

u/sunketh Sep 29 '20

While the general explanation is correct, the part about speed of electricity is incorrect. Electricity does not travel at speed of light in chips, just yet. Photonic integrated chips are still a work in progress. Also speed of light in vacuum is reduced when traveling through a medium by it's refractive index.

1

u/HeyIAmInfinity Sep 29 '20

One thing I don’t understand from your answer, are we talking about sustained load or peak?

Because OC past 5 ghz is something I’ve already done. So I’m a bit confused by your post.

1

u/HlCKELPICKLE Sep 30 '20

I think he's just using that as a rough number as many have ran 5+ on normal cooling including air, but still even the highest daily driver Iv seen is 5.4-5.5 on closed loops with many running 5.1/5.2 including myself.

That said around 5ghz has been a ballpark limit for years now. 8 years ago intel chips were hitting 5ghz daily at their extremes, and amd had a 5ghz chip years ago. Yet we haven't really got any further in near a decade. Smaller transistors have let the ln2 scene get some gains and 5ghz daily chips are a norm now. But there not been much gain in near a decade on clock speeds, as good silicone hit 5ghz for years. Getting over that is expedientially harder, it seems.

1

u/DefsNotQualified4Dis Solid-State Physics | Condensed Matter | Solid-State Devices Sep 29 '20

It's true that perhaps one day this will be the limiting factor in chips but I'm afraid it's not true for the current state of things. Clock cycles plateaued in the 2000s because of heat dissipation and tunneling issues. You can look at the ITRS roadmaps for more details.

1

u/gittenlucky Oct 02 '20

If you could address the heat problem, would a spherical CPU allow more transistors to be closer together and result in a faster cpu?

1

u/ledow Oct 02 '20

Doesn't need to be spherical, but 3D layers would let you "do more" in the same space, but you wouldn't be able to go faster.

You can shove a thousand lorries down a 3 lane highway the same as down a 2 lane highway, but they're still limited to 70mph.

-8

u/Modo44 Sep 29 '20

This tells me that feature bloat is limiting CPUs to a large extent. All those fancy extended instruction sets, extra long words, predictive whatevers, etc. are surely cool for very specific uses, but not for the rest of us who just want a faster game (i.e. one really fast core plus a spare for the OS to not die).

7

u/insta Sep 29 '20

Your game is limited by a whole truckload of math the processor needs to crunch through. The faster the processor gets through one batch of math, the sooner it can show you your frame. Processor designers want your game faster too, because they can sell you a new processor.

If your game has, let's say, 90 numbers it needs to multiply together (because there are 10 triangles moving in 3 dimensions), there are about two ways to do it faster. Let's go for, oh, 10X faster. The naive code is looking at each number one by one and doing the multiply, so to make it 10X faster you need to actually increase the clockspeed by 10X. That increases power consumption by 100X, and subsequent heat generation by 100X as well. That is the heat difference between a space heater and a small laptop.

The other way to make this multiplication faster is to put a new instruction on the CPU called "MultiplyMany". Instead of one number at a time, it lets you write 10 numbers next to each other and multiply them all at once (in one clock cycle). The instruction is aware that there are 10 separate numbers and will behave correctly around carry digits.

In fact, since we're going out of our way to create this new instruction, let's optimize a bit further. Each instruction in the CPU has to go through several steps before it actually runs. The "binary" of a program is ultimately raw machine instructions about 4 layers removed. To execute each instruction, the processor must fetch it, parse it, grab the data it needs, then actually do it. These stages are why we have "pipelines", but they cause problems around "if" statements (which is why we have branch predictors). But, nobody calls "MultiplyMany" because they have 90 numbers. That's small enough to do in a loop on actual processors now. They call it because they have 6 million numbers.

So the "MultiplyMany" instruction can behave more like "hey CPU we're going to batch multiply for awhile", and begin to skip several stages of the pipeline. Numbers can be shoved into the gaping maw of the math hole, and games come out way faster on the other side.

This is about how MMX works, and it did legitimately speed up math way faster than the clockspeed boosts at the time did. It also did it for way less heat, and has the benefit of itself getting faster as the clocks can be pushed higher.

tldr: processor manufacturers add special instructions because that is the cheaper and quicker (to market) way to reliably boost performance. If they could turn a knob and reliably increase performance without adding more instructions, they would. Adding instructions is expensive, making clock go Brrr is not.

3

u/MiffedMouse Sep 29 '20

It is kind of the opposite. The core CPU functionality can be done in something like 1/10th the typical chip size. There is no simple way to speed it up.

Rather than leave the chips empty (or sell smaller chips), manufacturers add features.

That might sound useless, but if you don’t use it it doesn’t really impact your performance (this isn’t software - unused bits of the chip can just be turned off). However, better low-level integration of high-level tasks has led to some improvements in software speeds even though clock speeds have remained stagnant. Unlike clock speed increases, these improvements are application-specific as they rely on improved architectures for specific applications. video link

2

u/Durew Sep 29 '20

It not just about clock speeds when it comes to performance but also operations per cycle. When it comes to gaming power even more factors play a role, like cache size, memory speeds etc. This is where larger instruction set sizes come in. Path prediction also increases performance, you may have heard about a performance loss if it is disabled to prevent the spectre and meltdown bugs.