Question Why don't we have a massive push for ARM chips in desktop computers and laptops?

Page 5 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

ibex333

Diamond Member
Mar 26, 2005
4,091
119
106
Note: The following may sound like idiocy, and I admit, I have no clue what the hell I am talking about, but I think its an interesting discussion nevertheless...


Can someone please explain to a complete noob, in layman terms, WHY cant we start using ARM chips instead of Intel? They sure seem a hell of a lot faster and better than Atoms at least! And in many cases faster than Celerons.

Look, I get it, ARM does not support x86 apps, and forget about 64bit... The instruction sets are different. Yadda, yaddaa, yadda. I heard it all before. But they ported Half Life to Android! They emulated a Playstation 3 on PC! They even got Windows 95 to run on gaming handhelds and managed to run Linux on Android phones! Hell, even iOS can run Android now. An unheard of thing five years ago.

So whats the matter? MAKE x86 apps run naively on ARM CPUs! MAKE the same instructions sets for all CPUs regardless of devices they are used for... Just make it happen. And also, why is it, that ARM CPUs were not designed right from the start, with an ability to run x86 apps?

I am aware, that at least one manufacturer, Hewlett Packard, released a laptop that runs on a Snapdragon CPU. It basically "emulates" x86 apps, and I believe the platform is called "Windows on ARM" or something like that. Because code is not ran naively, but emulated, performance is abysmal, but battery life is fantastic. Whats really tempting to me, is that many times, the graphical capabilities of some high end ARM chips seem to far surpass what Intel offers. The gaming potential is immense. But because smartphones don't have full size keyboards and mice attached to them, and do not have PC like games on them, that potential is very limited. But it does not have to be, if we had something like a giant, dedicated tablet, with a ton of usb ports for peripherals and a huge screen. Something like this could potentially be much better than any console and better than many low end gaming PCs.

Am I missing something here? Am I talking complete nonsense? Lets discuss.
 
Last edited:

Topweasel

Diamond Member
Oct 19, 2000
5,436
1,654
136
Only reason there isn't x86-64 emulation is that Intel does everything it can to prevent that happening.
They can't. They could have had some success doing so X86 in general. But they don't own the rights to X86-64 and if they couldn't prevent X86 from being emulated they have no grounds for putting up a fight for 64bit.
 

naukkis

Senior member
Jun 5, 2002
706
578
136
They can't. They could have had some success doing so X86 in general. But they don't own the rights to X86-64 and if they couldn't prevent X86 from being emulated they have no grounds for putting up a fight for 64bit.

They do have patents to some key technologies needed for 64-bit version like SSEx. Intel did also try to prevent emulation of 32 bit version of x86 but couldn't. We will see x86-64 emulation soon, 2023 comes 20 years of it's introduction so then it will be free lunch. SSE2 is 20 years in 2021 so maybe emulation is possible already in next year, at least I havent' heard that AMD is trying to prevent x86-64 emulation.
 

Topweasel

Diamond Member
Oct 19, 2000
5,436
1,654
136
They do have patents to some key technologies needed for 64-bit version like SSEx. Intel did also try to prevent emulation of 32 bit version of x86 but couldn't. We will see x86-64 emulation soon, 2023 comes 20 years of it's introduction so then it will be free lunch. SSE2 is 20 years in 2021 so maybe emulation is possible already in next year, at least I havent' heard that AMD is trying to prevent x86-64 emulation.
I haven't really looked but how involved is SSE in AMD's X86-64 implementation? All but I think SSE4 came out well before X86-64 and you would figure be direct support for those techs are required it would be needed for 32bit emulation as well (unless MS is breaking it all down to 386 pre MMX lvl code). Also considering the overlap in 3dnow versions couldn't they adopt those as their emulation easier with less resistance.
 

DrMrLordX

Lifer
Apr 27, 2000
21,632
10,845
136
No as of right now MS only has 32bit X86 emulation on ARM. He wants MS to get to the point they can do 64bit and its not there yet. I guess it goes both ways. Sure MS does have it "working" but its not as seamless and quick as 32bit on ARM.

Huh! I actually didn't know that, so apologies from me there. That's actually quite bizarre, though I can see emulation of 64-bit code being slower than 32-bit code, potentially.

SSE2 is mandatory for x86-64.

SSE2 was also present on 32-bit CPUs. I'm guessing that MS can already emulate that on their ARM products. It probably isn't the sticking point.
 

Topweasel

Diamond Member
Oct 19, 2000
5,436
1,654
136

This from late last year implies that it was always a performance issue and that's why it was implied to not be coming early next year with testers getting it this year. No references to technology limitations from Intel (at least nothing beyond the attempts to block all X86 on ARM). And when looking up X86-64 as an arch it doesn't implicitly state SSE2 registers, just that it uses ones similar to SSE2. Which could be from 3Dnow or unique to X86-64 with similar functionality.
 

Shivansps

Diamond Member
Sep 11, 2013
3,855
1,518
136
Im not sure but i belive SSE2 is already working on the x86 emulation. Im far more worried about wharever it will come with AVX support or not.
 

amrnuke

Golden Member
Apr 24, 2019
1,181
1,772
136
Im not sure but i belive SSE2 is already working on the x86 emulation. Im far more worried about wharever it will come with AVX support or not.
That would be rough to emulate I'd imagine. Actually, I'm not sure the technical details on whether they could route AVX -> SVE or whether it would have to be purely emulated. What's clear is that it seems like that would be a heck of a hurdle. Even AMD are trailing Intel, and AMD are native x86-64 chip producers.
 

DrMrLordX

Lifer
Apr 27, 2000
21,632
10,845
136
That would be rough to emulate I'd imagine. Actually, I'm not sure the technical details on whether they could route AVX -> SVE or whether it would have to be purely emulated.

They wouldn't have to worry about SVE. MS isn't using anything that supports SIMD more complex than NEON. Emulating anything but AVX128 would be mostly pointless since it would offer no real speed advantage anyway. As long as the binary can function without AVX256, AVX2, and/or AVX512 (which most x86 binaries can), they'll be fine. The critial support level has to be SSE4.1a or whatever.
 

Richie Rich

Senior member
Jul 28, 2019
470
229
76
Emulation is power disadvantage in mobile devices and it's temporary solution only. No wonder MS is wasting money there. I can imagine Apple will push hard to run native ARM code only (saving both money and power consumption). Mainly because first should be MacBook Air.

We should see bigger spread of ARM devices in laptops when A77 and newer will get into majority of cheap SoC (Mediatek, Broadocomm, Rockchip etc.). They use very slow A73/75 so far (A77 has a double IPC which is huge jump in performance, practically reaching Zen2 IPC level).
 

amrnuke

Golden Member
Apr 24, 2019
1,181
1,772
136
They wouldn't have to worry about SVE. MS isn't using anything that supports SIMD more complex than NEON. Emulating anything but AVX128 would be mostly pointless since it would offer no real speed advantage anyway. As long as the binary can function without AVX256, AVX2, and/or AVX512 (which most x86 binaries can), they'll be fine. The critial support level has to be SSE4.1a or whatever.
I was thinking to myself that it would matter for some lab/physics/math environments, etc., but in that case if you're needing AVX2/512 then you're less likely to be running Windows anyway, and there are no good ARM chips to go into STEM (HEDT or serveR) environments right now to exploit such workloads.
For the average user, totally agree with you.
 

Shivansps

Diamond Member
Sep 11, 2013
3,855
1,518
136
That would be rough to emulate I'd imagine. Actually, I'm not sure the technical details on whether they could route AVX -> SVE or whether it would have to be purely emulated. What's clear is that it seems like that would be a heck of a hurdle. Even AMD are trailing Intel, and AMD are native x86-64 chip producers.

I was thinking more about a bin that needs AVX to function than an speed advantage. Because yeah, that would be slow.
 

DrMrLordX

Lifer
Apr 27, 2000
21,632
10,845
136
I was thinking to myself that it would matter for some lab/physics/math environments, etc., but in that case if you're needing AVX2/512 then you're less likely to be running Windows anyway, and there are no good ARM chips to go into STEM (HEDT or serveR) environments right now to exploit such workloads.
For the average user, totally agree with you.

MS is only selling consumer ARM devices right now. Technically there is one HPC ARM chip that supports wide SIMD (A64FX) but I doubt MS is going to touch that with a ten-foot pole. I'd love to see it on Azure but honestly I do not expect it to happen.
 

naukkis

Senior member
Jun 5, 2002
706
578
136
This from late last year implies that it was always a performance issue and that's why it was implied to not be coming early next year with testers getting it this year. No references to technology limitations from Intel (at least nothing beyond the attempts to block all X86 on ARM). And when looking up X86-64 as an arch it doesn't implicitly state SSE2 registers, just that it uses ones similar to SSE2. Which could be from 3Dnow or unique to X86-64 with similar functionality.

AMD did cross-licence SSE2 from Intel to be FPU of x86-64. It was late change, at first they did consider their own three-operand FPU.
 
  • Like
Reactions: lightmanek

naukkis

Senior member
Jun 5, 2002
706
578
136
I was thinking more about a bin that needs AVX to function than an speed advantage. Because yeah, that would be slow.

If there is a such software it sure would not be sane thing to try to use that through emulator. Intel still sells plenty of x86 cpus without AVX support so worrying emulating such a feature set isn't main priority, just being able to emulate software that could be run on Celeron and Pentium would be fine.
 

Topweasel

Diamond Member
Oct 19, 2000
5,436
1,654
136
AMD did cross-licence SSE2 from Intel to be FPU of x86-64. It was late change, at first they did consider their own three-operand FPU.
Well its more than that. AMD already had rights to SSE right away as part of the Primary cross licensing agreement. It's how Intel got to use X86-64. 3dnow and SSE had a storied history, usually with AMD developing 3dnow, Intel implementing their own version of the instructions with SSE and adding a bunch more, and AMD then adding them to 3dnow and adding more and this went back and forth for a little while. AMD would also add SSE support to their CPU's so they would have both basis covered. My point was much like the similarities but differences between 3dnow and SSE, could the X86-64 implementation of SSE2 like technology not actually be SSE2. I don't see why AMD would implement a straight SSE2 implementation into X86-64 when dealing with a whole new set of instructions are going to be required for anyone implementing them in the first place specially when they already had a comparative version of that in 3Dnow.
 

moinmoin

Diamond Member
Jun 1, 2017
4,952
7,661
136
Well its more than that. AMD already had rights to SSE right away as part of the Primary cross licensing agreement. It's how Intel got to use X86-64. 3dnow and SSE had a storied history, usually with AMD developing 3dnow, Intel implementing their own version of the instructions with SSE and adding a bunch more, and AMD then adding them to 3dnow and adding more and this went back and forth for a little while. AMD would also add SSE support to their CPU's so they would have both basis covered. My point was much like the similarities but differences between 3dnow and SSE, could the X86-64 implementation of SSE2 like technology not actually be SSE2. I don't see why AMD would implement a straight SSE2 implementation into X86-64 when dealing with a whole new set of instructions are going to be required for anyone implementing them in the first place specially when they already had a comparative version of that in 3Dnow.
x86-64 was already its own thing though, and for that AMD needed support by the OS and software developers. Intel probably could have pushed through its own incompatible 64bit version of x86 in the long run. AMD's use of SSE2 was the carrot to Intel to not even attempt that.
 

naukkis

Senior member
Jun 5, 2002
706
578
136
I don't see why AMD would implement a straight SSE2 implementation into X86-64 when dealing with a whole new set of instructions are going to be required for anyone implementing them in the first place specially when they already had a comparative version of that in 3Dnow.

Well, because Intel cpus outsold AMD's by factor 10:1 nobody did use 3dnow!, so AMD really needed to support SSE/SSE2. And because they anyhow needed to support SSE2 for 32 bit applications implementing something non-compatible for 64 bit mode would have been wasting resources.

And it is valid argument still today, AMD did abandon it's implementation of SSE5 in favor of AVX.
 

NTMBK

Lifer
Nov 14, 2011
10,237
5,020
136
Well its more than that. AMD already had rights to SSE right away as part of the Primary cross licensing agreement. It's how Intel got to use X86-64. 3dnow and SSE had a storied history, usually with AMD developing 3dnow, Intel implementing their own version of the instructions with SSE and adding a bunch more, and AMD then adding them to 3dnow and adding more and this went back and forth for a little while. AMD would also add SSE support to their CPU's so they would have both basis covered. My point was much like the similarities but differences between 3dnow and SSE, could the X86-64 implementation of SSE2 like technology not actually be SSE2. I don't see why AMD would implement a straight SSE2 implementation into X86-64 when dealing with a whole new set of instructions are going to be required for anyone implementing them in the first place specially when they already had a comparative version of that in 3Dnow.

3DNow! was far worse than SSE. It only had 2 floats per operation, instead of SSE's 4 elements. It was aliased on the x87 and MMX registers, instead of providing new registers. And as others pointed out... almost nobody supported 3DNow.
 

lightmanek

Senior member
Feb 19, 2017
387
754
136
3DNow! was far worse than SSE. It only had 2 floats per operation, instead of SSE's 4 elements. It was aliased on the x87 and MMX registers, instead of providing new registers. And as others pointed out... almost nobody supported 3DNow.

But it still gave a decent boost in few games and when Nvidia Detonators drivers made use of them. Remember very decent frame rate increases on my K6-2 CPU's.
 
  • Like
Reactions: NTMBK

Tup3x

Senior member
Dec 31, 2016
964
949
136

Not sure how accurate the info is but it looks like Apple plans to use rather high core count CPU for their ARM based laptops. Eight high performance cores and four energy efficient cores. If they can clock those high performance cores high, it should be quite beefy for laptops and definitely much better than current laptop Snapdragons. They already have the best mobile GPU so it would be interesting to see how well it does in laptops. Qualcomm should follow... They haven't done much yet. Basically mobile chips with higher TDP.
 

chrisjames61

Senior member
Dec 31, 2013
721
446
136

Not sure how accurate the info is but it looks like Apple plans to use rather high core count CPU for their ARM based laptops. Eight high performance cores and four energy efficient cores. If they can clock those high performance cores high, it should be quite beefy for laptops and definitely much better than current laptop Snapdragons. They already have the best mobile GPU so it would be interesting to see how well it does in laptops. Qualcomm should follow... They haven't done much yet. Basically mobile chips with higher TDP.

This has been discussed in another thread since the day the article came out.