Architektur und Implementierung des neuen Cortex-A8-Mikroprozessorkerns von ARM Neuer Flaggschiffprozessor

Der Cortex-A8-Prozessorkern basiert auf der ARMv7-Architektur und markiert als Nachfolger der bisherigen Flaggschiffbaureihe ARM11 das obere Ende der ARM-Prozessorfamilie. Nach der Vorstellung des ARM7-Nachfolgers Cortex M3 zum Jahresanfang ist nun der Cortex A8 der zweite Vertreter der neuen Cortex-Prozessor-Generation.

Architektur und Implementierung des neuen Cortex-A8-Mikroprozessorkerns von ARM

Der Cortex-A8-Prozessorkern basiert auf der ARMv7-Architektur und markiert als Nachfolger der bisherigen Flaggschiffbaureihe ARM11 das obere Ende der ARM-Prozessorfamilie. Nach der Vorstellung des ARM7-Nachfolgers Cortex M3 zum Jahresanfang ist nun der Cortex A8 der zweite Vertreter der neuen Cortex-Prozessor-Generation.

Der von der britischen Prozessorschmiede ARM, Ltd., neu vorgestellte Prozessor „Cortex A8“ ist der zweite in einer neuen Generation von Prozessor-Cores, die ARM im Rahmen seiner Cortex-Familie auf den Markt gebracht hat. Gleichzeitig ist es der erste Applikationsprozessor in dieser Familie intelligenter Prozessoren. Mit einem hohen Maß an Leistungsfähigkeit und Energieeffizienz zielt der Prozessor auf ein breit gefächertes Spektrum leitungsgebundener und drahtloser Produkte. Die Spanne reicht von mobilen Handheld-Geräten über Set-Top-Boxen, Media-Gateways und Spielkonsolen bis hin zu Navigations- und Unterhaltungssystemen fürs Auto. Der Prozessor-Core deckt als Applikationsprozessor eine ganze Palette von Leistungsklassen ab. Er kommt in anspruchsvollen Consumer-Applikationen auf bis zu 2000 Dhrystone-MIPS, während er sich andererseits mit weniger als 300 mW Leistung begnügt, wenn in mobilen Geräten Sparsamkeit gefragt ist. Bild 1 zeigt den Aufbau des Cortex A8.

Der Prozessor baut auf der ARMv7-Architektur auf und verbindet wichtige Elemente der bisherigen ARMv6-Architektur mit neuen Komponenten. Übernommen wurden der Thumb-2-Befehlssatz, der für eine hohe Codedichte und eine hohe Rechenleistung bürgt, und die „TrustZone“-Funktion zur Wahrung der Datensicherheit. Neue Merkmale der ARMv7-Architektur sind hingegen die „NEON“-Einheit für eine effiziente Signalverarbeitung bei Multimedia-Datenstreams und die Jazelle-RCT-Technologie (Runtime Compiler Target). Letztere maximiert die Leistungsfähigkeit und Codedichte von JIT-Compilern (Just In Time) für Bytecode-Sprachen wie Java.

Der Thumb-2-Befehlssatz ist aus 16- und 32-bit-Instruktionen zusammengesetzt, um Codedichte und Rechenleistung zu verbessern. Während der ursprüngliche ARM-Befehlssatz „Fixed-Length“-Befehle einer Länge von 32 bit enthält, besteht der Thumb-Befehlssatz aus 16-bit-Anweisungen, die eine funktionale Teilmenge der 32-bit-Befehle implementieren. Da sich nicht alle Operationen auf die kürzeren Befehle abbilden ließen, waren gelegentlich mehrere Thumb-Befehle nötig, um die Aufgaben eines 32-bit-Befehls auszuführen.

Die Architektur des Cortex-A8

Der Thumb-2-Befehlssatz räumt mit den Abstrichen bei der Rechenleistung der Vorgängerversion auf, indem er etwa 130 zusätzliche Befehle vorsieht. Zu den wichtigsten Vorteilen von Thumb-2 gehört die Tatsache, dass kein Wechsel zwischen ARM und Thumb-Betriebsart mehr notwendig ist, um Interrupts zu bearbeiten oder den Zugriff auf sämtliche Prozessorregister freizugeben. Dementsprechend können Applikationen vollständig mit Thumb-2-Instruktionen geschrieben werden. Mit dem ursprünglichen Thumb-Modus war der Prozessor dagegen gezwungen, zwischen ARM- und Thumb-Modus umzuschalten.

Einen hohen Stellenwert unter den neuen Eigenschaften hat die ARM-NEON-Einheit, die in einer Vielzahl realer Applikationen – umgerechnet auf den einzelnen Taktzyklus – die zwei bis vierfache Rechenleistung eines Prozessors der ARM11-Familie erreicht. Bei NEON handelt es sich um eine hybride 64/128-bit-SIMD-Architektur zur Beschleunigung von Aufgaben wie Video-Codierung und -Decodierung, 3D-Grafik und digitale Audio-Verarbeitung. Mit ihrer unabhängigen Pipeline und ihrem Registersatz kann sie sowohl Integer- als auch Gleitkomma-Werte verarbeiten. Ebenso unterstützt sie unausgerichtete Datenzugriffe und das einfache Laden von verschachtelten Datenstrukturen. Durch den Einsatz der NEON-Einheit für typische Multimedia-Funktionen kann der Cortex-A8-Prozessor MPEG-4-Videos im VGA-Format (mit „Dering“- und „Deblock“-Filtern sowie „yuv2rgb“) mit 30 Frames/s bei 275 MHz Taktfrequenz sowie H.264-Videos bei 350 MHz Taktfrequenz decodieren.

Ihren ersten Auftritt in einem ARM-Prozessor hat außerdem die Jazelle-RCT-Technologie. Mit dieser Architekturergänzung reduziert sich der Speicher-Platzbedarf von Just-in-Time-Bytecode-Applikationen auf ein Drittel der ursprünglichen Größe. Der geringere Codeumfang wiederum resultiert in einem Leistungs-Schub und einer Verringerung der Leistungsaufnahme.

Im Cortex-A8-Prozessor implementiert ist außerdem die TrustZone-Funktion, die zum Beispiel in Mobiltelefonen, PDAs und Set-Top-Boxen mit offenen Betriebssystemen dazu beiträgt, die Vertraulichkeit von Daten zu gewährleisten und DRM-Rechte (Digital Rights Management) zu sichern.

Durch ihre Einbindung in den Prozessor schützt TrustZone Peripheriefunktionen und Speicher sowohl innerhalb als auch außerhalb des Chips vor Angriffen. Ein geschützter Monitor im Prozessor fungiert als Gatekeeper und schaltet das System wechselweise in den sicheren und nicht-sicheren Zustand. Im sicheren Zustand verarbeitet der Prozessor „vertrauenswürdigen“ Code für sicherheitsempfindliche Aufgaben (z.B. Authentifizierung oder Signaturbearbeitung).

Die NEON-Einheit trägt jedoch nicht nur zur hohen Signalverarbeitungsleistung des Prozessors bei, sondern ermöglicht auch die softwaremäßige Umsetzung von Datenverarbeitungs-Applikationen. Das Resultat ist eine flexible Plattform, die durch das Herunterladen neuer Software oder eines Treibers ganz einfach an neue Algorithmen und Plattformen angepasst werden kann.