ARM TechCon 2014

Kann ARMs Cortex-M7 einen DSP ersetzen?

2. Oktober 2014, 12:09 Uhr | Frank Riemenschneider
© Frank Riemenschneider, Elektronik

ARMs weitverbreiteter MCU-Core Cortex-M4 hat limitierte DSP-Fähigkeiten, welche beim Cortex-M7 deutlich ausgebaut wurden. Ein DSP-Guru erklärte, ob man mit ihm tatsächlich diskrete DSPs ersetzen kann.

Diesen Artikel anhören
Dr. Paul Beckmann ist Gründer und CTO von DSP-Concepts.
Dr. Paul Beckmann ist Gründer und CTO von DSP-Concepts.
© Frank Riemenschneider, Elektronik

ARMs Cortex-M4 erbte seine DSP-Fähigkeiten weitestgehend vom alten ARM9E. Gegenüber dem Cortex-M3 war dies ein großer Schritt, im Vergleich zu diskreten DSPs sind die Fähigkeiten eher limitiert.

Mit dem neuen Cortex-M7, den wir Ihnen schon ausführlich vorgestellt haben, wurden die DSP-Fähigkeiten deutlich verbessert.

Dr. Paul Beckmann, Gründer und CTO von DSP-Concepts, einer Firma aus dem kalifornischen Santa Clara, die auf Algorithem für digitale Signalverarbeitung spezialisiert ist und nach unseren Informationen u.a. mit deutschen Auto-OEMs wie BMW, Audi oder Porsche für deren Audio-Systeme zusammenarbeitet und für ARM eine DSP-Bibliothek entwickelt hat, erklärte die Fortschritte in einem Vortrag im Detail.

Zunächst sind dort die harwareseitigen Fortschritte (Tabelle 1), welche die Verarbeitung beschleunigen. So unterstützt der M7 z.B. Schleifen mit sogenanntem "Zero Overhead", was bedeutet, dass eine Schleife der Art

loop:
  mac.a r4,r5
  agn0 loop

in nur 10 Taktzyklen genau 10 MAC-Operationen ausführen kann. Desweiteren können parallel Lade-/Speicher-Operationen und Berechnung ausgeführt werden, was zu einem veränderten Programmiermodell führen sollte, dazu später mehr.

Was im Vergleich zu einem diskreten DSP noch fehlt, sind die Ringpuffer-und Bit-Reverse-Adressierung.

Für viele Algorithmen (besonders Filter) ist ein Ringpuffer im Speicher nötig. Um die Implementierung eines solchen Puffers zu erleichtern, gibt es in diversen DSPs die Ringpuffer-Adressierung. Die Bit-Reversed-Adressierung ist nützlich, um FFTs (Fast Fourier Transformationen) zu implementieren. Da das Endergebnis solcher Transformationen „bit-reversed“ sind, kann diese Adressierung dazu verwendet werden, die errechneten Daten in brauchbarer Form im Speicher abzulegen. Es ist also nicht nötig, die Bits mit zusätzlichen Befehlen zu korrigieren und Speicherinhalte auszutauschen.

Beckmann erklärte allerdings, das die Bibliothek von DSP-Concepts diese Defizite durch hocheffiziente Algorithmen kompensieren könne. Der M7 ist laut seiner Aussage in sehr vielen Fällen dazu geeignet, herkömmliche 2-Chip-Designs (MCU + DSP) auf nur noch einen Chip (MCU mit Cortex-M7) zu migrieren und damit BOM-Kosten und Leiterplattenplatz zu sparen.

 Cortex-M4Cortex-M7DSP
MAC-Operationen in 1 Taktzyklus Nur Festkomma Festkomma
und Gleitkomma
Ja
Gleitkomma-Zahlen Ja Ja Ja
gebrochene Zahlen Ja Ja Ja
Sättigungsarithmetik Ja Ja Ja
Laden/Speichern parallel
zu arithmetischen Berechnungen
Nein Ja Ja
SIMD-Operationen Ja Ja Ja
Zero-Overhead-Schleifen Nein Ja Ja
Akkumulator mit Schutzbits Nein Nein Ja
Ringpuffer-Adressierung Nein Nein Ja
Bit-Reversed-Adressierung Nein Nein Ja

Vergleich der Eigenschaften von Cortex-M4, Cortex-M7 und traditionellem DSP hinsichtlich digitaler Signalverarbeitung.



  1. Kann ARMs Cortex-M7 einen DSP ersetzen?
  2. Parallelisierbarkeit richtig ausnutzen
  3. So oft wie möglich MAC-Operationen einsetzen
  4. Das DSP-Ergebnis - Cortex-M7 schlägt Cortex-M4 deutlich

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu ARM Germany GmbH

Weitere Artikel zu Mikrocontroller