Arm lays down the law with a blueprint to challenge x86's PC dominance
- Reference: 1732181586
- News link: https://www.theregister.co.uk/2024/11/21/arm_pcbsa_reference_architecture/
- Source link:
The spec, which is an extension of its broader Base System Architecture (BSA), sets out the hardware and firmware requirements to make Arm systems more predictable for operating systems, hypervisors, and other software.
At its heart, [1]PC-BSA Level 1 demands that 64-bit processors be built on Armv8.1 or newer, the integration of the Trusted Platform Module (TPM) 2.0 for more secure hardware-backed features, System Memory Management Unit (SMMU) support to enable virtualization, and adherence to PCI Express standards for consistent device compatibility.
[2]
These are all essentially designed to reduce the hardware quirks that have plagued compatibility with Arm systems within the x86 arena, ensuring secure boot processes and compatibility with modern software out-of-the-box.
[3]
[4]
Virtualization gets a lot of focus, with SMMU support baked into the requirements to handle memory management consistently and make device assignment practical within virtualized environments. From the first iteration of the PC-BSA, it seems that Arm PCs are being shaped to meet today's demands, where virtual machines and containers are essential for dividing and managing workloads.
[5]Microsoft finally releases a direct-download Windows 11 on Arm ISO
[6]Qualcomm's Windows on Arm push would be great – if only it ran all your software
[7]Qualcomm triples Windows on Arm OEM design wins since May
[8]Arm's royalty revenues boom, execs talk up hopes for AI bonanza
On the security front, the inclusion of TPM 2.0 and secure boot isn't just ticking a regulatory box – it's a step toward giving Arm systems the same credibility as x86 in industries with tight compliance standards. For reference, TPM 2.0 is a requirement to run Microsoft's Windows 11 operating system.
PCIe compliance is another crucial piece, aimed at ensuring Arm PCs can handle and remain compatible with modern hardware like GPUs and fast storage with fewer headaches. Standardizing this also ensures developers know what to expect, while OEMs get an easier ride when piecing together systems without the need for intricate fixes for each configuration.
Level 1 lays down the basics, but there is more to come. Future compliance levels promise fancier tools, such as memory tagging to simplify debugging and error isolation, as well as more comprehensive cryptography support to keep things watertight. These extras are designed to expand the role of Arm machines within the broader PC landscape, but the PC-BSA leaves plenty of room for the spec to evolve as demands get tougher within future levels and iterations.
[9]
Essentially, the PC-BSA lays a solid foundation, but the success depends on its adoption rate. History is full of well-meaning standards that never made it past the PDF stage, but for now, Arm has laid out the rules. It's now up to OEMs and developers to decide if they want to join the Windows on Arm revolution. ®
Get our [10]Tech Resources
[1] https://developer.arm.com/documentation/den0151/a/?lang=en
[2] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_onprem/systems&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2Zz8S19JudNbAEDmQc2xmYgAAABM&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0
[3] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_onprem/systems&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44Zz8S19JudNbAEDmQc2xmYgAAABM&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[4] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_onprem/systems&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33Zz8S19JudNbAEDmQc2xmYgAAABM&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[5] https://www.theregister.com/2024/11/14/windows_11_arm_iso/
[6] https://www.theregister.com/2024/11/14/qualcomm_pc_strategy/
[7] https://www.theregister.com/2024/11/07/qualcomm_triples_windows_on_arm/
[8] https://www.theregister.com/2024/11/07/arm_q2_2025/
[9] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_onprem/systems&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44Zz8S19JudNbAEDmQc2xmYgAAABM&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[10] https://whitepapers.theregister.com/
Re: The biggest problem with ARM...
I don't see why an arm processor can't probe for hardware, but even if it can't, I wouldn't have thought that was a huge problem for consumer devices, where the hardware mostly won't change. Speaking for myself, I can see that the biggest problem would be the tpm2.0 module which will make running Gentoo Linux harder. A locked down bootloader might make that impossible though....
Re: The biggest problem with ARM...
I don't think that is a problem unique to ARM systems, and it's not just about discoverability, although I concede that this is important.
I often wonder, with all of the variations of x86 such as additional vector instructions to name but one, how much of this advanced hardware is actually used in the average PC. It must be a major cause of bloat for a software package to include different code to optimise the use of whatever features a system has.
But I believe that the majority of software will just use the common subset of instructions that are guaranteed to be on a processor/system. I'm not suggesting that this is true for all software, and I am aware that it is possible with the use of CPU feature specific DLLs to abstract the specialist instructions away from the software itself, but I would guess that most software that doesn't need the optional features won't use them even if it may provide performance boosts if they exist on a system. I can see exactly the same thing happening with AI capabilities in CPUs.
What this standard does that is important is to define the base set of features that need to be in a PC to enable the software writers to know what they can guarantee is in the ARM PC. Once they have this, they can target their software at this spec. to produce shrink-wrapped (a term that has fallen out of use) packages, and if the package is compliant with the standard, but doesn't work on a particular vendors PC, then it's probably not the SW writers fault.
This makes it easier to produce software, and safer for a customer to buy hardware and software that should work together, which is exactly what most customers want. This doesn't prevent the software, of course, to probe for any extra additions to the system, and use them if they are there.
What the x86 market has done to get around extending the base standard is to move the responsibility for enabling the extra features to the hardware vendors. This has been done for years when it comes to, say, graphics cards, with the hardware manufacturer adding the 'glue' to the OS to enable their hardware to work (and this is what often trips up the use of this hardware in Linux). Whether we will reach this point for ARM PCs is a moot point that will probably only be seen after-the-fact.
Apple is the converse. They are in total control of the hardware and software, and can use the available hardware to it's fullest extent. They add a new feature to a processor, they can tweak their OS to use it, and if necessary, abstract it for the other software suppliers. On the flip side, the software writers can write their software knowing exactly what capabilities the systems will provide, with a much smaller set of targets to cater for,
PC-BSA is major step for ARM on the desktop, most importantly for Windows on Arm, as it gives developers a target to aim for especially for getting x86-2-ARM or replacement ARM versions. This is what in my opinion Linux has mucked up on by being totally open to work on any old stuff, shame Linus Torvalds has sat down and forked off a dedicated core Linux desktop specification with one GUI, packaging standard etc etc.
The biggest problem with ARM...
Is discoverability...
If the OS can't detect exactly what hardware it's running on it can't use all the features the hardware provides unless it's written specifically for that piece of hardware.