Home Home_head.Blog Blog Details

ARM vs. DSP vs. FPGA: Die wichtigsten Unterschiede

July 26 2023
Ampheo

Inquiry

blog_detail_desc

QUICK RFQ
ADD TO RFQ LIST
ARM vs. DSP vs. FPGA: Die wichtigsten Unterschiede

Was ist ARM?

ARM (Advanced RISC Machines) ist ein bekanntes Unternehmen in der Mikroprozessorbranche, das eine große Anzahl leistungsstarker, kostengünstiger und stromsparender RISC-Prozessoren sowie zugehörige Technologien und Software entwickelt. Die ARM-Architektur ist der erste für den Low-Budget-Markt entwickelte RISC-Mikroprozessor und der Industriestandard für 32-Bit-Mikrocontroller, der eine Reihe von Kernen, Systemerweiterungen, Mikroprozessoren und System-on-Chip-Lösungen bietet. Herstellern stehen vier Funktionsmodule zur Verfügung, um die Produktion entsprechend den Anforderungen verschiedener Benutzer zu konfigurieren. Da alle Produkte eine gemeinsame Softwarearchitektur verwenden, kann in allen Produkten dieselbe Software ausgeführt werden. ARM hält derzeit einen Marktanteil von über 90 % auf dem Markt für Handheld-Geräte, was die Zeit für Anwendungsentwicklung und -tests effektiv verkürzen und auch die F&E-Kosten senken kann. ARM ist ein 32-Bit-Mikrocontroller mit hoher Leistungsfähigkeit interner Hardwareressourcen, der mit einem Betriebssystem geladen werden kann, dessen Hauptfunktion er ist. Mit einem Betriebssystem kann er wie ein PC Multitasking in Echtzeit durchführen, das heißt, er kann mehrere Aufgaben gleichzeitig erledigen, ohne sich gegenseitig zu beeinträchtigen.

ARM vs. DSP vs. FPGA: Die wichtigsten Unterschiede - 1

Abbildung 1: ARM

ARM-Architektur

Zu den RISC-Architekturen (Reduced Instruction Set Computing) für Computerprozessoren gehört die Arm-Architekturfamilie. Mit mehr als 250 Milliarden Arm-basierten Chips, die unsere Partner in den letzten drei Jahrzehnten in Produkten von Sensoren, Wearables und Smartphones bis hin zu Supercomputern geliefert haben, ist sie die am weitesten verbreitete Prozessorarchitektur der Welt. Integrierte Sicherheit, hohe Leistung und Energieeffizienz, ein umfangreiches Ökosystem für weltweiten Support sowie die Verbreitung in allen Märkten und Regionen sind alles Vorteile des Arm-CPU-Designs.

ARM vs. DSP vs. FPGA: Die wichtigsten Unterschiede - 2

Abbildung 2: Arm-Architektur  

Was ist das FPGA?

FPGA, eine Art halbkundenspezifischer Schaltkreis im Bereich anwendungsspezifischer integrierter Schaltkreise (ASIC), behebt den Mangel an kundenspezifischen Schaltkreisen und überwindet den Nachteil der begrenzten Anzahl von Gates der ursprünglichen programmierbaren Geräte. Es ist nicht übertrieben zu behaupten, dass FPGAs FPGAs als Stück Papier oder als Sammlung von Bausteinen implementieren und die Operationen jedes digitalen Geräts ausführen können, von Hochleistungs-CPUs bis hin zu einfachen 74-Schaltkreisen. Durch die Softwaresimulation können wir die Genauigkeit des Designs im Voraus überprüfen. Mit der Online-Änderungsfunktion des FPGA ist es auch möglich, das Design jederzeit nach Fertigstellung der Leiterplatte zu ändern, ohne die Hardwareschaltung zu verändern. FPGAs können die Designzeit, den Leiterplattenplatz und die Systemzuverlässigkeit erheblich reduzieren, wenn sie zum Erstellen digitaler Schaltkreise verwendet werden. Die Programmierung des On-Chip-RAM ist für den FPGA-Betrieb notwendig, da Betriebszustände durch im On-Chip-RAM gespeicherte Programme eingestellt werden. Je nach Setup-Modus können Benutzer unterschiedliche Programmiertechniken verwenden.

ARM vs. DSP vs. FPGA: Die wichtigsten Unterschiede - 3

Abbildung 3: FPGA  

FPGA-Architektur

Ein elementares FPGA-Design besteht aus Zehntausenden von wesentlichen Komponenten, die als konfigurierbare Logikblöcke (CLBs) bezeichnet werden und durch ein Netzwerk programmierbarer Verbindungen, das als Fabric bezeichnet wird, miteinander verbunden sind. Die Schnittstelle zwischen dem FPGA und externen Geräten besteht aus Eingabe-/Ausgabeblöcken (I/O). Der CLB kann je nach Hersteller auch als Logikblock (LB), Logikelement (LE) oder Logikzelle (LC) bezeichnet werden. Mehrere Logikblöcke bilden einen einzigen CLB. Eines der Unterscheidungsmerkmale eines FPGA ist die Lookup-Tabelle (LUT). Für jede Kombination von Eingängen enthält eine LUT eine voreingestellte Liste von Logikausgängen; LUTs mit vier bis sechs Eingangsbits sind üblich. Multiplexer (Mux), Volladdierer (FAs) und Flip-Flops sind Beispiele für gängige Logikoperationen. Die fortschrittlicheren CLBs in FPGAs der aktuellen Generation können viele Operationen mit nur einem Block ausführen und sie können kombiniert werden, um komplexere Aufgaben wie Multiplikatoren, Register, Zähler und sogar Operationen der digitalen Signalverarbeitung (DSP) auszuführen.

ARM vs. DSP vs. FPGA: Die wichtigsten Unterschiede - 4

Abbildung 4: FPGA-Architektur  

Wie funktioniert FPGA?

Der FPGA-Chip liest Daten vom EPROM in den On-Chip-Programmier-RAM, wenn die Stromversorgung angeschlossen ist, und sobald die Konfiguration abgeschlossen ist, wechselt das FPGA in den Arbeitszustand. Das FPGA kann häufig verwendet werden, da es nur einen Allzweck-EPROM- oder PROM-Programmierer benötigt, keinen speziellen FPGA-Programmierer. Es gibt nur einen EPROM, der geändert werden muss, wenn die FPGA-Funktion geändert werden muss. Das gleiche FPGA kann auf diese Weise viele Schaltungsfunktionen bereitstellen, indem es unterschiedliche Programmierinformationen verwendet. FPGAs können daher auf verschiedene Weise verwendet werden. Eine der besten Möglichkeiten für Systeme mit kleinem Volumen, die Systemintegration und Haltbarkeit zu erhöhen, sind FPGA-Chips, so sei erwähnt.  

Was ist der DSP?

Digitale Signalprozessoren (DSPs) sind spezielle Mikroprozessoren, die mithilfe digitaler Signale viele Daten verarbeiten. Sie verfügen über einen eigenen vollständigen Befehlssatz. Sein wichtigstes Merkmal ist, dass er über eine Harvard-Busstruktur und einen dedizierten internen Hardware-Multiplikator verfügt, um viele digitale Informationen schnell verarbeiten zu können. Ein digitaler Signalprozessor auf einem kleinen Chip umfasst unter anderem eine Steuereinheit, eine Verarbeitungseinheit, eine Vielzahl von Registern und eine Reihe von Speichereinheiten. Seine Peripherie kann auch an eine Reihe von Speichern angeschlossen werden und mit einer Reihe von externen Geräten kommunizieren. Das vom DSP verwendete Harvard-Design ermöglicht eine vollständige Überlappung zwischen dem Abrufen und Ausführen von Anweisungen, da Datenbus und Adressbus getrennt sind, sodass Programm und Daten an zwei verschiedenen Orten gespeichert werden können. Infolgedessen kann der Mikroprozessor die vorherige Anweisung ausführen und die folgende Anweisung gleichzeitig abrufen und dekodieren, was die Verarbeitungsleistung erheblich beschleunigt. Aufgrund der verbesserten Vielseitigkeit des Geräts ermöglicht es auch die Übertragung von Daten und Programmen. Es funktioniert, indem es analoge Signale aufnimmt, sie in digitale Signale von 0 oder 1 umwandelt und dann die digitalen Signale erweitert, entfernt und ändert. Schließlich dekodieren andere Systemchips die digitalen Daten wieder in analoge Daten oder das echte Umgebungsformat.

ARM vs. DSP vs. FPGA: Die wichtigsten Unterschiede - 5

Abbildung 5: DSP  

DSP-Architektur

Das folgende Diagramm stellt die Super-Harvard-Architektur von DSP dar. SHARC DSP ist eine Abkürzung für Super Harvard Architecture und der Name, den Analog Devices seinen neuen DSP-Familien ADSP-211xx und ADSP-2106x gegeben hat, um zu beschreiben, wie sie im Inneren funktionieren. Um den Durchsatz zu steigern, wurden dieser Architektur einige Funktionen hinzugefügt. Die digitalen Signalprozessoren der Super-Harvard-Architektur sind zwar in vielerlei Hinsicht optimiert, aber ein Befehlscache und ein E/A-Controller sind wichtig genug, um integriert zu werden.

ARM vs. DSP vs. FPGA: Die wichtigsten Unterschiede - 6

Abbildung 6: DSP-Architektur

ARM- vs. DSP- vs. FPGA-Funktionen

ARM-Funktionen

  • Load/Store-Architektur
  • Integrierte Sicherheit
  • Orthogonaler Befehlssatz
  • Einzelzyklus-Ausführung
  • Energieeffizienz
  • 64- und 32-Bit-Ausführungszustände
  • Unterstützung für Hardwarevirtualisierung

 

DSP-Funktionen

  • Eine Multiplikation und eine Addition können in einem Befehlszyklus abgeschlossen werden.
  • Separate Programm- und Datenbereiche, die gleichzeitigen Zugriff auf Befehle und Daten ermöglichen.
  • Verfügt über schnellen RAM auf dem Chip, auf den normalerweise über separate Datenbusse gleichzeitig in zwei Blöcken zugegriffen werden kann.
  • Hardwareunterstützung für Schleifen und Sprünge mit geringem oder keinem Overhead.
  • Schnelle Interruptbehandlung und Hardware-E/A-Unterstützung.
  • Mehrere Hardwareadressgeneratoren, die in einem einzigen Zyklus arbeiten.
  • Die Möglichkeit, mehrere Operationen parallel auszuführen.
  • Unterstützung für Pipeline-Betrieb, sodass Operationen wie Abrufen, Dekodieren und Ausführen überlappend ausgeführt werden können.

 

FPGA-Funktionen

  • Konfigurierbare Logikblöcke
  • Programmierbare Verbindungen
  • Programmierbares Routing
  • Programmierbare E/A-Blöcke
  • On-Chip-Speicher
  • Blöcke zur digitalen Signalverarbeitung (DSP)
  • Verbindung auf Systemebene
  • Entwerfen von ASICs mit FPGAs

 

ARM vs. DSP vs. FPGA: Vorteile und Nachteile

Vorteile und Nachteile von ARM

Vorteile von ARM

  • Load-Store-Architektur: Um Speicherinteraktionen zu minimieren, verwendet der Prozessor eine Load-Store-Architektur, die Daten in verschiedenen Registern speichert. Um Daten vom externen Speicher in die Registerbank zu verschieben, verfügt er über unterschiedliche Lade- und Speicheranweisungen. Niedriger Stromverbrauch: AMP-Prozessoren verbrauchen weniger Energie. Ursprünglich waren sie für einen geringeren Stromverbrauch vorgesehen. Trotzdem verwendet ihre Architektur weniger Transistoren. Sie haben auch zusätzliche Eigenschaften, die dies ermöglichen.
  • Schneller arbeiten: ARM führt nur eine Operation auf einmal aus. Dies beschleunigt den Betrieb. Es zeichnet sich durch eine schnellere Reaktionszeit und geringere Latenz aus.
  • ARM-Prozessoren sind mit einer Multiprocessing-Funktion ausgestattet, die es ermöglicht, sie in Systemen zu verwenden, die viele Prozessoren zur Datenverarbeitung einsetzen.
  • Kostengünstig in der Herstellung – ARM-Prozessoren sind sehr günstig, da für ihre Herstellung keine teure Ausrüstung benötigt wird. Im Vergleich zu anderen Prozessoren werden sie zu einem viel geringeren Preis hergestellt.

  Nachteile von ARM

  • Er kann nicht unter Windows verwendet werden, da er mit X86 nicht kompatibel ist.
  • Einige Prozessoren haben Geschwindigkeitsbeschränkungen, die problematisch sein könnten.
  • Bei der Verwendung von ARM-Prozessoren kann die Planung von Anweisungen eine Herausforderung sein.
  • Der Programmierer muss Anweisungen korrekt ausführen. Dies liegt daran, dass ihre Ausführung die Gesamtleistung von ARM-Prozessoren bestimmt.
  • Für ARM-Prozessoren werden Programmierer mit extremen Fähigkeiten benötigt. Dies liegt an der Bedeutung und Komplexität der Ausführung (die Leistung eines Prozessors ist schlechter, wenn sie nicht ordnungsgemäß ausgeführt wird).
  • Eingeschränkte Leistung: ARM-Prozessoren verfügen möglicherweise nicht über die gleiche Verarbeitungskapazität wie andere Prozessortypen, was ihre Fähigkeit zur Ausführung anspruchsvollerer Programme beeinträchtigen kann.
  • Kompatibilität: Einige Software ist möglicherweise nicht mit ARM-Prozessoren kompatibel, was die Palette der Anwendungen einschränken kann, die auf ARM-basierten Geräten ausgeführt werden können.

 

Vorteile und Nachteile von DSP

Vorteile von DSP

  • Zur Echtzeit-Programmimplementierung verwendet DSP höhere Programmiersprachen wie C oder Assembler.
  • Durch den Einsatz von DSP-Geräten ermöglichte schnelle Software-Upgrades verbessern die Zuverlässigkeit, Anpassungsfähigkeit, Austauschbarkeit und Flexibilität des Systems erheblich.
  • Anpassbarkeit der Software.
  • Geeignet für bedingte Operationen, insbesondere schwierige Anwendungen mit mehreren Algorithmen.

  Nachteile von DSP

  • Der serielle Befehlsstrom unterliegt Einschränkungen.
  • Bei Abtastraten von über einigen MHz können von einem DSP nur äußerst einfache Berechnungen an den Daten durchgeführt werden.
  • Der lange Entwicklungszyklus.

 

Vorteile und Nachteile von FPGA

Vorteile von FPGA

  • Hohe Integration, schnelle Verarbeitung und effektive Ausführung im großen Maßstab.
  • FPGA ermöglicht die Fertigstellung anspruchsvoller sequentieller Logikdesigns und die Programmierung ist flexibel, nützlich, einfach und wiederholbar.
  • Die Programmierung kann auf einer großen Anzahl von FPGAs immer wieder und endlos durchgeführt werden. Durch Neukonfiguration kann der Hardware-Overhead reduziert werden.
  • Der Großteil der Flip-Flops und Logikgatter auf dem Chip sind Lookup-Tabellenstrukturen.
  • Der Großteil der Implementierung erfolgt mit SRAM.

  Nachteile von FPGA

  • Bei einem Stromausfall geht die anfängliche Logikeinstellung häufig verloren.
  • Das Timing ist schwierig zu planen.
  • Es können nicht viele Ereignisse verwaltet werden.
  • Unter diesen Umständen ist es für den Einsatz nicht geeignet.

 

ARM vs. DSP vs. FPGA

 

ARM

DSP

FPGA

Eigenschaften 1. Die Arm-Architektur legt eine Reihe von Richtlinien fest, die bestimmen, wie sich die Hardware verhält, wenn ein bestimmter Befehl ausgeführt wird. 2. Es handelt sich um eine Vereinbarung zwischen der Hardware und der Software, die festlegt, wie sie zusammenarbeiten. Computerhardware, die starr und untermotorisiert ist. Um die Leistungsfähigkeit des Systems zu verbessern, muss die Anzahl der DSPs erhöht werden. Dank anpassbarer Hardware, integriertem Speicher und eingebetteten CPUs handelt es sich um ein funktionierendes System mit skalierbarer Rechenleistung.
Programmiersprache Eine Low-Level-Programmiersprache ist eine Assemblersprache. Der eigentliche binäre Operationscode, den der Kern tatsächlich ausführt, hat eine Eins-zu-eins-Beziehung zu den Anweisungen in der Assemblersprache (Mnemonik). Die DSP-Programmierung erfolgt in C, einer Assemblersprache. Die Mehrheit der FPGAs verwendet HDL, eine hybride digitale und analoge Beschreibungssprache, die VHDL, Verilog und Verilog-AMS umfasst.
Kosten Hochleistungsfähige, kostengünstige RISC-Prozessoren mit geringem Stromverbrauch Im Gegensatz zu allgemeinen DSPs, die sehr erschwinglich sind, sind anwendungsspezifische DSPs teuer. Auch die Kosten für die Neukonfiguration eines DSP sind hoch. Durch Modifikationen können verschiedene Anwendungen mit FPGAs zum Laufen gebracht werden. Aufgrund ihrer Anpassungsfähigkeit sind sie einfach zu verwenden.
Anwendungen   Unterhaltungselektronik wie Smartphones, Tablets, Wearables und andere mobile Geräte verwenden häufig Arm-Prozessoren. Darüber hinaus werden sie in einer Vielzahl von Sensoren und IoT-Geräten eingesetzt. Systeme mit niedrigen Abtastraten, niedrigen Datenraten, Mehrzustandsbetrieb, der Verarbeitung komplexer Multiarithmetik-Workloads, der Verwendung von C-Programmierung und der Nutzung von Gleitkommazahlen sind alle für DSP geeignet. Es eignet sich auch für Systeme, die unter verschiedenen Bedingungen betrieben werden. Die Verwendung von Festkommaberechnungen, Blockdiagrammprogrammierung, hohen Datenraten und Systemen mit schnellen Abtastraten (einige MHz) sind allesamt sinnvolle Einsatzmöglichkeiten von FPAG.

 

Fazit zu ARM vs. DSP vs. FPGA

ARM ist mittlerweile in zwei Varianten mit 32 Bit und 64 Bit unterteilt. Seine internen Hardwareressourcen sind hochleistungsfähig und können mit einem Betriebssystem geladen werden, was zu seinem Hauptmerkmal geworden ist. Mit dem Betriebssystem kann es wie ein PC Multitasking in Echtzeit ausführen, mehrere Aufgaben gleichzeitig erledigen und stürzt nicht ab. ARM verfügt über relativ starke Transaktionsverwaltungsfunktionen, kann zum Ausführen von Schnittstellen und Anwendungen usw. verwendet werden und seine Vorteile zeigen sich vor allem in der Steuerung. Keines wird durch das andere beeinträchtigt. DSP wird hauptsächlich für Rechenaufgaben wie Modulation und Demodulation, Verschlüsselung und Entschlüsselung usw. verwendet. Die starke Datenverarbeitungskapazität und die schnelle Betriebsgeschwindigkeit sind Vorteile. Aufgrund ihrer Flexibilität und Kapazität für Programmierung, Debugging, Neuprogrammierung und Wiederholungsprozesse ermöglichen FPGAs eine vollständige Designentwicklung und -überprüfung. Die Vorteile von FPGAs zeigen sich am besten bei geringfügigen Schaltungsänderungen, und ihre Fähigkeit, vor Ort programmiert zu werden, kann die Haltbarkeit des Produkts auf dem Markt verlängern und für Systemupgrades oder Debugging verwendet werden. DSP ist ein Allzweck-Signalprozessor, der die Datenverarbeitung mit Software implementiert; FPGA implementiert die Datenverarbeitung mit Hardware. DSP hat niedrige Kosten, einen flexiblen Algorithmus und eine starke Funktionalität, während FPGA eine gute Echtzeit und höhere Kosten hat. FPGA eignet sich für den technischen Einsatz mit einfachen Steuerfunktionsalgorithmen und enthält viele wiederholte Berechnungen, und DSP eignet sich für technische Anwendungen mit komplexen Steuerfunktionen und enthält viele Berechnungsaufgaben. DSP verwendet Software zur Implementierung von Algorithmen, während FPGA Hardware verwendet. Daher ist die Verarbeitungsgeschwindigkeit von FPGA höher. Ein weiterer wichtiger Faktor, der erklärt, warum FPGA schneller als DSP ist, ist, dass es parallele Berechnungen durchführen kann, während DSP hauptsächlich Software verwendet, um Anweisungen zur Ausführung zu extrahieren, was immer noch eine serielle Ausführung ist.

Ampheo
ARMFPGADSPARMFPGADSP