Mit dem neuen Cortex M4 erweitert Arm das Portfolio der Cortex-M-Reihe in Richtung Performance bei niedrigem Stromverbrauch.

Mit dem neuen Cortex M4 erweitert Arm das Portfolio der Cortex-M-Reihe in Richtung Performance bei niedrigem Stromverbrauch.

„Mit dem Cortex M4 aus der Cortex-M-Familie stellen wir einen neuen Prozessor-Core vor, der in die Kategorie der Digital Signal Controller fällt“, fasst Shyam Sadasivan von Arm aus Cambridge die Neuerung zusammen. Der Clou: Arm verbindet eine klassische MCU mit einem DSP. Die DSP-Kommandos stammen im Wesentlichen aus den SIMD-Erweiterungen anderer Arm-Prozessoren. Allerdings hat Arm die Instruktionen erweitert und komplett neu implementiert, um Chipfläche und Energie zu sparen.
Völlig neu ist ein Satz von Floating-Point-DSP-Befehlen mit einfacher Genauigkeit. „Es geht darum, einen effizienten Mix aus Kontroll- und Signalverarbeitungskapazität in einem Baustein zu haben, der zur Mikrocontroller-Klasse zählt. Er ist sehr energieeffizient und einfach zu benutzen.“ Die Idee hinter einem DSC ist zwar im Markt nicht neu, Arm begibt sich aber erstmals in dieses Terrain. „Wir haben aus Cortex M3 und M0 gelernt und erweitern die Reichweite der Technik. Wir wollen mehr Leistung bei gleicher Megahertz-Zahl erreichen“, führt Shyam Sadasivan aus. Entsprechend soll der M4 effiziente Leistung bei niedrigen Taktraten bringen. Cortex M0, M3 und M4 sind aufwärtskompatibel und nutzen mehr Thumb-2-Befehle. Arm ermöglicht es seinen Lizenznehmern, nur Teile des M4 zu verwenden und beispielsweise auf die Floating-Point-Unit mit ihren 25 000 Gates zu verzichten oder MPU und Debug & Trace wegzulassen. Doch meist ist das nicht nötig: „Ein komplettes System bleibt unter 90 000 Gates“, freut sich Shyam Sadasivan.
Mit dem M4 hat Arm die Toolchain auf DSP-Funktionen erweitert. Um C-Code für den DSP-Teil zu optimieren, können Entwickler Compiler-Intrinsics verwenden. Diese sind Teil des CMSIS (Cortex Microcontroller Software Interface Standard). Arm entwickelt zudem eine optimierte Bibliothek für mathematische Funktionen und Signalverarbeitung. (lei)