Signalprozessor (Hardware)

Signalprozessor (Hardware)
DSP-Grafikchip

Ein Digitaler Signalprozessor (engl. digital signal processor, DSP) dient der kontinuierlichen Bearbeitung von digitalen Signalen (z. B. Audio- oder Videosignale) durch die Digitale Signalverarbeitung. Zur Verarbeitung von analogen Signalen wird der DSP in Verbindung mit Analog-Digital-Umsetzern und Digital-Analog-Umsetzern eingesetzt.

Inhaltsverzeichnis

Funktion

DSPs dienen nicht nur als Ersatz für aufwändige analoge Filtertechnik, sondern können darüber hinaus Aufgaben ausführen, die analog nur schwer oder überhaupt nicht lösbar wären:

  • Frequenzfilter hoher Ordnung mit geringem Phasenfehler (z. B. Klangbeeinflussung beim Abmischen und in Mischpulten)
  • Dynamikkompression und Rauschunterdrückung mit dynamischen (adaptiven) Parametern
  • Störaustastung unter Berücksichtigung des Charakters des Signales
  • Implementierung von Effekten wie Echo, Hall oder Verfremdung von Stimmen
  • Echounterdrückung
  • Datenkomprimierung zur digitalen Weiterverarbeitung
  • Spracherkennung und Sprachsynthese

DSPs enthalten im Vergleich zu Standard-CPUs einen auf häufig benötigte mathematische Operationen hin geschwindigkeitsoptimierten Prozessor. Einige DSPs enthalten darüber hinaus am Ein- und Ausgang bereits die erforderlichen A/D- und D/A-Wandler

Echtzeitfähigkeit

Ein DSP muss eine bestimmte Datenmenge pro Zeiteinheit sicher verarbeiten können. Dies ergibt sich aus der Forderung einer meist fixen und von außen vorgegebenen Abtastrate mit der die Eingangsdaten in den DSP gelangen bzw. die verarbeiteten Daten wieder geschrieben werden müssen. Eine Art „Handshake“ oder zeitliches Anhalten bei der Datenverarbeitung ist bei dieser echtzeitfähigen Verarbeitung nicht möglich, da dies im digitalen Signal zu Ausfällen führen würde.

DSPs werden durch folgende Einrichtungen echtzeitfähig:

  • Spezielle synchrone, serielle Schnittstellen für die Ein- und Ausgabe der digitalen Signale
  • Sogenannte MAC-Befehle für die gleichzeitige Multiplikation und Addition in einem Maschinenbefehl.
  • Adressgeneratoren für die Implementierung von Schleifen und Ringpufferstrukturen ohne softwareseitigen Overhead.
  • Implementierung des Prozessors ausschließlich in Harvard-Architektur.
  • Existenz eines dedizierten Hardware-Stacks.
  • Kein Multitasking
  • schnelle Ausführung von Schleifen
  • mehrmaligen Zugriff auf den Speicher in einem Zyklus

Befehlssatz

Zahlenformate

Unterteilt werden Signalprozessoren und deren Befehlssatz nach der Fähigkeit, Rechenoperationen entweder mittels

oder mittels

ausführen zu können.

Signalprozessoren mit Festkommaarithmetik sind im Aufbau meist einfacher und haben einen geringeren Stromverbrauch. Dafür ist die Implementierung von bestimmten Algorithmen komplizierter, da bei jeder Berechnung vom Programmierer kontrolliert werden muss, ob es zu möglichen Überläufen in der Zahlendarstellung kommen kann und auf welcher Stelle sich der Kommapunkt befindet. Typische Vertreter von Signalprozessoren mit Festkommaarithmetik ist die DSP-Serie ADSP218x und Blackfin BF53x von Analog Devices sowie die TMS320VC5x von Texas Instruments.

Signalprozessoren mit Gleitkommaarithmetik sind komplexer im Aufbau, da ihre Rechenwerke die kompliziertere Darstellung der Gleitkommazahlen verarbeiten können. Damit ist bei gleicher Rechenleistung meist ein höherer Stromverbrauch verbunden. Der Vorteil liegt in der meist einfachen Implementierung von komplizierten Algorithmen. Typische Vertreter von Signalprozessoren mit Gleitkommaarithmetik sind die als SHARC bezeichneten Bausteine von Analog Devices und die TMS320VC67x von Texas Instruments.

Operationen

  • Es existieren mehrere Rechenwerke (ALUs), darunter ein Multiply-Accumulate-Rechenwerk (MAC). Dieses Rechenwerk ermöglicht die Operation A* = A + B x C in einem einzigen Prozessorzyklus und dient vornehmlich der Geschwindigkeitserhöhung der für spektrale Operationen, etwa der für die schnelle Fourier-Transformation oder der Faltung erforderlichen Berechnungen.
  • Auf Boolesche Operationen beschränkte Rechenwerke werden in einigen DSPs (z.B. TI TMS320Cxx) zur unabhängigen Datenmanipulation eingesetzt (PLU=Parallel Logic Unit).
  • Es werden auch Address Generation Units (AGU) eingesetzt. Die AGU besteht aus programmierbaren Zählern (Counter), Shiftern und anderen logischen Elementen. Dadurch können die Speicheradressen zum Beispiel für die Operanden parallel zu arithmetischen Operationen ausgeführt werden um auch die Speicherbandbreite nicht zu verkleinern. Einige AGUs unterstützen die Register-Indirekte Adressierung mit nachträglicher Inkrementierung. Anwendung finden sie in Berechnungen, wo Daten wiederholt berechnet werden, die sequentiell im Speicher angeordnet sind. Für den schnelle Fourier-Transformation (FFT) Algorithmus wird auch eine bitreversed Adressierung eingesetzt.
  • Die Execution Unit (EXU) hat die Aufgabe der Datenmanipulation. Jeder Cluster darf die Register des Nachbar Clusters auslesen. Beispiel: TI TMS320C6201
  • VLIW-Anweisung

Programmablauf

  • Verschachteltes no-overhead Hardware-Looping mittels eines dedizierten Loop-Stacks.
  • Die heutigen DSPs sind darüber hinaus oft massiv-parallel programmierbar, das heißt in einem einzigen Prozessorzyklus können mehrere Rechen- und/oder Speichertransferoperationen gleichzeitig durchgeführt werden.
  • Prefetch und Predecoding der Instruktionen (Pipelining) für eine extrem hohe Ausführungsgeschwindigkeit der Befehle.
  • Schleifenbefehle beschleunigen die Ausführung von Schleifen. Diese werden hardwarekontrolliert ausgeführt. Einige DSPs verwenden Pipelines (Pipelining) und Instruction Caches, um die Ausführung von Schleifen zu beschleunigen. Man unterscheidet 2 Arten von Schleifenbefehlen:
    • Single Instruction Hardware Loop versteht man die Wiederholung einer Operation
    • Multi Instruction Loop versteht man die Wiederholung des ganzen Anweisungsblockes

Kommunikation

Geschichte

Der SHARC ADSP-21065L von Analog Devices erlaubt etwa folgenden einzyklischen Assemblersprachen-Befehl:

F0=F3*F7, F1=F11+F15, F2=F11–F15, DM(I0,M1)=F2, F3=PM(I8,M9);

in dem quasi-gleichzeitig eine Gleitpunktmultiplikation, eine Gleitpunktaddition, eine Gleitpunktsubtraktion, ein Schreibzugriff auf den Speicher mit modulo-zyklischem Postincrement/-decrement sowie ein Lesezugriff auf den Speicher mit modulo-zyklischem Postincrement/-decrement stattfindet.

Jedoch finden sich auch zunehmend in Desktop-CPUs Elemente von DSPs wieder, wie zum Beispiel in den AltiVec-Erweiterungen des PowerPC oder (abgeschwächt) in den SIMD-Erweiterungen von Intel und AMD. Dies liegt an der zunehmenden Verbreitung von Datenformaten wie dem JPEG-Format, MP3 oder MPEG2, deren DCT-Kodierung beziehungsweise -Dekodierung eigentlich eine klassische DSP-Aufgabe ist.

Anwendungsgebiete

Digitale Signalprozessoren finden heute unter anderem in den folgenden Bereichen bzw. Geräten Anwendung:

Literatur

  • [1] – Texas Instruments, TMS320F243, TMS320F241 DSP Controllers (Rev. D)

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужен реферат?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Digitaler Signalprozessor — Der Motorola XSP56001 ist ein DSP aus der 56K Familie. Ein Digitaler Signalprozessor (engl. digital signal processor, DSP) dient der kontinuierlichen Bearbeitung von digitalen Signalen (z. B. Audio oder Videosignale) durch die Digitale… …   Deutsch Wikipedia

  • Prozessor (Hardware) — Ein Prozessor ist eine Maschine oder eine elektronische Schaltung (i.A. ein IC), welche gemäß übergebener Befehle andere Maschinen oder elektrische Schaltungen steuert und dabei einen Prozess oder Algorithmus vorantreibt, was meist… …   Deutsch Wikipedia

  • Analoge Klangerzeugung — Synthesizer Ein Micromoog Klassifikation Elektrophon Tonumfang gesamter Hörbereich verwandte Instrumente Software Synthesizer …   Deutsch Wikipedia

  • Analogsynthesizer — Synthesizer Ein Micromoog Klassifikation Elektrophon Tonumfang gesamter Hörbereich verwandte Instrumente Software Synthesizer …   Deutsch Wikipedia

  • Synthie — Synthesizer Ein Micromoog Klassifikation Elektrophon Tonumfang gesamter Hörbereich verwandte Instrumente Software Synthesizer …   Deutsch Wikipedia

  • Digitalfilter — Ein digitales Filter ist ein elektronisches Filter welches ähnliche Aufgaben wie ein analoges Filter zu erfüllen hat: Es dient der Manipulation eines Signals wie beispielsweise das Sperren oder Durchlassen eines bestimmten Frequenzbereiches. Der… …   Deutsch Wikipedia

  • Ein-Chip-System — Ein Beagleboard als Beispiel eines Einchipsystems. Unter „System on a Chip (SoC)“ oder Ein Chip System (bzw. Einchipsystem) versteht man die Integration aller oder eines großen Teils der Systemfunktionen auf einem Stück Silizium, auch… …   Deutsch Wikipedia

  • Einchipsystem — Ein Beagleboard als Beispiel eines Einchipsystems. Unter „System on a Chip (SoC)“ oder Ein Chip System (bzw. Einchipsystem) versteht man die Integration aller oder eines großen Teils der Systemfunktionen auf einem Stück Silizium, auch… …   Deutsch Wikipedia

  • System on Chip — Ein Beagleboard als Beispiel eines Einchipsystems. Unter „System on a Chip (SoC)“ oder Ein Chip System (bzw. Einchipsystem) versteht man die Integration aller oder eines großen Teils der Systemfunktionen auf einem Stück Silizium, auch… …   Deutsch Wikipedia

  • System on a Chip — Ein Beagleboard als Beispiel eines Einchipsystems. Unter „System on a Chip (SoC)“ oder Ein Chip System (bzw. Einchipsystem) versteht man die Integration aller oder eines großen Teils der Systemfunktionen auf einem Stück Silizium, auch… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”