ARM Call for Papers

Konferenz für ARM-Systementwicklung
Konferenz für ARM-Systementwicklung

Die große Konferenz für ARM-Systementwicklung am 11. und 12. Juli 2012 in München bietet Entwicklern die Gelegenheit, sich detailliertes Wissen über die aktuellen Cortex-Architekturen anzueignen, die mittlerweile zum Industriestandard avanciert sind.

Ausführliche Informationen:
www.arm-entwicklerkonferenz.de

iPad 3 Teardown & Light+Building

Intel-Prozessor im Smartphone
Intel-Prozessor im Smartphone

Mit dem Lava Xolo X900 gibt es erstmals ein Smartphone, das auf einem Atom-Prozessor von Intel basiert. Kann das mit ARM mithalten? Wir haben das untersucht.

Der kleinste 32-bit-Core der Welt
Der kleinste 32-bit-Core der Welt

Mit dem Cortex-M0+ hat ARM im März den kleinsten 32-bit-Core der Welt vorgestellt. Wir haben ihn uns einmal genauer angeschaut.

Was bringen Quad-Cores in Smartphones?
Was bringen Quad-Cores in Smartphones?

Der Tegra-3 von Nvidia ist der erste Quad-Core-Prozessor für Smartphones und Handys - ganz aktuell im neuen Galaxy S3. Doch bringen vier Kerne im Smartphone überhaupt etwas?

Reingeschaut: Das Galaxy Nexus
Reingeschaut: Das Galaxy Nexus

Ein Blick in dass Innenleben des gemeinsam von Google und Samsung entwickelten Smartphones.

Entwicklungstools zum Download
Entwicklungstools zum Download

Zahlreiche Hersteller bieten im Netz Online-Tools, zeitlich begrenzte Testversionen oder ganze Programmme zum Download an. Wir haben eine kleine Auswahl davon zusammengestellt.

Produkte des Jahres 2012

Events

Marktübersichten Bauelemente

Bauelemente-Marktübersichten

Electronic WebLessons

Electronic WebLessons
Electronic WebLessons

Die Electronic WebLessons vermitteln multimedial aufbereitet Basiswissen zum Thema Elektronik. Hier können Sie ihr Praxiswissen auffrischen oder sich die Grundlagen der Elektronik neu aneignen.

10. März 2010
Cortex-M4

special 80 neue Befehle für DSP und SIMD

Rechtzeitig zur Embedded World stellt ARM mit dem Cortex-M4 einen neuen Core vor, der den überaus erfolgreichen M3 um Befehle für die digitale Signalverarbeitung erweitert. Mit 80 neuen DSP- und SIMD-Befehlen sollen Kunden in den Bereichen Motor-Steuerung, Power-Management und Audio- Verarbeitung gewonnen werden.

Anzeige

Was von den Applikations-Prozessoren schon längst bekannt ist, soll nun auch im Niedrigpreis-Segment der Mikrocontroller Einzug halten: Spezielle Hardware für die digitale Signalverarbeitung, optional ergänzt um eine Gleitkomma-Einheit (FPU), die mit weiteren 25 Befehlen mathematische Operationen in einfacher Genauigkeit ausführt. Die Tabelle 1 zeigt, dass es sich bei dem neuen Core Cortex- M4 im Wesentlichen um einen „aufgebohrten“ Cortex- M3 handelt. Der Befehlssatz leitet sich vom bekannten ARMv7 ab und heißt mit den DSP-Erweiterungen nun ARMv7ME.

Eigenschaft ARM Cortex-M4
ISA ARMv7ME
Befehlslänge 16/32 bit
Thumb-Anweisungen Thumb-2
Integer-Pipeline 3 Stufen
Speicher-Architektur Harvard
L1-Cache nein
Tightly Coupled Memory nein
MAC-Operationen bis 64 bit 1 Zyklus
32-bit-Dividierer
ja
Speicherschutzeinheit (MPU) optional, 8 Bereiche
Systemschnittstelle 3xAHB Lite 32 bit
Nested Vectored Interrupt Controller (NVIC) ja
Externe Interrupts 1 bis 240
Interrupt-Prioritäten 256
NMI
ja
Interrupt-Latenz 12 Zyklen
Inter-Interrupt-Latenz 6 Zyklen
Echtzeit-Trace optional
Breakpoints 2 oder 6
Watchpoints 1 oder 4
Taktfrequenz (max) über 300 MHz
IC-Process 65 nm LP
Tabelle 1: Die Architektur des Cortex-M4 weist eine hohe Ähnlichkeit zum Cortex-M3 auf. Der 32-bit-Multiplizierer des M3 wurde beim M4 allerdings durch insgesamt 80 MAC- und SMID-Befehle für die digitale Signalverarbeitung erweitert.

Statt eines einfachen 32x32-bit-Multiplizierers können nunmehr innerhalb eines einzelnen Taktzyklus MAC-Operationen (Multiply ACcumulate) bis zu 64x64 + 64 bit durchgeführt werden. Wie auch beim Cortex-M3 ist ein 32-bit-Hardware- Dividierer integriert. Änderungen gibt es gegenüber dem Cortex-M3 bei der Anzahl der Watchpoints und Breakpoints , das ganze Thema Interrupts blieb hingegen, ebenso wie die Mikroarchitektur (dreistufige Pipeline, Harvard-Architektur), identisch. Für eine höhere Codedichte wurden beim Cortex-M4 die 16-bit-Thumb-2-Befehle implementiert.

e1004en06-1_tm.jpg
 
zoom
Bild 1: Das Blockdiagramm des Cortex-M4. Der Aufbau ist ähnlich dem des M3, zusätzlich sind die Blöcke für die FPU und die DSP-Funktionen. Die Blöcke in gestrichelten Linien sind optional.

Das Bild 1 zeigt das Blockdiagramm des Cortex-M4. Neben der Gleitkomma- Einheit können auch der WIC (Wake-Up- Interrupt-Controller) und die Debug- und Trace-Einheit auf Kundenwunsch implementiert werden. Beim Verzicht auf diese Funktionsblöcke reduziert sich die Anzahl der Gatter und damit natürlich auch die Leistungsaufnahme. Letztere steigt trotz neuer DSP-Hardware gegenüber dem Cortex-M3 jedoch nur unwesentlich: Bei einer Implementierung in einem 65-nm-LP-Prozess von TSMC nimmt der Cortex-M3 nach Herstellerangaben 0,05 mW/MHz auf, der neue Cortex-M4 0,06 mW/MHz. Bei einer Taktfrequenz von 150 MHz bedeutet dies daher nur einen Anstieg der Leistungsaufnahme von 7 auf 9 mW. Die FPU arbeitet mit einer von der Integer-Pipeline separierten Pipeline. Sie beherrscht neben sechs mathematischen Operationen zusätzlich noch eine so genannte »Fused-MAC«- Operation, die das Ergebnis in doppelter Genauigkeit liefert.

MAC-Befehle für DSP-Leistung

Unstrittig ist, dass eine Standard- MCU für die digitale Signalverarbeitung nur bedingt geeignet ist. So wird für die recht einfache Aufgabe der Decodierung einer MP3- Datei schon eine Taktfrequenz zwischen 20 und 25 MHz benötigt (Bild 2). Selbst ein diskreter DSP bewältigt dies mit Taktfrequenzen zwischen 10 und 15 MHz, während beim Cortex-M4 dafür ein 9-MHz-Takt ausreicht. Er wird dabei lediglich von den auf Audio- Verarbeitung spezialisierten DSPs unterboten, die diese Aufgabe mit 6 bis 7 MHz bewältigen.

Operation Anzahl Taktzyklen
Addieren 1
Subtrahieren 1
Dividieren 14
Multiplizieren 1
MAC 3
Fused-MAC 3
Quadratwurzel ziehen 14
Tabelle 2: Die Gleitkomma-Einheit berechnet mit Ausnahme der Fused-MAC (Ergebnis in doppelter Genauigkeit) Ergebnisse in einfacher Genauigkeit.

Die Hardware-Erweiterungen sind allerdings nur ein Aspekt, wesentlich ist auch die Frage, wie deren Potential durch die Software genutzt werden kann. ARM hat dafür seinen von Keil entwickelten Compiler erweitert, so dass die meisten DSP-Befehle bereits durch Standard-C-Programme genutzt werden können.

e1004en06-2_tm.jpg
 
zoom
Bild 2. Darstellung der benötigten Taktfrequenzen für die Decodierung einer MP3-Datei. Es sind jeweils die Werte für zwei unterschiedliche Produkte innerhalb der entsprechenden Klasse dargestellt.

Um die Hardware jedoch auszureizen, müssen bestimmte Befehle explizit in den C-Code integriert werden. Auch der μVision-Debugger wurde mitsamt der Befehlssatz- Simulation an den M4 angepasst. Rechtzeitig zu der offiziellen Produktvorstellung soll noch weitere Software-Unterstützung vorliegen: Dazu zählt eine CMSISErweiterung (Cortex Microcontroller Software Interface Standard), die dann jedem CMSISkompatiblen Compiler die Nutzung der DSP-Erweiterungen ermöglicht. Hinzu kommen Bibliotheks-Erweiterungen mit mathematischen Funktionen (spezielle trigonometrische Funktionen), Steuer-Algorithmen sowie Algorithmen für Digitalfilter mit Unterstützung der Programme MathLab und LabVIEW. Nach Aussage von ARM gibt es bereits jetzt vier Lizenznehmer, darunter ein bekannter Automobilhersteller. Die Fortschreibung der Erfolgsgeschichte des Cortex-M3 ist daher mehr als wahrscheinlich, da der M4 bei DSP-lastigen Anwendungen mit niedrigeren Taktfrequenzen auskommt, weniger Leistung aufnimmt und unter Umständen einen separaten DSP überflüssig macht. Und schließlich bringt der neue Core in der ARM-Welt erstmals die digitale Signalverarbeitung in die Reichweite eines Standard-Mikrocontroller- Entwicklers.