Microsoft’s developer conference Build is taking place this week, so there’s been some major Windows news and announcements, and for once – we’re not talking about more ads in your operating system, or even “AI” shoehorned into, I don’t know, Phone Dialer or Windows Fax and Scan.
First and foremost, Windows is going to get a new compiler, kernel, and scheduler, but despite such massive low-level changes, the marketing version number won’t jump from 11 to 12. Of course, we all know the marketing version number has nothing to do with the actual Windows NT version number, which currently sits at 10. The Windows NT version number, meanwhile, is actually also meaningless, since it magically jumps around left and right too, going from 6.2 to 10 between Windows 8.1 and Windows 10, where it has stayed ever since.
“We really focused on modernizing this update of Windows 11,” said Microsoft Corporate Vice President of Windows and Devices Pavan Davuluri at a technical briefing on Microsoft’s campus in mid-April. “We engineered this update of Windows 11 with a real focus on AI inference and taking advantage of the Arm64 instruction set at every layer of the operating system stack. For us, what this meant really was building a new compiler in Windows. We built a new kernel in Windows on top of that compiler. We now have new schedulers in the operating system that take advantage of these new SoC architecture.”
↫ Andrew Cunningham at Ars Technica
The focus is clearly on ARM here, which coincides with the launch of Qualcomm’s Snapdragon X Elite, a new SoC that finally seems to truly make ARM laptops that aren’t from Apple a real, competitive thing – so much so that Qualcomm is even breaking with tradition and taking Linux support very seriously for this new chip.
Microsoft also unveiled the name for its new x86 translation layer for Windows on ARM: Prism. Microsoft told Ars Technica that Prism is as fast as Apple’s Rosetta 2, which is interesting because Apple’s M series chips contain special silicon to speed up the translation process, making me wonder if Qualcomm has done the same, or is just brute-forcing it.
Performance like this means the apps customers love work great. Microsoft has partnered closely with developers across the globe to optimize their applications for this processor. In addition, the powerful new Prism emulation engine delivers a 2x performance boost compared to Surface Pro 9 with 5G. On the new Surface Pro and Surface Laptop, powered by Snapdragon X Elite and Snapdragon X Plus processors, experiences like Adobe Creative Cloud, Microsoft 365 and Chrome will feel snappy, quick and responsive.
↫ Pete Kyriacou on the Windows blog
The new Windows on ARM machines using the Snapdragon X Elite will be marketed under the new Copilot+ brand name, which brings with it some requirements, the biggest of which is the neural processing unit: it must be capable of at least 40 trillion operations per second. At the time of writing, the only Windows-capable processor that can boast such numbers is, of course, the new Snapdragon X Elite. AMD and Intel need not apply. They simply cannot match this.
Microsoft tied a bow on all this stuff by unveiling the new Surface Pro and new Surface Laptop, both powered by the new Snapdragon SoCs. You can preorder them today, but they won’t be available until 18 June.
What’s interesting is it was the success of the Surface products that forced Apple to respond with their ARM chip laptops. This is a nice little tech war where we should all ultimately win with some cool devices to hack on and install our superior performing OS’s on for years to come.
“Prism”…really? Honestly this immediately reminded me of the NSA prism program that Edward Snowden leaked to the press and that microsoft was allegedly complicit in.
https://redmondmag.com/articles/2013/07/12/microsoft-prism-involvement.aspx
Was it named by a new hire who is oblivious to the government spying program? Maybe Microsoft assumes everybody forgot about prism? Is anyone else thinking this too or is it just me?
It won’t be long before we hear “who’s Edward Snowden?”
On top of Prism Microsoft just announced a new AI feature called Recall.
Most people have been conditioned to think that spying on citizens and the “extraordinary rendition” of citizens are OK as long as the “good guys” (aka the US) are doing it.
I’ll just leave this here
https://en.wikipedia.org/wiki/DEC_PRISM
I’m not excited at all for ARM. At least x86 was “open” in the sense that it had UEFI. The same Linux distro can be installed on all x86_64 devices, but for ARM (e.g. smartphones, Macs, or RaspPi) you need to port it to every single device you want to support.
There are x86 devices out there which are not using UEFI or its BIOS predecessor.
ARM cores are just as compatible as x86 ever were, the problem is manufacturers who bundle them together with other hardware and firmware into a non standard form.
bert64,
Such devices would be very rare and non-standard though, you’d really have to go out of your way to find and buy an x86 computer that cannot run normal linux/windows images.
Qualcomm is using UEFI, they also reported very good Linux support.
Normally, this would be a very good point. As @Kver already pointed out though, it does not seem to apply here.
“The boot stack on Snapdragon X Elite supports standard UEFI-based boot. Linux boots up using device trees, and all standard bootloaders, including Grub and system-d boot, should just work out of the box.”
https://www.qualcomm.com/developer/blog/2024/05/upstreaming-linux-kernel-support-for-the-snapdragon-x-elite
So ARM is all about building hardware for AI for Microsoft. Now from one point of view it’s a good thing, for ARM, that Microsoft has such vast interested in it, on the other hand AI is in my opinion, similar to the VR era, a niche product and most people couldn’t care less about it. So good luck with Windows on ARM. For people to buy more ARM devices in general, to get more AI focused hardware. Niche group.
It will be funny if, 10 years from now, Intel regains some kind of massive manufacturing advantage (like the one they had in the past) and TSMC starts to flail, and everyone starts talking about a transition to x86 again. You know, like that time Apple moved from PowerPC to the “CISC garbage” x86 they used to mock and Sun started offering customers the ability to run Solaris on x86.
If Microsoft were smart, they would stop cutting off old x86 CPUs from Windows 11 and let the base subset of x86-64 become royalty-free so they can make their own x86-64 SoCs, possibly together with Qualcomm (note: Qualcomm was mulling offering x86-64 compatibility in the past). Then they can add their neural processing engine in those SoCs as they do now in their ARM chips. But that would require actual vision, and they don’t have that, so they are moving to ARM because that’s what the cool kids are doing these days (and AI, because that’s also something the cool kids are doing these days).
And let me be clear here: I hate translation layers. One of the few things I liked about the first iPhones was the fact they got rid of the annoying JVM translation layer that was present in seemingly every other phone back then (even Symbian and WinMo phones) and instead forced everyone to write native apps. You see, there is an inherent tradeoff between translation accuracy and speed, and most commercial translation layers choose speed (Intel’s ARM-to-x86 translation layer for Android that caused games to crash is an example). Be prepared for random breakages on your existing Windows software, hooray!
Fortunately, they are not going the Apple way (yet) and you’ll still be able to buy an Intel or AMD laptop. Which brings me to: AMD, you are our only hope. Please buy an OEM and show everyone what x86 can do under a good process node.
kurkosdr,
The thing is x86 carries a lot of legacy baggage. Obviously software compatibility has been a big reason to keep it around, and don’t get me wrong supporting preexisting software is a significant advantage for desktop users. But for a company like qualcomm to come in as a newcomer and have to invest countless billions while handicapping their own engineers with an old complex architecture with lots of baggage doesn’t make much sense. IMHO they’d do better with a simpler architecture.
Honestly I think intel engineers themselves could do better than x86 too, and I get the feeling some of them would like to try. But they’re wearing very different shoes than qualcomm are. Intel are already heavily invested in x86, which earns them a lions share of the desktop market. So business-wise it makes sense for intel to maximize x86 investments and do their best to modernize x86 without breaking that all-important compatibility. But it doesn’t necessarily follow that the same would be true for qualcomm.
As a consumer my own opinion is that *if* qualcomm are able to bring x86 level of standardization to ARM CPUs this would be tremendously valuable for all FOSS platforms! This is not a given and historically I won’t deny there’s been a lot of disappointments here. However the upsides would be great for people like me, more so than qualcomm delivering what would most likely be mediocre x86 cpus next to intel & amd.
I’m a bit confused by your statement, what should AMD do that they’re not already doing?
Well, Qualcomm was (is?) mulling it seriously enough to prompt Intel to write their famous “Intel welcomes lawful competition” blog post:
https://web.archive.org/web/20230124035743/https://newsroom.intel.com/editorials/x86-approaching-40-still-going-strong/
https://download.intel.com/newsroom/2021/archive/2017-06-08-editorials-x86-approaching-40-still-going-strong.pdf
Let’s see how those new Snapdragon X SoCs do x86 emulation (will it be entirely software-based or will there be hardware assistance?) Also, let’s see how they deal with anti-cheat systems that use kernel-level drivers and whether they have some kind of hardware magic for that.
BTW my opinion remains that software-only ISA emulation sucks, due to the aforementioned trade-off between accuracy and speed.
Buy an OEM and start making their own laptops. AMDs biggest problem is that, despite having better chips than Intel, they can’t put them in customers’ hands because all major OEMs are too invested in Intel and too much in Intel’s pocket to ship AMD chips. The fact most x86 laptops use chips built on an obsolete process node (aka Intel’s) when laptops are supposed to be second in line to get the best process nodes (after smartphones) is mind-boggling, but that’s “business entanglements” for you. AMD buying an OEM is a way to fix this issue. Think how Google essentially bought HTC’s smartphone division so they can put vanilla Android in customers’ hands (because no major OEM would, not on their first-tier models anyway).
kurkosdr,
It’s a fair question, I don’t know much about those new Snapdragon CPUs yet.
When it comes to “hardware x86 support” for cross platform emulation, most frequent opcodes can be easily remapped, Missing flags might be added. What makes it complicated is ARM instructions might not have the same x86 semantics, things like atomic instructions and memory barriers. While there’s a whole lot of x86 software that should be portable between x86 and ARM without this, technically x86 specifies strict barriers. If an ARM processor doesn’t match the semantics perfectly, it could cause subtle memory bugs to crop up that didn’t happen on x86. This is the sort of thing that makes pure software emulation difficult.
I very much doubt kernel drivers for x86 will be supported on ARM. Kernel DRM will likely have to be ported/hacked or else the software won’t work. Portability is one of the reasons DRM sucks.
I accept that but I’d also point out that it’s not just software emulation that faces this problem. Even at the hardware level engineers may be forced into certain design decisions on account of prioritizing the semantics of earlier processors. Going back to the memory barriers, intel’s strict specifications can influence everything from caching to long out of order pipelines to multithreading. This could add a lot of complexity to a new architecture that might otherwise optimized it away. A simpler architecture could say when two threads access the same memory at the same time, then the order is unspecified (ie whichever comes first wins) because it’s the programmers responsibility to use explicit synchronization as needed. This is often the best practice for software engineers anyway; it makes their intentions clear and allows software to be ported with no surprises. But x86 software developers might also do away with explicit synchronization by relying on x86’s stricter guarantees
It is easy enough to understand why consumers would want near-perfect x86 hardware emulation. But in engineering nothing comes free and negative tradeoffs could show up elsewhere (die space, cache & pipeline complexity, performance, energy efficiency, time to market, spectre vulnerabilities, etc).
Personally I see cross architecture emulation as an interim solution only. It needs to be good enough, but it should not be a long term solution and native should be the priority. For someone who does need x86 software to work perfectly at high performance, my advice is just to stick with x86 and not rely on any emulators. Of course it’s just my opinion.
Hypothetically if AMD did buy a laptop maker, it’s not immediately clear to me what they would change. Many AMD laptops already have good reviews. What would they bring to the table that intel and existing OEMs cannot?
https://www.laptopmag.com/best-picks/amd-ryzen-laptops
It’s an interesting idea. AMD got out of the chip fabbing business ages go, reducing what level of vertical integration they had, but you have an argument to adding at least the last mile of manufacturing on their list.
It’s an interesting idea, AMD’s management of OEM partners has not been as solid as Intels, however, their custom designs have been quite successful. Look at the game consoles, Steam Deck and the tight integration they did for their GPUs in Framework laptops. I actually think they are doing quite well on this front. I don’t see a need for them to jump right in to the consumer space. If anything, I’d be trying to find. motivated partners like Valve, Sony, maybe System76, etc. to work with them to design custom machines instead. I think they’ve already got it. They could stand to ship better firmware/bios implementations, maybe take a lead on that front – that’s a place in x86-land that needs real improvement (just ask Valve).
The main challenge is actually Windows. I’ll believe these new ARM chips running Windows (with x86 translation) can exceed a low power Intel or AMD chip in battery life and performance when I see it – when running Windows. Yeah, expectations are low (my old low power Yoga 730 ran for hours longer on Linux than it did on Windows – hours longer, same hardware, same battery). Apple’s advantage is entirely software side. They can match their own software to custom designed little special purposes circuits and processors in their M1, and really nail that interplay between their software and their hardware, because they build it all together. And they’ve been doing it for almost 2 decades now, since they shipped their first ARM based devices. On the Windows side, Windows hits the lowest common denominator, and Microsoft threw in the towel on active Windows development a long long time ago. No hardware will ever be as efficient running Windows as Apple’s M chips are running macos/iOS/etc.
The challenge for x86 has nothing to do with ISA. It’s in Apple’s interest to claim ARM is better, because they use ARM, but that’s just marketing, it’s not actually true. Also, AMD’s current business is all built around high performance, high power scenarios, with derivative revenue streams (think binning) hitting the lowest common denominator, which Windows must support (you know, all those cheap/crappy laptops), and it’s simply difficult to move quickly to more efficient designs, while dragging mostly proprietary partner supplied software along. It’s not that they can’t do it – it’s that they (and their partners – Microsoft included) have competing concerns, and it’s challenging to juggle all that.
CaptainN–,
I actually do think that ARM’s reduced complexity and better instruction density brings some benefits, like less latency and higher bandwidth at the prefetching stage. Intel has solved this by throwing more transistors at the problem, which works but more transisters = more power consumption. For this reason I don’t think x86 will ever be competitive on energy efficiency.
Anyway I agree there is so much more to it than just an ISA, Intel’s biggest setback had nothing to do with the ISA, it was falling years behind the cutting edge transistor developments. They were far enough behind that both apple and AMD displaced intel’s top spot at single threaded benchmarks . Intel recovered only after they got better fabs.