Neuer ARM-Core Cortex-A15 bringt Energieeffizienz ins Hochleistungssegment

Unter dem „Codenamen“ Eagle sorgte er seit Jahren für Gerüchte, nach seiner Landung für manche Überraschung: der neue Cortex-A15. Eine im embedded-Markt noch nie dagewesene Rechenleistung bei hoher Energieeffizienz könnte nicht nur die Entwicklung des„Westentaschen-PCs“ ermöglichen, sondern ARM auch den Markt für Basisstationen, Server und andere Infrastruktur-Anwendungen öffnen.

Am 8. September 2010, also 5 Tage vor Beginn des Intel-Developer-Forums in San Francisco, hat ARM im Silicon Valley mit einer großen Party die Geburt des Cortex-A15 MPCore gefeiert. Die Freunde bei Intel wird sich angesichts der Vorstellung und vor allen Dingen der Leistungsdaten des neuen Cores sehr in Grenzen halten: ARM gibt an, dass bei einer Implementierung in einem 28-nm-LP-Prozess von TSMC oder Globalfoundries die Rechenleistung eines Cortex-A8, wie man ihn in typischen Smartphones vorfindet (d.h. mit 800 MHz Taktfrequenz), pro Thread um den Faktor 4 übertroffen wird. Genaue DMIPS/MHz-Werte wollte oder konnte ARM zu diesem frühen Zeitpunkt nicht verraten. Allerdings gab das Unternehmen bekannt, dass die maximale Taktfrequenz in einem LP-Prozess bei 1,5 GHz beginnt und in einem GP-Prozess und „agressiver Implementierung“ bei mehr als 2,5 GHz endet.

Bei der Vorstellung des neuen Cores legte ARM aber eine Folie vor (Bild 1), in welcher die Rechenleistung des Cortex-A15 ins Verhältnis zum Cortex-A8 und dem Cortex-A9 MPCore gesetzt wird.

Aus diesen Werten in Kombination mit den abgebildeten Smartphones können wir die Rechenleistung des Cortex-A15 berechnen: Die „relative Leistung“ mit einem Wert von 2 gehört zu einem Palm Pre mit einem OMAP3430-Prozessor, dessen Cortex-A8 mit 600 MHz getaktet wird. Die „relative Leistung“ mit einem Wert von 3,33 gehört zu einem Samsung Wave S8500 mit einem S5PC110-Applikationsprozessor, der einen mit 1 GHz getakteten Cortex-A8 enthält. Mit dem Wissen, dass der Cortex-A8 2,0 DMIPS/MHz liefert und der Cortex-A15 in einer Dual-Core-Ausführung bei einer „relativen Leistung“ von 15 liegt, ergibt sich ein Wert von 4.500 DMIPS pro Core.

Die Angabe „vergleichbare Leistungsaufnahme“ verrät, dass er mit „lediglich“ 1,3 GHz getaktet sein dürfte, so dass letztendlich ein Wert von 3,4-3,5 DMIPS/MHz pro Core herauskommt.

Zum Vergleich: Ein aktueller Intel-Atom-Prozessor kommt in einem 45-nm-Prozess bei 1,6 GHz auf 4.000 DMIPS (2,5 DMIPS/MHz). Dieser Wert wird zwar bei einer Implementierung in 32 nm durch kleinere und damit schnellere Transistoren steigen, aber den Cortex-A15 zumindest in einer Multicore-Ausführung nicht toppen können.

Für nicht-mobile-Geräte wird der Cortex-A15 in einem 28-nm-GP-Prozess synthetisiert. Eine Quadcore-Implementierung soll noch mal rund 2,5 mal mehr Rechenleistung liefern, also circa 22.500 DMIPS. Eine Octocore-Implementierung rund 38.000 DMIPS (durch den Overhead u.a. zur Sicherstellung der Kohärenz skaliert die Rechenleistung nicht linear mit der Core-Anzahl).

Desweiteren ist die Wahrscheinlichkeit hoch, dass in Dresden auf Basis der Architekturlizenz von Globalfoundries nach dem Vorbild des Cortex-A9-Hard-Cores („Osprey“) auch ein Hard-Core-Cortex-A15 entwickelt wird, dessen Rechenleistung nochmals höher sein wird: Schon Osprey erzielte 2 GHz, ein Eagle-Hardcore könnte in Regionen vorstoßen, in denen sich heute Intels Core-iX-Prozessoren tummeln.

Ein anderer - zugegebenermaßen theoretischer aber interessanter - Vergleich zeigt die Energieeffizienz des neuen Cores: Ein Intel-Core-i7-Extreme-Edition 980EE, erst 2010 rausgekommen und an der Leistungsspitze der x86-Prozessoren, erzielt mit seinen 731 Millionen Transistoren 44,7 DMIPS/MHz - bei einer TDP von 130 W. Den Cortex-A15 schätzen wir auf Grund seiner Mikroarchitektur in einem 28-nm-LP-Prozess bei 1,2 GHz auf maximal 600 mW pro Core. Wenn man den Absolutwert von 147.600 DMIPS des Core-i7 bei 3,3 GHz nimmt, bräuchte man (wegen des Overheads) geschätzte 40 Cortex-A15-Cores in einer SMP-Konfiguration, um diese Rechenleistung zu erreichen. Dann würden statt 130 W nur maximal geschätzte 24 W fällig.

ARM will mit dem Cortex-A15 neben seinem „Brot-und-Butter-Geschäft“ im Mobilmarkt jetzt auch gegen Intel und PowerPC in Infrastrukturprojekten antreten - und z.B. Google vorrechnen, was man an Energiekosten alleine zur Kühlung der Rechenzentren sparen würde, wenn man zukünftig ARM-basierte Server einsetzen würde. Auch in das Geschäft mit Routern, Switches und Basisstationen könnte der Cortex-A15 damit vorstoßen.

Die Mikroarchitektur

Der Cortex-A15 hat viele Eigenschaften von seinem Vorgänger, dem Cortex-A9, geerbt. Überraschenderweise das Single-Threading, die Superskalarität, die Out-of-Order-Befehlsausführung (agressiver als beim Cortex-A9) sowie die dynamische Sprungvorhersage. Die 8-stufige Pipeline der Cortex-A9 wurde auf geschätzte 13 Stufen verlängert (genaue Angaben machte ARM nicht). Es gibt aber auch noch andere entscheidene Unterschiede bzw. Verbesserungen gegenüber dem Cortex-A9.

Zum einen wird die OS-Virtualisierung jetzt hardwaremäßig unterstützt, was das Leben für die Software-Enwickler vereinfacht. Desweiteren wurde als Nachfolger des AMBA-3-AXI-Busses ein neuer Bus mit der Bezeichnung AMBA-4 eingeführt, der 64 bit bzw. 128 bit (Datenpfad) breit ist und die bislang auf die einzelnen Prozessoren limierte SMP-Kohärenz auf das gesamte SoC ausdehnt. Dies bedeutet, dass man Cluster von 2, 4 oder sogar mehr Prozessoren mit jeweils 4 Cores anlegen kann (Bild 2). Über den AMBA-4-Bus können jetzt theoretisch 1 TByte physikalischer Speicher adressiert werden.

Speziell für die neuen Zielmärkte ist Robustheit wichtig. Daher implementierte ARM auch noch Algorithemn zur Fehlererkennung und -korrektur: Ein-bit-Fehler werden korrigiert, 2-bit-Fehler erkannt.