Skip to content

Cortex M85 - der Standard für AI Auf Mikrocontrollern

Die Anforderungen an eingebettete Geräte sind in den letzten Jahren stark gestiegen. Besonders in Bereichen wie maschinellem Lernen (ML) und der Signalverarbeitung besteht ein wachsender Bedarf an leistungsfähigen und gleichzeitig energieeffizienten Lösungen. Durch begrenzte Ressourcen und Rechenleistung sind Mikrocontroller häufig nur zweite Wahl. Die kosten- und energieintensiveren High-End-Prozessoren wie Cortex-A oder spezialisierte GPU-basierte Ansätze stehen im Vordergrund. Nun jedoch preschen Hersteller mit der neuen Cortex-M85-Architektur vor.

Mit dem ARM Cortex-M85 steht nun eine neue MCU-Generation zur Verfügung, die speziell für die Anforderungen ressourcensparender mobiler Systeme entwickelt wurde. Der M85 kombiniert hohe deterministische Rechenleistung mit innovativen Features, die den Einsatz von MCUs über klassische Anwendungsfelder hinaus erweitern. Ferner sind ULP-Anwendungen (Ultra Low Power)  möglich. Die Grundlage für den im ML-Kontext benötigten hohen Datendurchsatz ist die Helium-Technologie, die durch die M-Profile Vector Extension (MVE) die Möglichkeit zu komplexeren Matrizenoperationen bietet.

M-Profile Vector Extension (MVE)

Eine Kernkomponente des Cortex-M85 ist die MVE, die die Verarbeitungsgeschwindigkeit für ML-Modelle und Signalverarbeitung massiv erhöht. ML-Anwendungen am Edge setzen oft auf optimierte Matritzenoperationen, die zuvor auf leistungsstarken Servern trainiert und anschließend auf den Mikrocontrollern implementiert werden. Durch die Nutzung von Bibliotheken wie CMSIS-NN können diese Modelle auf dem Cortex-M effizient ausgeführt werden.

Die Helium-Erweiterung ermöglicht, die Floating Point Unit (FPU) als 128-Bit-Vektor-Register zu nutzen, wodurch parallel 16 Operationen mit 8-Bit, 8 Operationen mit 16-Bit oder 4 Operationen mit 32-Bit durchgeführt werden können. Dies führt zu einer bis zu vierfachen Leistung im Vergleich zu einem typischen Cortex-M7 mit ähnlichen Leistungsparametern (Takt, RAM/ROM). Praktisch ist die Mikrocontroller-Abstraktion über die CMSIS-Library. So bietet ARM die dazu erforderlichen MVE-Befehle direkt mit der CMSIS-NN-Bibliothek an, was die Anwendbarkeit von ML-Applikationen deutlich vereinfacht. 

Die Helium-Technologie des Cortex-M85 optimiert die Datenverarbeitung durch das Konzept der „beatwise“ Ausführung, das auf 8 Vektorregistern mit einer Länge von jeweils 128 Bit basiert. Diese Register sind in vier gleich große Abschnitte zu je 32 Bit unterteilt, die als „Beats“ (A bis D) bezeichnet werden. Jeder Beat repräsentiert unabhängig von der Elementgröße 32-Bit an Berechnungen – beispielsweise 1 x 32-Bit-MAC oder 4 x 8-Bit-MAC.

Ein typisches Szenario, wie in der folgenden Grafik dargestellt, zeigt eine abwechselnde Abfolge von Vector Load (VLDR) und Vector MAC (VMLA) Befehlen über vier Taktzyklen. In einer klassischen 128-Bit-Datenpfad-Architektur wären große Teile der Hardware, wie der Speicherpfad und die MAC-Blöcke, oft ungenutzt. Die MVE-Architektur bricht jedoch jede 128-Bit-weite Anweisung in vier gleich große Beats auf. Durch die Trennung von Lade- und MAC-Hardware kann die Verarbeitung dieser Beats überlappen: Während Beat A eines VLDR geladen wird, wird gleichzeitig Beat A eines VMLA verarbeitet, der auf Daten aus dem vorherigen Zyklus zugreift.

helium_tech

"Beatwise Operation" im Helium-MVE-Zyklus

Dieses überlappende Design ermöglicht es, dieselbe Leistung wie ein Prozessor mit einem 128-Bit-Datenpfad zu erreichen. Selbst bei Prozessoren mit nur einem 32-Bit-Datenpfad können durch die „beatwise“ Ausführung vergleichbare Instruktionen effizient verarbeitet werden. Ein solches Design verdoppelt die Leistung eines Single-Issue-Skalarprozessors, der in acht Zyklen 8 x 32-Bit-Werte laden und MAC-Berechnungen durchführen kann – und das ohne den hohen Hardwareaufwand eines Dual-Issue-Designs.

Low Overhead Branch Extension

Nicht nur im Kontext von ML, sondern auch bei Schleifenstrukturen hat die Effizienz der Verarbeitung einen wesentlichen Einfluss auf die Gesamtleistung. Der Cortex-M85 führt hier mit den neuen Maschinenbefehlen WLS, DLS und LE eine optimierte Pipeline-Steuerung ein. Diese Befehle minimieren den Overhead in Schleifenoperationen, da der Schleifenbeginn und das Ende direkt in den Core-Registern gespeichert werden.  

Ein besonderes Merkmal: Die Arbeit, diese neuen Befehle zu nutzen, wird vom Compiler übernommen, sodass Entwickler automatisch von der verbesserten Performance profitieren. Auch wenn die MVE-Erweiterung nicht implementiert ist, sind die neuen Schleifenbefehle verfügbar.

Half Precision Floating Point

Um die Rechenleistung weiter zu steigern, unterstützt die FPU des Cortex-M85 neben 32-Bit-Single-Precision- und 64-Bit-Double-Precision-Operationen auch 16-Bit-Half-Precision-Operationen. Dies ist besonders bei der Normierung von ML-Modellen hilfreich, da Berechnungen mit kleineren Datentypen nicht nur die Speichernutzung reduzieren, sondern auch die Rechengeschwindigkeit erhöhen – ohne dabei signifikante Qualitätsverluste zu riskieren.  

Zusammenfassung

Der ARM Cortex-M85 mit der Helium-Technologie und der MVE stellt einen bedeutenden Fortschritt in der Welt der Mikrocontroller dar. Er ermöglicht leistungsstarke Anwendungen im Bereich KI und Signalverarbeitung, die bisher teureren Prozessoren vorbehalten waren. Mit seiner hohen deterministischen Rechenleistung und den innovativen Optimierungen zeigt der Cortex-M85, wie die Grenzen der klassischen MCU-Anwendungsfälle verschoben werden können.

Kommentieren