Viewing a single comment thread. View all comments

SoarinPastTheMoon t1_iyjp4gd wrote

I know this sub has a huge anti apple bias but the fact their processors are even competing with the highest end CPU’s while having a TDP of 10-40 watts and barely ever turning on the fans is probably the better approach than redesigning fans.

37

Hattix t1_iyk3kz7 wrote

It's not going to happen, and why is a fundamental aspect of why AMD64 (x86) is different to ARMv7/v8/v9.

ARM gets parallelism at the instruction level (ILP), it has small instructions, very suited for out of order execution. A single thread can get a lot of parallelism, so the CPU doesn't need a lot of overhead to wrestle the ILP bear. The ease at which ARM (and some other RISC archs, like POWER) gets ILP is part of the reason why mandated parallelism in things like VLIW and EPIC didn't do very well: It just wasn't necessary.

AMD64 is very different, it has all that x86 baggage on it. Instructions have all kinds of modes, dependencies, tags, etc., and this makes them a lot more interdependent than ARM instructions are. So, pulling ILP out of AMD64 is a lot more difficult than ARM, and the CPU has to spend a lot more resource in doing it. Even then, it doesn't get the same degree of ILP ARM can achieve.

AMD64 gets more of its parallelism from TLP: Thread level parallelism. There's a reason all performance AMD64 processors from AMD and Intel support simultaneous multithreading (SMT/HyperThreading^(tm)), this is where most of their parallelism comes from. SMT shows a significant performance improvement in almost all cases, meaning execution slots are going spare when SMT isn't in use, which further means there isn't enough ILP to saturate the processor's capability.

This isn't usually the case on ARM, most ARM cores are designed to "race to sleep" and fill as much execution resource as possible. The CPU's awake and clocked up, it darned well better use that time as productively as possible, there's a power budget to worry about!

So, while-ever we're using AMD64, which will be more or less forever as far as the immediate future is concerned, similar performance on AMD64 will always need more power than it will on ARM.

33

volcano_margin_call t1_iyknwxw wrote

You’re the guy who created the silicon chip at Apple lurking on Reddit, aren’t you?

16

magick_68 t1_iylogdi wrote

Sorry for my ignorance but i read that as "We will never switch to arm because arm is better". Maybe i need an ELI5?

6

Hattix t1_iym2a26 wrote

ARM, for low power and performance efficiency, is better, and that is why. It gets more ILP, and ILP is more efficient than TLP (which is more efficient than PLP, but yeah).

AMD64 is entrenched. It's what Windows works on. It's what the entire PC ecosystem works on. The PlayStation and Xbox runs on AMD64. Whether we like it or not, it is here to stay.

I deliberately didn't discuss any switch to ARM, as it's almost certainly not going to happen and I was responding to someone who was saying that making more efficient CPUs was a better idea than better fans.

It is, of course, but it isn't going to happen to the level ARM allows it to.

5

Golden_Lynel t1_iyjqf0u wrote

Yeah, I wish we led more with the idea of efficiency in engineering CPUs

3

BusinessBear53 t1_iykhia2 wrote

My guess is it's just the way the companies have headed due to their main products.

Apple mainly deals in their phones and tablets while still making some computers on the side so naturally they'd want to invest more into their mobile platforms where cooling is passive. Thermal and power efficiency is the primary focus while trying to bump up speed at the same time.

Intel on the other hand deals with systems that have cooling systems. Servers and desktop coolers get pretty beefy so can handle a lot. Raw performance wins and thermals are slightly less important. Sure they have CPU's for laptops and NUCs which lack good cooling but those tend to get lower specced CPU's.

I built my new PC last week and saw that the trend in CPU's has done a 180. My first PC was from 2013 and buying an unlocked CPU to overclock for better performance was the norm. Power pull and thermals be damned.

These days the unlocked CPU's boost themselves to a pre set limit but pull big power and generate heaps of heat. Now some people undervolt to try keep thermals under control without sacrificing too much performance.

7

SoarinPastTheMoon t1_iyjqn45 wrote

I really hope so man. Been running windows arm on my new MacBook and since I have programs that are x86 dependent, the virtualization layer in windows arm is pretty inefficient compared to Rosetta. Even then, my fans don’t turn on.

4

Golden_Lynel t1_iyjqvj3 wrote

Linux

(I know its a meme but I use gentoo btw)

1

SoarinPastTheMoon t1_iyjr3b1 wrote

I would if I didn’t rely on windows only excel extensions and school specific windows programs but looks like we’re getting gpu acceleration with Asahi very soon.

2

swisstraeng t1_iyk4au1 wrote

It's not the efficiency, but a different architecture. The main issue is that, all software made on windows wouldn't be compatible if you change the CPU architecture.

Yeah, all CPUs use the X86 architecture. Or more modern versions that are backward compatible.

Apple's M1 and newer CPUs are not using X86, instead they use the same architecture as our smartphones. Which is more energy efficient, but costs more to produce if you want the same computing power.

1

gredr t1_iyk6cuv wrote

If only the companies who spend (and make) billions designing and producing CPUs realized that we would like more efficient CPUs!

−1

SvenTropics t1_iylc7t8 wrote

You can't compare power usage of a x86 core and an ARM because one was designed for high performance, and the other was designed for low power consumption. It's also why every cell phone uses an ARM processor.

It's like comparing the fuel economy of a Ford 350 and a Prius. Sure, if all you want to do is drive around town, the Prius will get you there just as fast, and it'll do it for 1/3 the gas.

2

Disastrous-Spell-135 t1_iym3n7b wrote

> You can’t compare power usage of a x86 core and an ARM because one was designed for high performance, and the other was designed for low power consumption. It’s also why every cell phone uses an ARM processor.

Why not, when ARM chips get similar or better performance? When the output is the same and one consumes far less power for it, why shouldn’t you compare the power usage?

1