Prinzipieller Aufbau
Der Cortex-M3 ist eine völlig neu entwickelte Architektur von ARM mit dem Ziel, einen sehr leistungsfähigen, aber vom Programmiermodell her weniger komplexen, Prozessor zu entwerfen, der im Bereich der jetzigen und zukünftigen Mikrocontroller des (klassischen) 8- und 16-Bit-Bereichs eingesetzt werden kann. Wie alle ARM-Architekturen hat auch der M3 (intern) eine 32-Bit-Architektur, arbeitet aber ausschließlich mit dem neuen Thumb2-Befehlssatz. (Andere ARM-Cores können zwischen ARM- und Thumb-Befehlssatz umschalten.)
Herzstück des Cortex-M3-Prozessors ist der Cortex-M3-Kern mit dreistufiger Pipeline, basierend auf der Harvard-Architektur. ARM-Prozessoren sind für beide Architekturen, Von-Neumann (wo ein Daten- und Adressbus zum Laden von Befehlen und Daten verwendet wird), und Harvard verfügbar. Die Harvard-Architektur zeichnet sich dadurch aus, dass zwei getrennte Bussysteme (und zwei getrennte Speicher) zum Laden von Daten und Befehlen existieren, d. h. der Prozessor kann gleichzeitig sowohl Daten als auch Befehle lesen (bzw. Daten in den Speicher zurückschreiben). Nach außen hin (Programmiermodell) ist der Cortex-M3 allerdings ein Von-Neumann-Modell, das bedeutet, dass sein ganzer (geteilter) Adressraum linear programmiert werden kann. Das erspart aufwendige Zugriffe auf den Programmspeicher, wenn dort Konstanten abgelegt sind.
Bei einem 32-Bit-Prozessor ist der ansprechbare Speicherbereich mit 4 Gigabyte für einen Mikrocontroller überdimensional groß. Daher existieren genügend Adressen, um beide Speicher im gemeinsamen Adressraum anzusprechen. Für den Programmierer des Systems ist dies ein überaus großer Vorteil, da Daten, welche im Flash (Programmspeicher) abgelegt werden (Konstanten, Strings, etc.) direkt linear adressiert werden können und nicht erst mit umständlichen Befehlen geladen werden müssen.
In den Kern des Cortex-M3 wurden einige neue Features integriert. So gehören ein echter Nested Vectored Interrupt Controller, eine Art Sprungvorhersage und Multiplikation in nur einem Takt, dazu.