ARM-Revolution im Rechenzentrum: Wie es ARM-Prozessoren in Server schafften
Die ARM-Architektur eroberte schnell den Embedded- und Mobilphone-Markt. Nun soll die ARMv9-Architektur auch auf dem Servermarkt Erfolg erzielen.
- Andreas Stiller
Embedded Systeme und Mobilgeräte sind schon lange eine Domäne der energiesparenden ARM-Prozessoren. Doch inzwischen entwickeln sie sich auch zu einer Konkurrenz für Intel- und AMD-CPUs in Notebooks, Desktop-Systemen und erobern sogar den Server-Markt. In unserem Schwerpunkt "Die ARM-Revolution" untersuchen wir, wie es dazu gekommen ist.
Eigentlich haben Sophie Wilson und Steve Furber von der britischen Heimcomputerfirma Acorn den ARM-Prozessor nur entwickelt, weil Intel zu stur war. Die US-Firma wollte den Briten partout keine Architekturlizenz geben, sondern nur fertige 80186/88-Chips, und so machten sich die Acorn-Entwickler eben selbst dran und schufen eine eigene energieeffiziente Architektur auf RISC-Basis, die ein für Echtzeitverarbeitung und Interaktivität optimiertes Interrupt-Konzept bot.
Mithilfe von Apple lagerten sie ein paar Jahre später die Prozessorentwicklung in eine eigene Firma ARM Ltd. aus und legten damit den bis heute vielleicht wichtigsten Grundstein für den Erfolg. Denn dieser besteht weniger in der Architektur als vielmehr im Vermarktungskonzept: Statt fertiger Chips verkauft man unterschiedlich gestaffelte Lizenzen für zahlreiche Prozessorarchitekturen und Peripheriechips, sodass sich die Lizenznehmer ihre Chips maßschneidern und um eigene Features erweitern können. Kunden können sogar eine Architekturlizenz erwerben, mit der sie die Prozessor- und Befehlssatzarchitektur nach Belieben verändern dürfen.
ARMv7: vom Mobilchip in den Server
ARM selbst trat dabei nie direkt als Chiphersteller auf, es sei denn über Beteiligungen. So etwa bei der Firma Calxeda, die 2008 gegründet wurde. Calxeda sollte den Weg in die Welt der (Mikro-)Server mit umgewidmeten Mobilchips namens EnergyCore ebnen. HPE stand als großer Kunde bereit, wollte mit verschiedenen Prozessorarchitekturen in seinem Moonshot-Projekt ausloten, wie man dicht gepackte Server mit vielen kleinen, energieeffizienten Minikernen vermarkten kann.
Calxeda wollte mit recht einfachen 32-bittigen ARM-Prozessoren – vierkernigen Cortex-A9-CPUs – auf dem Servermarkt mitspielen, Prozessoren, die auf der betagten ARMv7-Befehlssatzarchitektur beruhten. Mit dieser Architektur hatte sich ARM Jahre zuvor im Mobilsektor bravourös geschlagen.
Inzwischen ist ARM bei einem der bedeutendsten Chipentwickler, Nvidia, gelandet. Das ARM-Konzept soll auch hier erhalten bleiben, mit einem großen Heer von über 160 Lizenznehmern – darunter solche Riesen wie Apple, Samsung, Microsoft, Amazon, Alibaba. Auch Intel war und ist Lizenznehmer und hatte eine Zeit lang den von DEC übernommenen StrongARM-Prozessor im Angebot.
Dank des Bausteinprinzips von ARM, erweitert durch vielfältige Designs der Lizenznehmer, gibt es zu jeder Befehlssatzgeneration (Instruction Set Architecture, ISA) eine Vielzahl von Hardwareimplementierungen. Viele Lizenznehmer übernehmen fix und fertig designte Implementierungen von ARM, andere übernehmen nur die Kerne und ergänzen den Rest mit eigener Hardware, noch andere variieren auch die Kerne oder designen komplett eigene, die zur jeweiligen ISA kompatibel sind.
Die erfolgreiche Cortex-Familie auf Basis der ARMv7-Architektur wurde je nach Aufgabengebiet in drei Profile aufgeteilt: ARMv7-M ist für Mikrocontroller gedacht, ARMv7-R für Realtime-Systeme und ARMv7-A wie Application für größere Systeme, also auch für Server. Unter anderem wurde für die wesentlich komplexere A-Profil-Linie ein Sicherheitskonzept namens TrustZone eingeführt. Bekannt sind etwa neben diversen ARM-Cortex-Prozessoren Qualcomms Krait oder Apples Swift (A6), die auf ARMv7-A basieren.
ARM-Historie | |||
Befehlssatzarchitektur | Jahr | Prozessorfamilien | Prozessoren |
ARMv1 | 1985 | ARM1 | |
ARMv2 | 1986 | ARM2, ARM3 | |
ARMv3 | 1991 | ARM6, ARM7 | |
ARMv4 | 1995 | ARM7T, ARM8, StrongARM, ARM9T | DEC StrongARM |
ARMv5 | 2002 | ARM7EJ, ARM9E, ARM10E | Intel Xscale |
ARMv6 | 2002 | ARM11; Cortex-M0, M0+, M1 | BCM2835 (Raspberry Pi 1) |
ARMv7 | 2004 | Cortex-A5, A7, A8, A9, A12, A15, A17, M3, M4, M7, R4, R5, R7, R8 | Qualcomm Krait und Snapdragon, Apple A; Calxeda EnergyCore |
ARMv8 | 2012 | Cortex-A32, A35, A53, A55, A57, A72, A73, A75, A76, A77, A78, X1, M23, M33, R52; Neoverse E1, N1, V1 | Qualcomm Snapdragon, Apple A und M1, Samsung Exynos; Applied Micro X-Gene, Cavium/Marvell ThunderX und ThunderX2, Fujitsu A64FX, Broadcom Stingray, HiSilicon Hi 1620, Phytium Mars, Ampere Altra und Altra Max, Amazon Graviton und Graviton2 |
ARMv9 | 2021 | Cortex-A510, A710, X2; Neoverse N2 | Marvell Octeon 10, Nvidia Grace, Alibaba Yitian 710 |