Why we can not have more than 5GHz Processors - Page 1
Forum section: electronics / projects

author: ali_asadzadeh
author_rank: Super Contributor
timestamp: February 11, 2021, 08:23:10 pm
content: Hi,I know we have limitations, But I wonder why we can not do something about it, since we have many logic parts that works well above this hard 5GHz limit, Like the SEREDES inside FPGA's, aren't they logic? The new ones are running around 72GHz, also today I have seen Intel announcing their new FPGA with 64GSPS ADC and DAC integrated!https://www.eevblog.com/forum/fpga/intel-analog-fgpas/At least half of a ADC or DAC is Digital, so how these parts can operate with these crazy high clocks, But we can not have processors!For the Record, Pico RISC-V will need very little logic, around 700-2000LE depending on the configuration, I think these SEREDES or ADC and DAC's would use maybe something in that order. So why not have at least small high speed processors?

author: coppice
author_rank: Super Contributor
timestamp: February 11, 2021, 08:34:42 pm
content: You can easily get the clock rate of a CPU much higher than 5GHz. The snag is the only way people have found to do this is by using a microarchitecture with massively long pipelines. The Pentium 4 went down this route. It didn't work out well. Most software branches and loops a lot, so most software spent too much time stalled, flushing and refilling the pipelines, to run well. Intel went back to a older microarchitecture, with a shorter pipeline, and moved forward again from there. Nobody has done any better than Intel with a general purpose long pipeline design. There are some specialised designs, for things like DSP, where a deep pipeline can work very well, but most designs need to perform well on a wide range of applications to achieve much success.

author: Whales
author_rank: Super Contributor
timestamp: February 11, 2021, 08:36:13 pm
content: [I'm not a silicon engineer]I suspect it's probably due to the design size.Single-purpose stuff can have smaller dies and so all of the lengths/timings/synch can be tweaked to be reliable at higher speeds. Less lines and features == less headaches.x86 CPUs are massive, there are probably a lot of individual sections that could run at much higher clocks but if you try the whole then you probably start getting errant signal timings or signals coming out of nowhere in odd places. I suspect some parts of the dies will already run higher than the 5GHz baseclock (by some arguments), remember that 5GHz is just the "main" reference clock (or a multiplied version of the "main" ref clock).

author: tggzzz
author_rank: Super Contributor
timestamp: February 11, 2021, 08:39:59 pm
content: The speed of light in silicon.Thermodynamics.Leakage currents.

author: magic
author_rank: Super Contributor
timestamp: February 11, 2021, 09:04:34 pm
content: Intel promised we will have them.https://www.anandtech.com/show/680/6So yeah, physical reasons, not just pains of deep pipelines.

author: ali_asadzadeh
author_rank: Super Contributor
timestamp: February 11, 2021, 09:17:48 pm
content: QuoteWe have these things in SEREDES and ADC and DAC parts too! a smaller RISC CPU maybe is the answer.

author: SiliconWizard
author_rank: Super Contributor
timestamp: February 11, 2021, 09:31:49 pm
content: Quote from: ali_asadzadeh on February 11, 2021, 09:17:48 pmAs you guessed, you need very simple logic to run at those speeds.You may be able to reach 10Ghz+ frequencies with averysimple CPU design. But said CPU will probably have a pretty low "performance/cycle" figure. Whether it's of any interest compared to a CPU which can do infinitely more @5GHz is questionable. A simple enough CPU that would run at those speeds would never be able to outperform current desktop CPUs at lower frequencies. So what would be your point exactly?

author: coppice
author_rank: Super Contributor
timestamp: February 11, 2021, 09:40:27 pm
content: Quote from: magic on February 11, 2021, 09:04:34 pmEr, that Intel plan failed entirely due to pipeline length. That's why they went back to a shorter pipeline design.

author: magic
author_rank: Super Contributor
timestamp: February 11, 2021, 09:43:38 pm
content: I'm pretty sure a 10GHz Pentium 4 would have blown out of the water any "short pipeline" chip available in the 2000s.This is exactly what Intel hoped would happen, but it didn't happen because they couldn't produce such chip.

author: ali_asadzadeh
author_rank: Super Contributor
timestamp: February 11, 2021, 10:55:01 pm
content: Multi core, Small RISC CPU @72-100GHz can beat the current CPUs, we have in the order of 30-50 SEREDES inside these FPGA's(which are low power) with other massive LE's in the order of 5M LE's which consume most of power, so there are lots of cores that can be fabricated, like in the order of 128-1024 cores.

author: gnuarm
author_rank: Super Contributor
timestamp: February 11, 2021, 11:19:15 pm
content: Quote from: ali_asadzadeh on February 11, 2021, 09:17:48 pmThe answerCan you repeat the question?Higher clock speed at the expense of size does not necessarily mean a faster processor. Those transistors are added to do something that makes the processor execute code faster. Take them out and get a processor that runs at a faster clock speed, is the code running faster?I was told there is a fundamental piece of the ALU that is as small as you can divide logic with pipelining. I don't follow that reasoning, but allegedly this is what the high end designers have to deal with. Combine that with the high power consumption and you get hard limits on the clock speed of the current designs.My car uses an Atom processor which some mentioned could contain as many as 26 processors!!! How fast do any of them need to clock to get high processing speeds? It's more about speed vs. power as you can always add processors.

author: gnuarm
author_rank: Super Contributor
timestamp: February 11, 2021, 11:31:10 pm
content: Quote from: ali_asadzadeh on February 11, 2021, 10:55:01 pmI don't know why you compare SERDES to processors??? A SERDES is just a fancy shift register. A processor has an awful lot more going on. That's a bit like comparing FPGAs based on FF "toggle" speeds. Not at all realistic in the context of using the devices.A 100 GHz RISC may well run faster than current CPUs, but you would need dozens of memory interfaces to keep up with the cache buffers and you would still be seeing stalls out the wazoo!The GA144 is a chip with 144 tiny processors each running at up to 700 MIPS, built on a 180 nm process. How fast might it run on today's 10 nm tech? Don't know, but it runs fast because each node has it's own tiny memory. Trying to connect these processors to external memory would hamstring it tremendously.BTW, SERDES are not low power in any FPGA that I know of. They don't suck down the juice because the logic in them is very small, but higher clock speeds ALWAYS mean higher power. Use a lot of them and connect them to logic processing that data and you will get a high power consumption chip.The key to processor design is to balance all things. Zen and the art of motorcycle maintenance.

author: gnuarm
author_rank: Super Contributor
timestamp: February 11, 2021, 11:35:47 pm
content: Quote from: magic on February 11, 2021, 09:43:38 pmSure, the P4 at the highest clock speeds (around 4 GHz if I remember) was faster than other CPUs, but not by a lot because of the longer pipeline. 10 GHz would have required even longer pipelines and much more impact of stalls. As I said to Ali, balance in all things. The P4 was pushing the limits of the balance thing and so was not as good as it could have been perhaps. AMD loved it though. ; ) Wish I could type an emoticon without it becoming a graphic.

author: SiliconWizard
author_rank: Super Contributor
timestamp: February 11, 2021, 11:44:00 pm
content: SERDES are essentially just shift registers, located VERY close to the IO pads they are serving, so as to limit propagation delays.Even a very simple CPU is more than an order of magnitude more complex than just a SERDES block (probably closer to 2 orders.)Then once you have a lot of such cores spread out on a die, you get intractable delays and skew due to clock distribution. Then making hundreds of cores cooperate (read: share resources, have means of syncrhonization, etc) adds considerable complexity. You'll never get such a system to run @100GHz. Probably not even @10GHz for the time being.Then so much cumulated logic switching at such frequencies, that would heat up so severely that it probably wouldn't be possible to cool it. Or doing so would cost so much and draw so much power that it wouldn't make sense.Oh, and that's just the hardware side of things. Of course there's the software side of it, which must be taken into account if we want this to be actually usable. Writing efficient parallel software is hard enough, but making efficient use of 100+ cores on a single system? Yeah. At least for typical desktop/workstation work. For servers, that would be another issue: the large number of cores could be beneficial, although with current OSs we would likely reach a bottleneck... but too many cores on the same "processor" is a single point of failure. Fewer cores on more physical processors is better from a robustness point of view.So yeah, just my 2 cents.

author: mawyatt
author_rank: Super Contributor
timestamp: February 12, 2021, 12:16:38 am
content: The limit is thermal, as the CMOS node size gets smaller you can pack more transistors in a given space but you can't crank up the speed because of thermal density. We were briefed on a new IBM FinFET 14nm CMOS Silicon on Insulator (SOI) process back in ~2011. They found that they could not take benefit of the node size and lower channel to substate capacitance because the channel to substrate thermal impedance was higher than competing junction isolation CMOS processes, so they needed to keep the transistor density lower and thus the chip size larger. This proved to be an unmarketable situation (higher chip cost) for complex higher performance chips where this process would compete, so IBM never offered it to outside sources. Thermal limitations due to the higher thermal impedance of SOI vs, junction isolation is what killed this IBM 14nm FinFET process.Likely why you see the trend of more cores, but not higher speeds. They could run less cores at higher speeds but this wouldn't take advantage of the smaller CMOS nodes ability to pack more transistors in a given space, since the transistor density would need to be decreased to keep the heat generated in check.Best,

author: Marco
author_rank: Super Contributor
timestamp: February 12, 2021, 05:07:32 am
content: A single cycle adder probably has 10x the propagation delay as any clocked circuit in the SERDES ... you can only pipeline so much before it starts to cause problems.

author: ali_asadzadeh
author_rank: Super Contributor
timestamp: February 12, 2021, 11:28:24 am
content: In 80's if you talked about 1GHz CPU most ppl would think it would be impossible, also a few years ago having a 1GHz MCU was a dream and not a viable option, we engineers should find a solution.We have large core CPUs already80 core AMD in this linkhttps://www.gamersnexus.net/news-pc/3562-hw-news-amd-zen-3-rdna2-ampere-80-core-cpu1024 core Epiphany-V RISC processorhttps://www.parallella.org/2016/10/05/epiphany-v-a-1024-core-64-bit-risc-processor/

author: tggzzz
author_rank: Super Contributor
timestamp: February 12, 2021, 12:08:53 pm
content: Quote from: ali_asadzadeh on February 12, 2021, 11:28:24 amNo, they didn't. CMOS scaling was well understood then.The nearest question was "what could we use all those transistors for?".QuoteIf you want one that is commercially deployed in embedded applications, look at the 4000MIPS 32core XMOS xCORE processors available from Digikey. Bonus: predictable hard realtime operation.

author: brabus
author_rank: Frequent Contributor
timestamp: February 12, 2021, 12:58:25 pm
content: 100Ghz --> Wavelength 3mm. That chip better be damn small!

author: TheUnnamedNewbie
author_rank: Super Contributor
timestamp: February 12, 2021, 01:06:52 pm
content: We can make them - the critical paths within electronics have been getting longer again and more complex. More operations per cycle, and so on.But there is a tradeoff in power - if you go twice as fast, you consume (more than) twice as much power. It's more energy efficient to stick to the same speed, and do more things with your single clock cycle.Just because we can, doesn't mean we should. As you go faster, you need to fill the capacitance of each switch more quickly. This takes more current (=higher power consumption), which takes larger switches. These larger switches themselves consume more static power, and on top of that have bigger capacitance (which again takes more current,...).These 100 Gbaud SERDES take huuuuugge amounts of power. Absolutly massive. Not to mention the area they need because they can get quite complex. And they don't use classic logic. In these fast circuits, you switch to things like ECL/diffential logic, which consumes orders-of-magnitude more power than classic CMOS gates.And when you go really, really fast, we start needing to do impedance matching on-chip. Which we already do in things like 100 GHz transmitters and receivers, but one of those matching networks takes more area than an entire ALU would on a regular CPU.

author: RoGeorge
author_rank: Super Contributor
timestamp: February 12, 2021, 02:09:45 pm
content: Quote from: ali_asadzadeh on February 11, 2021, 09:17:48 pmIt's SERDES, stands for SERialize DESerialize (data), they convert parallel data bits into a serial stream of bit by bit data, and vice-versa.

author: Terry Bites
author_rank: Super Contributor
timestamp: February 12, 2021, 05:18:07 pm
content: The limit on transistor size and speed has been reached. Quantum effects start to dominate (in a bad way) at short channel widths so you just cant go any smaller or faster. At smaller sizes your transistor may just do its own thing! The next step is smarter.

author: coppice
author_rank: Super Contributor
timestamp: February 12, 2021, 06:07:01 pm
content: Quote from: tggzzz on February 12, 2021, 12:08:53 pmCorrect. The question was only which scaling would finally let us pass 1GHz. If we had got to 130nm without passing 1GHz, THAT would have shocked the engineers of the time.Not having 1GHz MCUs is simply a matter of their being no significant market for them until recently. Most MCUs are not run at their rated clock rate, because most MCU applications just don't need much speed, and a slower clock can reduce power consumption. It was only simple DSP functions, like motor control, moving into MCUs that really created a volume demand for fast MCUs. If you want a traditional style MCU, with the program executed from something programmable but non-volatile, like flash or FRAM, MCU speed are still heavily constrained. This was always frustrating, if you had a niche application that needed speed, but you won't find MCUs being designed for small niches. Most MCUs are designed with one or two very specific high volume applications in mind, and any sales outside those application are a nice bonus.

author: guenthert
author_rank: Frequent Contributor
timestamp: February 12, 2021, 06:16:47 pm
content: Quote from: Terry Bites on February 12, 2021, 05:18:07 pmWhen? Just now? I think I read something like that ten years ago. And ten years before that.

author: Simon
author_rank: Unknown
timestamp: February 12, 2021, 06:24:16 pm
content: "physics" ?

author: jmelson
author_rank: Super Contributor
timestamp: February 12, 2021, 06:40:44 pm
content: There are two issues. One is power dissipation, it goes up with increasing clock frequency. One trick is to not clock sections of the chip that are not processing data at that moment.The other is synchronization. As the clock is speeded up, it gets harder to keep all the separate functional blocks in sync. The fix for that is to allow the functional blocks to run asynchronously, but synchronize the exchange of data. Some guys I work with did research on this and called it "GALS" Globally Asynchronous Locally Synchronous. They even formed a company to develop chip design tools to manage this, as the tradional tools were not able to handle this well.There has been lots of work to try to speed things up, but they have not moved the limits very far. Copper conductors instead of aluminum, planar interconnect, halfnium gates to reduce leakage at lower voltages, etc.Jon

author: Simon
author_rank: Unknown
timestamp: February 12, 2021, 06:49:49 pm
content: I kind of got the impression that adding L3 cache whilst adding memory controllers to processors and multicore processors started to go down the route of asynchronous operation of parts although I suppose it's a trade off of how smaller section can run asynchronously versus the complexity of the now required interface to the rest of the system. I see that processor speeds no longer bear any relation to the RAM speeds whereas in the past they were more locked together. Processor cores also run at different speeds now. I see that my processor with 8 cores can have a couple of hundred MHz or more difference in speed between each other.

author: tggzzz
author_rank: Super Contributor
timestamp: February 12, 2021, 07:53:07 pm
content: Quote from: Simon on February 12, 2021, 06:49:49 pmAdding any cache that is local to a core has that effect.QuoteIt is asynchonous at one level, as is out-of-order execution.All of these tricks may speed up many operationson average, but not worst-case. In addition alargeamount ofverycomplex logic has to be added to ensure the global state maintains memory consistency.Sun's Niagara processors opted to throw away that "surplus" logic and replace it with 64 cores each running at main memory speed; that worked extremely well on multithreaded server code.I hope the OP has put together the limitations of "global state" and "speed of light in Silicon".

author: bson
author_rank: Unknown
timestamp: February 12, 2021, 10:18:21 pm
content: The wavelength of an electron is on the order of 0.1nm, so when channel widths are getting down to ever smaller multiples of this a bunch of stuff happens:- Geometric accuracies (especially the channel widths) become more critical- Voltages drop; if too high the electron will be shot right through regardless of base or substrate and we get leakage currents- Channel modulation effects increase- Electron wavelength varies with momentum (the mass being constant), and so it becomes more sensitive to heat (photon collisions)- Higher e energy -> shorter wavelength + lower voltage; lower e energy -> longer wavelength + higher voltage- Supply or signal voltage noise becomes more problematic- The process needs to be low friction (friction being the need for electrons to change energy levels to slot into holes, which results in a release of photons), which puts demands on materials, dopants, and purity- The need for ever lower electron energy levels without excess heat (impedance) calls for higher atomic numbers for conductors and dopands - and at some point won't exist- At some point the voltages are so low, the energy levels so relatively high, and everything relatively noisy, and materials unstable or simply nonexistent, that the whole thing just becomes a wad of uncertainty and of no practical useSo, yeah, physics. If Moore's law had been sustainable we would have had 5-6GHz processors by 2005 and 50GHz processors today. Something has to give, and it seems it's the clock that doesn't get scaled.

author: grumpydoc
author_rank: Super Contributor
timestamp: February 12, 2021, 10:43:01 pm
content: Quote from: bson on February 12, 2021, 10:18:21 pmMoore's "law" was only ever an observation, of course, not some immutable law of nature - and only referred to the number of transistors, not clock speed.Even Moore realised that it would not hold forever - that you can't just keep shrinking transistor sizes indefinitely.

author: wizard69
author_rank: Super Contributor
timestamp: February 13, 2021, 03:05:54 am
content: I probably can't add much to the technical discussion other than to say getting complex logic to operate correctly is likely the big issue. That is getting timing right over large areas of a chip gets to be very difficult.In any event I have to respond with a question of my own, which is why would you want such high clock speeds when we can have 8 or 16 core processors so cheap these days? It was the advancement to multicore chips that really made personal computing in my opinion. The average PC can have many things going on at once without impacting the primary app at all. If that primary app is complex we get to run threads across most of those cores making high GHz processors pretty useless.I'd be the first to admit that some apps are bound to a single thread without an easy recourse to multi threaded programming. Those apps are not however significant enough to worry about. Frankly if such apps do need to run faster it is often better to throw special purpose logic at the problem.Now there is likely to be a move to higher clock rates if manufactures can get 3D chip design and production solved. You then might be able to increase the clock rates to ALU's or other parts of the chip that can be compacted into a small area. I don't see engineers being able to compact an entire SoC for higher clock rates though.

author: gnuarm
author_rank: Super Contributor
timestamp: February 13, 2021, 04:26:37 am
content: Quote from: wizard69 on February 13, 2021, 03:05:54 amOr we can just build a computer the size of the Earth. ; )

author: Simon
author_rank: Unknown
timestamp: February 13, 2021, 08:13:14 am
content: I don't think multicore processors have helped personal computing much. They have but not to the degree of 8 cores. No one needs 8 cores unless they actually have a use for them. 2 core processors were certainly a big leap as it gave a computer the ability to multitask better but unless a program is specifically written to multithread and most are not having 8 cores is a waste of silicon, that is why i run BOINC on my computers, my computers are some of the few that do get used to their full potential.Yes I do boast to people that I can have a fully loaded GPU with folding at home, whilst watching 2 videos and having a video call and have the processor running 75% on BOINC tastks as well and have no performance impact and even use 3D CAD at the same time with only some performance hit.... but this is not typical. The 3D CAD program has always been recommended to run on a 2 core machine because even though it is a prime candidate for multithreading the makers could not be asked to take on the enormous task of rewriting it's fundamentals. So at work we have i7 4 core processors of which only 1 core can be fully loaded by the CAD program. Turning hyperthreading off actually made it more responsive...I think the big winner in multi core is gaming which has a high turnover of development anyway so it would not be unusual to rewrite stuff to take advantage of the latest tech.

author: grumpydoc
author_rank: Super Contributor
timestamp: February 13, 2021, 09:31:03 am
content: Quote from: Simon on February 13, 2021, 08:13:14 amExcept that games typically don't make heavy use of CPU threads - it's relatively uncommon for a game, even modern ones, to be CPU bound, as opposed to GPU bound.

author: Simon
author_rank: Unknown
timestamp: February 13, 2021, 10:56:47 am
content: Yes I guess so. With my 3D CAD example I found that it ran faster on my home computer with a £22 graphics card but a 4.4 GHz processor rather than at work on a 3.5 GHz processor with a £400 graphics card. This is because the calculations made when moving the model in 3D space were made by the CPU although the GPU would render them. And this is what was so silly about it all because my test was on an assembly, so a model made up of individual models (parts) bound together. So the software knows the absolute position of any part in the assembly. So when I move it on screen it could use every core available to calculate the new positions of multiple parts at a time as independent parallel operations which totally lends itself to multithreading. But the software was written before multi threading (core) CPU's were available and to make the software perform at X times the speed by using all X cores available it would require a fundamental rewrite.

author: coppice
author_rank: Super Contributor
timestamp: February 13, 2021, 04:27:34 pm
content: Quote from: grumpydoc on February 13, 2021, 09:31:03 amI see people regularly saying this about current games, yet the main games consoles (PS4 and XONE) moved to having a considerable number (of low performance cores several years ago. Someone is being unrealistic, but I've never investigated who.

author: Simon
author_rank: Unknown
timestamp: February 13, 2021, 04:59:57 pm
content: well it's how GPU's work, they run hotter and take more power but have several thousand cores running at a lower speed which is probably more efficient if you can parallel compute. Server processors are never that fast as they care more about efficiency.I keep my GPU limited to 60W and it runs at 1.5 GHz, if I let it have full power it will run at up to 90W at 1.8 GHz, so it's more efficient at 2/3 the power which is still plenty fast enough.

author: coppice
author_rank: Super Contributor
timestamp: February 13, 2021, 05:02:54 pm
content: Quote from: Simon on February 13, 2021, 04:59:57 pmIf that was a response to me, I'm not talking about the GPUs in consoles. I'm talking about those 8 core AMD processor setups they have, that use the low performance Jaguar cores.

author: grumpydoc
author_rank: Super Contributor
timestamp: February 13, 2021, 05:27:16 pm
content: Quote from: coppice on February 13, 2021, 04:27:34 pmNot sure you'd really call it a "considerable number" compared with desktop PCs. PS4 had 8 cores, it's the "Jaguar" architecture clocked at 1.6GHz in the original and 2.13Ghz in the "Pro"; PS5 also has 8 cores, this time Zen 2 clocked at up to 3.5Ghz - the Jaguar cores in particular won't set anyone alight so overall less powerful CPUs than contemporary PC's (PS4 was 2013 so Haswell was the current Intel architecture so up to 4C/8T on "desktop" platforms but Haswell cores are much faster than Jaguar clock for clock and run at 2-3x the clock speed of the console CPUs).XBox one was also 8 cores of the Jaguar CPU clocked at 1.75Ghz, XBox series X is, similar to PS5, 8 AMD Zen 2 cores clocked at up to 3.8GHz

author: SiliconWizard
author_rank: Super Contributor
timestamp: February 13, 2021, 05:43:22 pm
content: Regarding gaming consoles, you definitely need to consider heat management, that would explain why lower clock frequencies are favored. Given the average size of those consoles, it's extremely difficult design-wise. Especially since NOISE must be kept to a reasonable minimum. Some powerful laptops make an awful lot of noise when used at full load - that wouldn't be acceptable for a gaming console.As you said, the newer consoles tend to be clocked higher, but I'd suggest taking a look at the internals for heat management. There are some teardowns out there. Holy cow. The design of the cooling systems must have taken longer than the design of the electronics.

author: gnuarm
author_rank: Super Contributor
timestamp: February 13, 2021, 05:56:28 pm
content: Quote from: SiliconWizard on February 13, 2021, 05:43:22 pmI think the response to that is "it depends".Twice as many cores running at half the frequency uses the same power if all other things are equivalent. However, running faster may require higher voltages to achieve higher clock speeds. Since power is proportional to the voltage squared, that starts sucking up power a lot faster.On the other hand I believe it requires more work to share processes across more processors than just using one fast processor. Keeping all cores running at 100% is not easy and requires work itself.So there is the tradeoff in a nutshell, more CPU cores spending CPU cycles being more cores or fewer CPU cores sucking down power at higher voltages.

author: Simon
author_rank: Unknown
timestamp: February 13, 2021, 06:00:13 pm
content: reducing speed greatly saves power, as I said above my GPU needs 60W to do 1'500 MHz and 90W to do 1'800 MHz. 50% more power to do 20% more speed as you say 1.2 squared is 1.44 so pretty close to my rough figures.

author: gnuarm
author_rank: Super Contributor
timestamp: February 13, 2021, 09:11:05 pm
content: Quote from: Simon on February 13, 2021, 06:00:13 pmThe squaring is from the higher voltage which you don't factor in. The 1.2 is the speed increase which is a separate power draw from the voltage impact. So the power increase in your case would be 1.2 x X^2 where X is the increased voltage required to achieve the faster speed. X may be 1.0 in some cases where the device can run at the full speed without a voltage change and it is being run slower just to save power. Then the power is directly proportional to the speed alone. In your case it seems the voltage increase is about 12%.1.2 x 1.12^2 = 1.5

author: Simon
author_rank: Unknown
timestamp: February 13, 2021, 09:23:13 pm
content: I haven't looked into it much just limited the power to stop the noise. but roughly without being meticulous it looks like yes the power to speed is exponential so in general if you can parallelize something it could save power.

author: wizard69
author_rank: Super Contributor
timestamp: February 14, 2021, 12:46:45 am
content: The last half of this thread seems to be filled with a bunch of misinformation or experiences that I have not observed.#1 PC's did not become suitably responsive until the arrival of 4 core processors. Before that the user experience on single or dual core machines was pretty sad. Mind you this is the experience I had with Windows at work and Mac OS and Linux at home. Multiple cores have solved a lot of problems in the user space when it comes to responsiveness of the computer. Even something like running a web browser would often result in degraded performance.It makes no sense at all to dismiss multi core machines based on the fact that legacy software doesn't leverage all of those cores. Legacy applications just need to die just like old operating systems and hardware. Nobody seriously considers using an 80286 these day yet we have people suggesting that similarly old software is a reason to dismiss multi core platforms. That makes no sense to me.In the world of personal computers the only performance that really matters is that the user experiences. How a machine is loaded when a user isn't there is meaningless as this isn't a server install. If we miss what makes a personal computer personal then we end up making silly attempts to manage it as if it was part of a commercial installation.I know this response takes the thread further off course but I really don't see a lot of justification right now for lusting after higher clock rates. They might come but two things are apparent to me:Multi cores deliver a far better user experience.Apple and AMD too a lesser extent, have demonstrated beyond argument that putting more smarts into a processor will lead to better performance at lower clock rates. In both cases running processors at lower clock rates have resulted in far better power usage which is probably high clock rates biggest problem.Intel has pretty much demonstrated that relying upon faster clock rates to advance performance is not a wise move.

author: David Hess
author_rank: Super Contributor
timestamp: February 14, 2021, 03:43:28 am
content: The load-to-use latency of the instruction pipeline must match the level 1 cache access time. Otherwise the pipeline stalls on every memory access so there is little point in operating that fast.This is where out-of-order processors have a frequency advantaged over simpler in-order processors. Out-of-order operation increases the load-to-use latency so either a cache with longer access time can be used or a higher clock speed can be achieved without adding wait states.It is pretty easy to calculate the load-to-use latency. In the most modern out-of-order processors it is 4 clock cycles so at 4 GHz, this is a 1 nanosecond access time. An in-order processor with a load-to-use latency of 1 clock cycle could only operate at 1 GHz with the same 1 nanosecond cache access time. Intel x86 processors made the move from a 3 to 4 cycle load-to-use latency a few years ago.

author: hans
author_rank: Super Contributor
timestamp: February 14, 2021, 09:14:34 am
content: Quote from: Simon on February 13, 2021, 08:13:14 amI think we must also not forget that technologies like HT or SMT are very strange indeed. Like what is the moral again to tell to the developer? Oh yes, if you can rewrite your application to use 2 threads instead of only 1, you will have more processing throughput! (Which is nice for benchmark figures). Oh but also if you do that, both threads will contest for the same CPU pipeline, so latency and performance of both threads will suffer, potentially dramatically on a poor implementation.If you then consider that one of the 2 threads can also be the OS, then indeed I can see why your experience with turning of HT will yield in better system responsiveness. This also has been observed for some videogames that were not scheduled particularly well on these CPUs.So I'm very glad that we have multi-core CPU's. 1.5yrs back I bought a 12-core 3900X right at launch. "Overkill!" shouted people at me. Yet here I am, having this chip running at 100% load for long times of the day (e.g @Home projects), without noticing anything at all. I can launch hundreds of threads for the own simulations I do (or have @Home attacking my CPU instead), while also doing 3D eCAD work in Virtualbox with asoftware GPU; no problems.Yet I also still remember the times that if a videogame or other process would consume 100% of the system CPU, Windows would basically choke and the fastest way to a usable machine was a power cycle.Oh.. also in terms of power consumption scaling of processors. I looked at this example:https://arstechnica.com/gadgets/2020/12/new-risc-v-cpu-claims-recordbreaking-performance-per-watt/69mW for 8000 Coremarks @ 3GHz is very impressive. That is inline with the about 2.5 - 2.6 Coremarks/MHz a RISC-V CPU will get. Compared to a Ryzen 3900X (540k Coremarks), it's nowhere close, not even per CPU.If you want to match even a single Ryzen CPU with that low-power architecture, you would need to run that chip at 17GHz.So let's scale the numbers: 200mW @ 4.25GHz, 69mW @ 3GHz, assume that all extra power is dynamic (e.g. no static powers). Solve the system of equations:0.2 = a*b^4.250.069 = a*b^3Then we get a=0.005366, b=2.34285 for P=a*b^f and n=f*8000/3 / (a*b^f) for Coremarks/W efficiency.If we use f=17, we have P=10 357W (10kW) and an efficiency of 4.4 (down from 55k - 117k).If we hypothetically could solve all computing problems with a 100GHz CPU, we need P=5.06E34 W (that's a lot) and n = 5.3E-30 (that's not a lot).I.e. even with this very crude inaccurate model (any static power will only increase base b), I think it nicely shows why pushing higher frequencies is useless. Most single-thread performance gains is from very wide processing pipelines and branch prediction these days. But I think we will also have to accept that even this will 'end', and that perhaps in a few years time multi-core systems will also plateau if we can't figure out a way to work around Amdahl's law.

author: Simon
author_rank: Unknown
timestamp: February 14, 2021, 10:03:35 am
content: I don't disagree with multicore CPU's but I think the average person does not get how complex it is to the point ebay sellers sell PCs quoting the speed as the CPU speed times the threads (virtual cores) never mind the real number. 4 I think is the sweet spot unless you are actually going to use those cores like I do. more cores will not run a program faster, only make the machine more responsive to a point and you have to run slower anyway. This is why in a side by side comparison with solid edge more cores is less performance if the base speed is higher as it is a single thread program so my PC won over the work one as it was nearly 1 GHz faster.2 cores was certainly a breeze to single core and if it's just office applications more is a waste.

author: Marco
author_rank: Super Contributor
timestamp: February 14, 2021, 01:33:08 pm
content: Quote from: coppice on February 13, 2021, 04:27:34 pmConsole games are written to a specific platform, if there's 8 cores and they have enough time to polish up the game they can just improve physics/particle effects ... it's a bottomless pit.

author: NiHaoMike
author_rank: Super Contributor
timestamp: February 14, 2021, 02:06:12 pm
content: Quote from: coppice on February 13, 2021, 04:27:34 pmDoesn't the use of many cores in consoles date all the way back to the PS3?

author: mawyatt
author_rank: Super Contributor
timestamp: February 14, 2021, 02:42:36 pm
content: Quote from: NiHaoMike on February 14, 2021, 02:06:12 pmBack in 2003 we were briefed by IBM on the Cell Processor intended for use in the PS, it was a central Power PC core with 8 numeric processors I recall. Ran on 1 volt and dissipated 90 watts. This was a very powerful processor at the time and IBM was paranoid about the USG imposing export control on the Cell. So much so that they changed the design so the Cell wouldn't work outside the PS (encrypted) because a company was buying the PS and removing the Cell and installing in another mother board running Linux for use in CAD applications. Very powerful processor at the time indeed!!Best,

author: coppice
author_rank: Super Contributor
timestamp: February 14, 2021, 02:53:00 pm
content: Quote from: NiHaoMike on February 14, 2021, 02:06:12 pmYes, but in a different way. The Cell chips had several fast specialised number crunching processors, and one more general purpose control processor, and the Cell chip handled the whole game. The 8 cores in a PS4 or XONE are supported by a powerful GPU. The 8 medium speed cores vs 1 or 2 very fast ones for the general purpose processing work that the PS4 and XONE designers made didn't really enter into the PS3 design choices.

author: coppice
author_rank: Super Contributor
timestamp: February 14, 2021, 03:01:02 pm
content: Quote from: mawyatt on February 14, 2021, 02:42:36 pmWhat happened to the Cell processor is rather sad. A lot of resources were put into getting it off the ground, and then very little was put into sustaining and developing it. I still have a Leadtek PCI-E board with a Toshiba SpursEngine chip, which is cell based. I bought it with the intention of developing media acceleration for it. However, it quickly became obvious that there wouldn't be good ongoing support from Toshiba or the other companies developing Cell. I didn't get much beyond finding that the chip could perform very well for my purposes before I realised it was a lost cause.

author: mawyatt
author_rank: Super Contributor
timestamp: February 14, 2021, 04:23:40 pm
content: Quote from: coppice on February 14, 2021, 03:01:02 pmIt's sad to see what IBM is today. They were the ones paving the way in semiconductor technology with the SiGe Bipolar, Ge induced strained CMOS, SOI, Cu interconnects, FinFET and so on. They always didn't have a smooth ride tho, with the SiLK gate dielectric failures and thermal limited SOI FinFET, but as a leading technology company weren't afraid to push the envelope in the semiconductor field. They were the most influential semiconductor company over the past 4 decades in pushing the limits of this technology and keeping Moore's Law alive IMO.Best,

author: gnuarm
author_rank: Super Contributor
timestamp: February 14, 2021, 04:59:02 pm
content: Quote from: coppice on February 14, 2021, 03:01:02 pmSound engineering decisions are not always sound business decisions. That's why most successful engineering companies are not run by engineers.

author: coppice
author_rank: Super Contributor
timestamp: February 14, 2021, 05:06:46 pm
content: Quote from: gnuarm on February 14, 2021, 04:59:02 pmMost business decisions are far from sound. Why put the heavy investment into something new, if you aren't prepared from the outset to see it through to a clear point of success or failure? That's just investment down the drain. I've seen more things fail due to this kind of half assed behaviour, than fail because the technology or the timing didn't work out. I've also seen a lot of business people cling on to something way past the point of clear failure.

author: mawyatt
author_rank: Super Contributor
timestamp: February 14, 2021, 05:24:37 pm
content: Think the biggest failure mode in larger enterprises is the arrogance and stubbornness that reduces ability to be adaptable & flexible, while adding the next quarter vision limit mentality that Wall St. imposes on meeting "their" expectations.Best,

author: wraper
author_rank: Unknown
timestamp: February 14, 2021, 05:26:26 pm
content: A lot of talk about RISC, but not a single mention that for More than 2 decades Intel x86 processors are actually RISC in disguise.

author: gnuarm
author_rank: Super Contributor
timestamp: February 14, 2021, 05:49:31 pm
content: Quote from: coppice on February 14, 2021, 05:06:46 pmYou have that backwards. Why continue to put money into something that turns out to be a poor business decision? The "sunk costs" fallacy. Engineers also make mistakes of being overly optimistic when estimating costs and schedules. To be good at business you don't have to forget engineering, but you have to put it in it's appropriate place.The reality is a good business manager can be advised about the engineering by good engineers. The reverse is not true. The person in charge has to understand the business decisions in order to make them while delegating the engineering decisions to the engineers.Of course many engineers won't agree with this.

author: coppice
author_rank: Super Contributor
timestamp: February 14, 2021, 05:51:52 pm
content: Quote from: gnuarm on February 14, 2021, 05:49:31 pmYou seem to have read the opposite of what I wrote.

author: janoc
author_rank: Super Contributor
timestamp: February 14, 2021, 08:02:37 pm
content: Quote from: coppice on February 13, 2021, 04:27:34 pmGiven that I regularly work with game engines like Unity and Unreal Engine, I can tell you that you are wrong about the threads.A typical game using one of these will use one main thread running most of the logic and submitting frames to be drawn, one rendering thread where the submitted frames actually get sent to the GPU, maybe one thread for networking and paging in assets from disk. Perhaps one more for sound. And that is all. Many games have only maybe 2-3 threads max. There simply is no need for more, given what a typical game does.Videogames are not heavily threaded because there is no benefit in it. The bottleneck is almost always the GPU, loading data from disk and such - and throwing multiple threads at this won't help you any because the hardware isn't "re-entrant", so multiple threads trying to do e.g. rendering or reading from disk will only fight over locks but won't make the rendering or disk spinning any faster. Also games rarely need to do any significant calculations on the CPU these days.8 is not a "considerable number" of cores by any measure and that the consoles have them is only because they are based on commodity hardware (AMD X86-64 Jaguar for PS4, another AMD X86-64 chip for XBone). Not because they need or even use all of them all the time when playing games. Also the consoles typically dedicate one core to the OS functions.

author: wraper
author_rank: Unknown
timestamp: February 14, 2021, 08:13:40 pm
content: Quote from: janoc on February 14, 2021, 08:02:37 pmWere you living under the rock for more than a decade?QuoteLess than 6 core (modern, not Bulldozer crap) CPU severely limits gaming performance on PC. With 4 cores even if average FPS might be somewhat OK, there will be stuttering in many games. Saying that PS4 does not use all of the cores is complete BS, nobody will put more CPU cores than needed in console, nor architecture requires many cores. PS4 CPU is too weak, if anything.

author: hans
author_rank: Super Contributor
timestamp: February 14, 2021, 10:03:58 pm
content: Quote from: Simon on February 14, 2021, 10:03:35 amOh for sure, but so does Apple not like to quote which specific i5 or i7 your system is getting. Salespitches (e.g. on Ebay) only care about preventing false advertising because that's what drives refunds and problems. Wen you advertise a PC: does the CPU have 4 cores, run 3GHz, and is it an Intel i7? Great, that stuff sells because people know the i7 brand and 3GHz sounds good. We really don't care it's in fact an i7 950 from 10 years ago.But that's not much different than buying a car from a generic car shop that doesn't know the product he/she sells, because he bought the car as trade stock (for lack of a better translation) from another dealer. Does this car use a belt or chain? How many speeds does the automatic transmission have? What is the fuel consumption like? "Oh I'd have to look that up sir.."I think especially a question like the latter, which is user experience related, depends on what you need & expect. I know some people think that anything <9L/100km is economical. I start to complain when my car uses more than 6L/100km. Likewise, how much horsepower do you want a car to have? Even a Citroen C1 will get you in the fast lane on the highway, although you may need to push it a bit harder. The one advantage of cars is that we generally do not raise the speeds and performance bar, so there's that.In contrast, computers will become 'slower' over time. Operating systems, program versions and webbrowers get updates. You install them because of security patches but bringing in new features also (eventually) slows things down. Likewise, a dual core machine will do office tasks just fine, but I wouldn't be certain about buying such a spec new today. Single-core clock speeds are indeed king for general day use, but IME most modern CPU's (especially from AMD) all clock pretty high, with decent IPCs to get that single-thread performance. Only Intel seems to think that selling 3 different i5's plus charging extra for unlocked clocks is an attractive product skew. But I digress, I have noticed that things like webbrowsers, non-hardware accelerated video decoding, etc. all chew up a considerable amount of CPU horse power, to the point where even an i5 3570K can start to feel slow when in use as a HTPC (with probably poor iGPU driver support, admittedly).

author: janoc
author_rank: Super Contributor
timestamp: February 14, 2021, 10:06:14 pm
content: Quote from: wraper on February 14, 2021, 08:13:40 pmAnd what about a factual argument instead of gratuitous ad-hominem?E.g. I have started Deep Rock Galactic right now - pretty recent game, using Unreal Engine. As recent and "AAA" as it gets.This starts a dozen or so of threads - but almost all of them are blocked waiting for various things (i.e. not really using CPU). I have a 4 core i7-6700 CPU - and it sits at 30% utilization even with the game running.But please do tell someone who has actually worked on the Unreal Engine rendering code stories about videogames being heavy threading users ...If you have said databases or some sort of server where you often see a thread per connection, I would believe you. But not videogames.Quote from: wraper on February 14, 2021, 08:13:40 pmAnd how do you know that this stuttering isn't simply due to bottlenecks like missing vsync cutoffs which causes an instant frame rate jump, insufficient GPU performance (again causes the same symptom), the game loading a ton of stuff from disk (again the same symptom)? Or million of other possible issues.Did you actually profile a game? I did. It is part of my day job. And I can tell you that it is extremely rare for the CPU to be the bottleneck - in modern games the CPU is there pretty much to only shove buffers into the GPU as fast as it can - and that's all.Quote from: wraper on February 14, 2021, 08:13:40 pmAnd you have completely missed my point. That you have 8 or how many cores available does not mean that all are actually in use at any given momentby the application(i.e. game and OS). You can have even 32 or 64 cores available - and your game won't run any faster if the software doesn't have anything to actually utilize them for.

author: hans
author_rank: Super Contributor
timestamp: February 14, 2021, 10:20:28 pm
content: I agree with @wraper. I ran Cyberpunk 2077 on my 3900X, and saw CPU usage typically at 45 to 50%. That's a full 6 core, 12 threads in use by a single game! Most people would have bought a 3600X and be done with it - those CPUs are brought down to their knees.I have exactly the same experience with racing simulators, but also building games like Satisfactory. I have built a reasonable size factory. Upgraded GPU from GTX970 to RTX3080 (over 5x performance): still can only get 40fps.Even MSFS , which is notorious for leaning very much on the mainthread, uses more >4 threads on my machine. Admittedly, I like to see it use as many threads as it can because the game still runs like absolute garbage in busy areas (as in 15fps garbage, with huge lag spikes in VR), but nonetheless: 4 threads for a modern game is not a lot anymore. In addition, high FPS gaming has become a thing in recent years. I run 1440p 144Hz displays, and if the game motion benefits, I do want to hit at least 2/3s of that framerate (even with adaptive sync tech).There are plenty of games that are CPU bound by e.g. a Core i5 6600k from only a few years back. Just take a look at charts like these:https://youtu.be/LCV9yyD8X6M?t=751https://youtu.be/LCV9yyD8X6M?t=948The reason why we get a PC for gaming is because we want to run these games at crazy resolutions, aspect ratio's, VR, framerates or interesting game concepts or niche simulators. I for sure would be pretty annoyed if an i5 "gaming CPU" from only a few years ago only pushes half or 2/3s of what a new 6 core Intel CPU can do. Yeah okay, they use a 2080Ti to push 1080p medium/high details to highlight bottlenecks. But with the recent new GPU generations, even people buying a brand new 3070 (perhaps targetting 1080p/1440p 144Hz+) will have a similar level of GPU performance; so it's really necessary for game engines to step it up to as many threads as they can benefit from.

author: wraper
author_rank: Unknown
timestamp: February 14, 2021, 10:25:02 pm
content: Quote from: janoc on February 14, 2021, 10:06:14 pmIt's not ad hominem, and not attack on person.QuoteLOL "AAA", it's indie game with extremely simple graphics and physics, and thus low system requirements. It could be AAA 15 years ago.QuoteBecause on the same hardware but with 6 core CPU there is not stuttering, it's especially bad on 4 core without HT.Game from 5 years ago on mediocre GTX 1080 GPU by todays standards, disabling Hyperthreading on 4 core CPU significantly worsens performance: