Zum Inhalt springen

Digitaler Signalprozessor

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 11. August 2003 um 17:56 Uhr durch 62.224.167.134 (Diskussion). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Digitale Signalprozessoren (engl. digital signal processor, DSP) sind auf bestimmte Rechenoperationen geschwindigkeitsoptimierte CPUs, die von gewöhnlichen CPUs durch die folgenden Eigenschaften abweichen:

  • Der Existenz mehrerer Rechenwerke (ALUs), darunter eines Multiply-Accumulate-Rechenwerks (MAC). Dieses Rechenwerk ermöglicht die Operation A' = A + B x C in einem einzigen Prozessorzyklus und dient vornehmlich der Geschwindikeitserhöhung der für spektrale Operationen, etwa der für die Fast Fourier-Transformation oder der Faltung erforderlichen Berechnungen.
  • Implementation des Prozessors ausschließlich in Harvard-Architektur.
  • Der Existenz eines dedizierten Hardware-Stacks.
  • Vernestetes no-overhead Hardware-Looping mittels eines dedizierten Loop-Stacks.
  • Gecashtes Prefetch und Predecoding der Instruktionen (Pipelining) für eine extrem hohe Ausführungsgeschwindikeit der Befehle.

Die heutigen DSP's sind darüberhinaus massiv parallelprogrammierbar, d.h. in einem einzigen Prozessorzyklus können mehrere Rechen- und/oder Speichertransferoperationen gleichzeitig durchgeführt werden.

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

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

in welchem eine Fließpunktmultiplikation, eine Fließpunktaddition, eine Fließpunktsubtraktion, ein Schreibzugriff auf den Speicher mit modulo-zyklischem Postincrement/-decrement sowie ein Lesezugriff auf den Speicher mit modulo-zyklischem Postincrement/-decrement stattfindet.