Als die ARM-Architektur Einzug in Geräte wie den Game Boy Advance und den Nintendo DS hielt, mussten DSP-Befehle her. Dies erreichte ARM mit einigen zusätzlichen Instruktionen, die unter anderem Saturierung und Multiply-Accumulate (MAC) ermöglichten.
Bei der Eroberung des Handy-Marktes ging an "Jamba-Sparabo-Kompatibiltät" kein Weg vorbei. Die ersten Handys mit Farb-LCDs kamen heraus und der Markt für überteuerte Handyspiele sowie teils absurde Videoklingeltöne mit summenden Bienchen und singenden Gummibärchen boomte. Die Handyhersteller hatten sich auf Java als gemeinsame Plattform verständigt.
ARM reagierte darauf mit Jazelle DBX, eine Hardware-Implementierung von Java-Bytecode. Einige ARMv5-CPUs verfügen über dieses Feature. In ARMv6 ist die Unterstützung Pflicht. Im aktuellen ARMv7-Befehlssatz ist Jazelle DBX wieder optional. High-End-ARM-Prozessoren wie die Cortex-A-Modelle haben kein Jazelle DBX mehr implementiert.
Stattdessen setzt ARM jetzt auf ThumbEE, das später in Jazelle RCT umbenannt wurde. Dabei handelt es sich im Wesentlichen um Thumb-2, allerdings ergänzt um zahlreiche High-Level-Features wie Null-Pointer-Checks bei Load- und Store-Anweisungen sowie Array-Grenzen-Prüfung.
ThumbEE unterstützt generell die Ausführung von Bytecode, ganz gleich, ob es sich um Java, Dalvik oder .NET handelt. Weil Jazelle RCT bereits sicherstellt, dass ein Objekt nicht außerhalb des zugewiesenen Speichers agieren kann, muss sich ein JIT-Compiler darum nicht kümmern. Deswegen empfiehlt ARM, jeden Bytecode mit einem JIT-Compiler zu ThumbEE zu übersetzen und anschließend auszuführen.
ThumbEE beziehungsweise Jazelle RCT ist eine Technologie, die einen wichtigen Vorteil gegenüber x86-Prozessoren darstellen. Sie beschleunigt die Ausführung von Managed Code, der keine typischen Fehler wie Pufferüberläufe erlaubt, ohne sich dabei auf eine bestimmte Technologie wie Java oder .NET festzulegen. Performancekritische Teile und Treiber können nach wie vor mit nativem ARM-Befehlssatz realisiert werden.
Schwachstelle älterer ARM-Prozessoren ist die mangelnde Unterstützung von Floating-Point-Arithmetik. Sie musste emuliert oder über einen Coprozessor bereitgestellt werden. Technologien wie Adobe Flash laufen ohne diese Unterstützung nur sehr langsam. In einem ersten Schritt integrierte ARM den VFP-Befehlssatz, der Single- und Double-Precision-Arithmetik erlaubt.
VFP steht für "Vector Floating Point". Die Bezeichnung ist allerdings irreführend, denn die ARM-Prozessoren führen die Floating-Point-Befehle sequentiell aus, obwohl sich die Operatoren in Vektor-Register laden lassen.
Echte SIMD-Funktionalität gibt es erst mit NEON. Es nutzt dieselben 128-Bit-Register wie VFP und führt damit Integer- und Floating-Point-Operationen in 8-, 16-, 32- und 64-Bit aus. Die Technologie ist vergleichbar mit SSE2 in der x86-Architektur. Die aktuellen Cortex-A8-CPUs können allerdings mit der Geschwindigkeit von SSE2 bei weitem nicht mithalten. Es werden immer nur 64 Bit gleichzeitig verarbeitet, obwohl die Register 128 Bit breit sind. Verbesserungen sind erst mit Cortex-A9 und Cortex-A15 zu erwarten.
Neueste Kommentare
Noch keine Kommentare zu ARM-Prozessoren: Jetzt wollen sie Intel Konkurrenz machen
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.