
Microsoft is working to bring 64-bit Intel app emulation to Windows on ARM - tosh
https://www.neowin.net/news/exclusive-microsoft-is-working-to-bring-64-bit-intel-app-emulation-to-windows-on-arm
======
neogodless
Someone with a better understanding of CPU architectures and instruction sets
may be able to correct me if I'm wrong, but wouldn't it be more accurate to
say that Microsoft is working on bringing x86-64 emulation to Windows 10 on
ARM? No doubt the headline is written to be a bit more consumer-friendly.

AMD pioneered this version of the instruction set with AMD64, and Intel
actually adopted it as Intel 64, with minor differences[0].

[0]
[https://en.wikipedia.org/wiki/X86-64#Intel_64](https://en.wikipedia.org/wiki/X86-64#Intel_64)

~~~
chrisseaton
> wouldn't it be more accurate to say that Microsoft is working on bringing
> x86-64 emulation to Windows 10 on ARM

Isn’t that exactly what the title says? Which bit are you quibbling with? Or
has the title been changed?

~~~
Dylan16807
That AMD made x86- _64_ , not Intel.

~~~
chrisseaton
They’re all just different names for the same ISA, and both parties have
extended it since. Are you complaining about credit? AMD just extended Intel’s
design to a wider format. Why should AMD get more credit? I do write AMD64
myself, but title is fine.

~~~
Dylan16807
> AMD just extended Intel’s design to a wider format.

In that case just call it x86 as a catchall. But if you're going through the
effort to specify the 64 bit ISA, then "Intel's" stops being particularly
correct.

------
anilgulecha
Intel has put out a legal fix statement last time around. Similar announcement
this time?

Looks like bringing ARM power efficiency and crazy parallelism to windows is
only a good thing for consumers.

~~~
stefan_
Intel doesn't own x86-64, more commonly known as AMD64.

~~~
phonon
You're forgetting about Intel's SSE2.... (which was incorporated into AMD64).

~~~
ant6n
Sse2 was introduced in Nov 2000.

~~~
phonon
Yes, exactly. AMD made it a mandatory part of the AMD64 spec. Before that,
SSE2 was an optional part of the ISA. Now, it's required if you support AMD64.
Not a problem for AMD, since it had a cross license agreement with Intel, but
an issue for anyone else. It's not a coincidence that AMD64 support is being
proposed when the AMD64 and SSE2 parents are expiring (likely Microsoft has a
license agreement with AMD, given how short of cash AMD was until recently,
and AMD's need for MS to support AMD64 in the first place.). So, quite
possibly the main holdup for Microsoft to emulate AMD64 has been to wait until
the SSE2 patents expired.

------
Causality1
I'm sure there's a long German word that means "having your opinion about a
product lowered due to a press release announcing a feature you already
thought it had."

~~~
thrill
schlaginsgesichtmitkaltemfisch

------
maxpert
Who knew Wintel combination will become the curse for Microsoft. Microsoft
paid heavy price including a complete OS flop, and losing mobile war; just
because developers were not ready to leave Win32 API and step down to WinRT
(buggy and half baked). Current emulation for 32-bit is slow and reviews are
terrible. I wonder if Intel will ever be able to develop something
revolutionary that runs x64 and energy efficient as ARM.

~~~
snagglegaggle
WinRT may have been buggy but the mobile OSes were not so bad. They had mobile
OS releases mirroring XP, 7, 8/8.1, and 10. The problem is Microsoft made no
commitment to non-secureboot hardware on non-Intel devices and all of these
devices were extremely locked down and not accessible to end users.
Consequently, no one cared about them. You probably didn't even know they had
a mobile OS patterned after Win7, right?

This turned around a little bit for the 8/8.1 and 10 mobile OS releases but
not by much. A lot of stuff just wasn't possible on a Windows phone, even
though the garden experience was exceptional.

~~~
lostgame
>> You probably didn't even know they had a mobile OS patterned after Win7,
right?

To the contrary, I stuck with Windows phone forever. I loved it.

------
new_realist
I wonder if Apple will beat them to it.

~~~
kyriakos
Apple is more likely to say no to backwards compatibility. Microsoft on the
other hand is the polar opposite.

~~~
amluto
MS removed 16-bit support on 64-bit Windows. Linux and WINE can run older
Windows programs than Windows can! So, if Microsoft is the polar opposite,
then Linux must be the stratospheric opposite.

~~~
noxer
64-bit Windows 10 can run WINE too so that point goes to Windows again.

~~~
amluto
As far as I know, Windows 10 does not support 16-bit segments at all, so Wine
on Windows 10 would be unable to execute 16-bit code. I don’t know to what
extend 64-bit Windows supports segmentation at all.

Linux, in contrast, gives complete control of the LDT except that the LDT may
not contain call gates, long mode segments, or anything with DPL != 3.

Making this work safely, especially on x86_64, is a real PITA, so I can’t
really blame MS for declining to support it.

~~~
noxer
Do you realize that Windows 10 can run Linux aswell? Also Windows 10 NTVDM (NT
Virtual DOS Machine) has an unofficial port to 64bit.

~~~
amluto
Windows 10 can run Linux in a VM (e.g. Windows Services for Linux, which is a
VM these days), and it can run DOS or Windows 3.1 or whatever else in a VM as
long as you have virtualization enabled. What it _can 't_ do is run native
16-bit segmented code as a regular user mode process. Linux can.

The NTVDM port appears to be a legally dubious emulator.

------
lostgame
I am a huge fan of the Surface line, and a Pro 7 may very likely be my next
laptop - but I just don’t get the Surface Pro X as a product.

It is more expensive than the Pro 7, and the x86 emulation has been
disappointingly slow.

Reviews have been poor on average, and it’s all reminiscent of the Surface RT
debacle - except at least the RT was _less_ expensive - not more.

------
schitzapplebits
How can the hardware possibly support that in a usable way?

~~~
kyberias
I think it's purely software translation from x64 -> ARM.

~~~
icebraining
I think the question is whether the performance will be reasonable. Most
emulators (e.g. of gaming consoles) struggle to keep up with recent software,
since the translation often incurs in a lot of overhead.

~~~
scarface74
Game emulators are running everything emulated. An application running on top
of an operating system will hopefully get some benefit of spending time
calling native operating system code. It helped a lot back in the day with
Apple’s 68K to PPC transition.

------
threatripper
What is the x64 architecture?

What is the difference between x64 and AMD64?

Why is it called "64-bit Intel app" in the headline?

~~~
neogodless
It's actually the x86-64 instruction set, that is to say, the 64-bit version
of x86. AMD created the first implementation of this set with AMD64, and Intel
then adopted it with their own flavor as Intel 64. I don't think the headline
is as accurate as it could be. Probably wrote the headline with the assumption
that "most readers" would better understand "64-bit Intel" than "x86-64" but
they might be underestimating their readers! And even then, it's officially
called "Intel 64" according to Wikipedia.

[https://en.wikipedia.org/wiki/X86-64#Intel_64](https://en.wikipedia.org/wiki/X86-64#Intel_64)

~~~
diffeomorphism
> x86-64 (also known as x64, x86_64, AMD64 and Intel 64)

One official name among others. Linux distros tend to refer to it as amd64.

------
tasogare
I don't understand why Microsoft persist so much on ARM tablets with their
limited OS given their history of failure.

~~~
muststopmyths
They're trying to "unlimit" it by making emulated x86/x64 apps work, otherwise
the chicken/egg/app/platform problem persists.

Supposedly ARM is more power efficient than the x86 family, so you'd get
lighter laptops with longer battery life.

I would love to know from the HW experts here what happens when you start
running your usual desktop workload on an ARM device. Does the power
consumption stay low ?

looking at how quickly phones run out of battery when playing games, my
feeling is that the ARM advantage is over-hyped, but I'd be interested in
opinions from people who know this stuff.

~~~
lostgame
Reviews have stated the emulation performance is terrible - akin to Rosetta
back in the PPC/Intel transition into OSX.

I read two reviews which stated even 32-bit Chrome’s performance was terrible
compared to the native ARM 64-bit Edge, and Photoshop, etc, are borderline
unusable.

Stranger still, the Surface Pro X’s battery life has been reported to be on
par or poorer than the _less expensive_ Intel-native Pro 7’s - I’m rather
confused by Microsoft’s strategy here.

The Surface RT didn’t work.

~~~
muststopmyths
Sorry, my phrasing was terrible, as usual. I know the emulated performance is
terrible. My query is about native ARM desktop workloads vs native x86 desktop
workloads (if Microsoft's vision comes to fruition) in terms of power
consumption. I really can't imagine they'd be different, but I don't know
enough about it other than "tech press" comparing phone battery lives to
laptops.

~~~
OkGoDoIt
I am also quite curious about this. Just like when I see review sites
benchmark an iPad versus a surface pro running full windows, I can’t help but
be confused as to what anyone really hopes to learn from such an apples to
oranges comparison

------
blinkingled
This is stupid. Most desktop people don't want to touch ARM anything and
rightly so - Qualcomm's chips suck (Apple's do great but even they don't seem
to think they're rest to go ARM Mac yet), there's no battery life advantage
especially when you do all the desktop things and you have to deal with ARM
snowflake crap along with vastly limited SoC support for new OS versions. And
needless to say without specialized CPU support the 64-bit Intel emulation is
going to be dog slow - remember emulating ARM Android images on X64?

There's literally no upside to this. I just wish AMD puts out a great mobile
CPU and we can have even better competition for Intel in laptop market.

So no thanks - I'll let Intel have their laptop monopoly if that means I can
run standard x86 hardware with great support for non Windows OSes.

~~~
mlacks
The whole point of starting when you’re not ready, is to get tour foot in the
door so you have something to improve upon.

Even if the emulation is slow and barely useable, it can and will be refined
using modern tools and practices in the future.

Trying something out that is out of the norm is the the whole point of
innovation. I’m super excited to see Microsoft’s progress in this space.

~~~
blinkingled
That's all hunky dory but no amount of software innovation is going to speed
up running x64 code on ARM. Qualcomm would just need to build that into the
CPU and at that point it is a circus.

So yeah I am cool with trying out things that have potential but something
that has not upside and will never be good - because CS - I will justly call
it stupid.

