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.
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 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.