ARM finally defines a platform as it sets its sights on the server room
"Server Base System Architecture" defines the building blocks of an ARM server.
by Peter Bright - Jan 29, 2014 4:46pm PST
In an attempt to strengthen the entry of ARM processors into the server market, British chip designer ARM has put together the Server Base System Architecture (SBSA), a definition of a standard platform for ARM-based servers. This move should reduce the abundant variation and complexity that has hitherto been a feature of ARM systems. SBSA was assembled by ARM along with its partners, including HP, Dell, AMD, Citrix, and Microsoft.
Even as ARM processors have proliferated in smartphones and tablets and are starting to make their first tentative steps into the server room, ARM has not been a platform in the way that the x86 PC is a platform.
Way back in the early 1980s, the IBM PC defined the way the computer booted, initialized its hardware, laid out its memory, and provided access to standard features like graphics and the keyboard. This enabled an ecosystem of PC software to develop. The PC platform was cloned by Compaq and others, and these clones were functionally equivalent to IBM machines. Operating system software that worked on one clone would work on any other, and it would work on the PC itself.
Over the years, the PC platform has changed, but this compatibility has remained as a core feature.
To the chagrin of operating system developers, ARM has lacked a comparable platform. Linux creator Linus Torvalds once described the proliferation of inconsistent, incompatible ARM systems as a "fucking pain in the ass," and implored the ARM community to "push back on the people sending you crap" and devise a common platform. Intel, likewise, has used this diversity to criticize ARM.
Since that statement in 2012 there has been some progress. Microsoft essentially defined an ARM tablet platform for Windows RT, enabling its kernel to work on both Qualcomm Snapdragon and Nvidia Tegra 2 and Tegra 3-based systems. Linux developers have also managed to consolidate their support for some of the diverse ARM platforms.
Without any clear market leader in the nascent ARM server market, this diversity and lack of platform could be deeply problematic. It would prevent easy software compatibility, with each different kind of system needing its own customized kernel.
The SBSA is ARM's effort to address that very problem. An operating system that targets SBSA will be able to run on any SBSA system: it will have the same basic platform components, put together in the same way, with the same kind of firmware, boot process, interrupt and I/O handling, hypervisor, and more. For example, SBSA will require all USB 2 controllers to conform with the EHCI 1.1 specification, all USB 3 controllers to conform with XHCI 1.0, and all SATA controllers to conform with AHCI 1.3.