ARM TechCon 2016

Cortex-M23 und –M33 sind erste ARMv8-M-CPUs

25. Oktober 2016, 0:00 Uhr | Frank Riemenschneider
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 2

Cortex-M33 mit neuer Pipeline

Bild 3. Die Pipeline des Cortex-M33 sieht wie eine um eine Stufe verlängerte Pipeline des M23/M0+ aus.
Bild 3. Die Pipeline des Cortex-M33 sieht wie eine um eine Stufe verlängerte Pipeline des M23/M0+ aus.
© ARM

Anders als beim M23 wurde beim M33 eine gegenüber dem Cortex-M4 vollständig neue Pipeline entwickelt (Bild 3). Diese besteht quasi aus den ersten zwei Stufen des M0+ (allerdings mit Harvard-Architektur, der Zugriff auf Befehl- und Datenspeicher erfolgt jeweils über je einen eigenen AHB-5-Bus) um eine weitere 3. Stufe, in welcher komplexe Operationen wie SIMD, MAC, DIV und 32x32-Multiplikation abgearbeitet werden. Bereits in der 1. Stufe werden wie bei M0+ (und M23) 16-bit-Thumb-Instruktionen vor-dekodiert und in eine der 5 Befehlswarteschlangen eingestellt. Die 2. Stufe beinhaltet den Haupt-Befehlsdekoder, Arithmetisch-Logik-Einheit (ALU) und Verschieboperationen. Der Vorteil ist natürlich, daß beim Abarbeiten derartiger Instruktionen nach der 2. Stufe Schluß ist. Dazu werden bereits in der 2. Stufe alle Verzweigungen aufgelöst (bei M3/M4 passiert dies in vielen Fällen erst in der 3. Stufe, bei denen, die in der 2. Stufe aufgelöst werden, kommt ein spekulativer Prefetch der Zieladresse zum Einsatz, was die Leistungsaufnahme erhöht).

Neu ist auch die Möglichkeit der Dual-Issue-Befehlsausführung für Thumb-16- und Verzweigungsinstruktionen. Der Cortex-M4 erlaubt lediglich IT-Folding, d.h. beim Auftreten einer If-then-Bedingung-Instruktion (IT, bis zu vier folgende Befehle können in Abhängigkeit des Eintretens einer Bedingung ausgeführt werden) kann die CPU mit der Ausführung der ersten Instruktion in dem IT-Block beginnen, während die IT-Instruktion selbst noch in der Ausführung ist.  

Last but not least wurde auch der Zugriff beim Laden/Speichern von Daten beschleunigt, indem die Adresserzeugung bereits in Stufe 2 beginnt. Beim Cortex-M3/M4 ist dies erst in Stufe 3 der Fall, wodurch Lade-Operationen zwei Taktzyklen benötigen.

Bild 4. Blockdiagramm des Cortex-M33. Die DSP-Instruktionen können im Gegensatz zum M4 optional dazugewählt werden.
Bild 4. Blockdiagramm des Cortex-M33. Die DSP-Instruktionen können im Gegensatz zum M4 optional dazugewählt werden.
© ARM

Die Interrupt-Latenzzeiten betragen 12 Taktyzklen (wenn die CPU im sicheren bzw. unsicheren Status verbleibt) bzw. 21 Taktzyklen bei einem Statuswechsel, bei dem der vollständige Registersatz gerettet werden muß.

Was ist das Ergebnis der neuen Mikroarchitektur? Statt 3,40 Coremark/MHz liefert der M33 eine Rechenleistung von 3,86 Coremark/MHz, immerhin eine Steigerung um 13 Prozent (die Angabe 9 % aus ARMs Folie ist natürlich falsch).

Bild 4 zeigt das Blockdiagramm des Cortex-M33. Während die DSP-Funktionalität im Cortex-M4 fest eingebaut ist, ist diese beim M33 ebenfalls optional konfigurierbar genau wie die Gleitkommaeinheit (FPU). Das „Mainline“-Profil des M33 enthält zusätzlich zu weiteren 32-bit-Befehlen auch optional die schon vom M4 bekannten 80 DSP- und/oder 45 FPU-Instruktionen gemäß IEEE754. Viele Kunden wollen entweder DSP oder FPU haben, somit wollte man die Wahlmöglichkeiten erhöhen. Kunden, die z.B. mit Gleitkomma-DSPs arbeiten, können mit dem Integer-DSP des Cortex-M4 nichts anfangen, haben ihn aber zwangsläufig mitgeliefert bekommen. Dies wird zukünftig nicht mehr der Fall sein, so dass Gatter und Siliziumfläche gespart werden können.

Bild 5.  Verbesserungen des Cortex-M33 gegenüber Cortex-M4 auf einen Blick.
Bild 5. Verbesserungen des Cortex-M33 gegenüber Cortex-M4 auf einen Blick.
© ARM

Bild 5 fasst alle Veränderungen/Verbesserungen des M23 gegenüber dem M0+ zusammen. Insbesondere durch den erweiterten Befehlssatz des Baseline-Profils ist die Rechenleistung allerdings sehr moderat gestiegen: Statt 2,46 Coremark/MHz stehen nunmehr 2,50 Coremark/MHz zu Buche.


  1. Cortex-M23 und –M33 sind erste ARMv8-M-CPUs
  2. Zahlreiche Konfigurationsoptionen
  3. Cortex-M33 mit neuer Pipeline
  4. Koprozessor-Schnittstelle entlastet AHB-5-Bus

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu ARM Germany GmbH

Weitere Artikel zu Mikrocontroller