Parallelverarbeitung (DSP-Implementierung) - Parallel processing (DSP implementation)
Bei der digitalen Signalverarbeitung (DSP) ist die Parallelverarbeitung eine Technik, bei der Funktionseinheiten dupliziert werden, um verschiedene Aufgaben (Signale) gleichzeitig zu bearbeiten . Dementsprechend können wir die gleiche Verarbeitung für verschiedene Signale an den entsprechenden duplizierten Funktionseinheiten durchführen. Darüber hinaus enthält das parallele DSP-Design aufgrund der Merkmale der Parallelverarbeitung häufig mehrere Ausgänge, was zu einem höheren Durchsatz als nicht parallel führt.
Konzeptuelles Beispiel
Betrachten Sie eine Funktionseinheit ( ) und drei Aufgaben ( , , und ). Die erforderliche Zeit für die Funktionseinheit diese Aufgaben zu verarbeiten ist , und , respectively. Wenn wir diese drei Aufgaben dann nacheinander ausführen, beträgt die erforderliche Zeit, um sie zu erledigen .
Wenn wir jedoch die Funktionseinheit auf zwei weitere Kopien ( ) duplizieren , wird die Gesamtzeit auf reduziert , was kleiner ist als bei einer sequentiellen Reihenfolge.
Im Vergleich zu Pipelining
Mechanismus:
- Parallel: Doppelte Funktionseinheiten, die parallel arbeiten
- Jede Aufgabe wird vollständig von einer anderen Funktionseinheit bearbeitet.
-
Pipelining : verschiedene Funktionseinheiten arbeiten parallel
- Jede Aufgabe ist in eine Abfolge von Teilaufgaben aufgeteilt, die von spezialisierten und unterschiedlichen Funktionseinheiten bearbeitet werden.
Zielsetzung:
- Pipelining führt zu einer Reduzierung des kritischen Pfads, wodurch die Probengeschwindigkeit erhöht oder der Stromverbrauch bei gleicher Geschwindigkeit reduziert werden kann , was zu einer höheren Leistung pro Watt führt .
- Parallelverarbeitungstechniken erfordern mehrere Ausgaben, die in einer Taktperiode parallel berechnet werden . Daher wird die effektive Abtastgeschwindigkeit um den Grad der Parallelität erhöht.
Betrachten wir eine Bedingung, dass wir sowohl Parallelverarbeitungs- als auch Pipelining-Techniken anwenden können, ist es aus folgenden Gründen besser, Parallelverarbeitungstechniken zu wählen:
- Pipelining verursacht normalerweise E/A-Engpässe
- Parallelverarbeitung wird auch zur Reduzierung des Stromverbrauchs bei Verwendung langsamer Takte verwendet
- Die hybride Methode aus Pipelining und Parallelverarbeitung erhöht die Geschwindigkeit der Architektur weiter
Parallele FIR-Filter
Betrachten Sie einen 3-Tap-FIR-Filter:
was in der folgenden Abbildung dargestellt ist.
Angenommen, die Berechnungszeit für Multiplikationseinheiten beträgt T m und T a für Additionseinheiten. Der Abtastzeitraum ist gegeben durch
Durch Parallelisieren wird die resultierende Architektur wie folgt gezeigt. Die Abtastrate wird nun zu
wobei N die Anzahl der Kopien darstellt.
Bitte beachten Sie, dass in einem parallelen System während in einem Pipeline-System gehalten wird.
Parallele IIR-Filter 1. Ordnung
Betrachten Sie die Übertragungsfunktion eines IIR-Filters 1. Ordnung, formuliert als
wo | ein | ≤ 1 aus Stabilitätsgründen, und ein solcher Filter hat nur einen Pol, der sich bei z = a befindet ;
Die entsprechende rekursive Darstellung ist
Betrachten Sie das Design einer 4-parallelen Architektur ( N = 4). In einem solchen Parallelsystem bedeutet jedes Verzögerungselement eine Blockverzögerung und die Taktperiode beträgt das Vierfache der Abtastperiode.
Daher haben wir durch Iteration der Rekursion mit n = 4 k
Die entsprechende Architektur ist wie folgt dargestellt.
Das resultierende parallele Design hat die folgenden Eigenschaften.
- Der Pol des Originalfilters liegt bei z = a, während der Pol für das Parallelsystem bei z = a 4 liegt, was näher am Ursprung liegt.
- Die Polbewegung verbessert die Robustheit des Systems gegenüber Rundungsgeräuschen.
- Hardwarekomplexität dieser Architektur: N × N Multiply-Add-Operationen.
Der quadratische Anstieg der Hardwarekomplexität kann durch Ausnutzen der Gleichzeitigkeit und der inkrementellen Berechnung reduziert werden, um wiederholte Berechnungen zu vermeiden.
Parallelverarbeitung für geringen Stromverbrauch
Ein weiterer Vorteil der Parallelverarbeitungstechniken besteht darin, dass sie den Stromverbrauch eines Systems durch Reduzierung der Versorgungsspannung reduzieren können.
Betrachten Sie den folgenden Stromverbrauch in einer normalen CMOS-Schaltung.
wobei C total die Gesamtkapazität der CMOS-Schaltung darstellt.
Bei einer parallelen Version bleibt die Ladekapazität gleich, aber die Gesamtkapazität erhöht sich um das N- fache.
Um die gleiche Abtastrate beizubehalten, erhöht sich die Taktperiode der N- Parallelschaltung auf das N- fache der Ausbreitungsverzögerung der ursprünglichen Schaltung.
Dadurch verlängert sich die Ladezeit um das N- fache. Die Versorgungsspannung kann auf βV 0 reduziert werden .
Daher kann die Leistungsaufnahme des N-Parallelsystems formuliert werden als
wobei β berechnet werden kann durch
Verweise
- ^ KK Parhi, VLSI Digitale Signalverarbeitungssysteme: Design und Implementierung, John Wiley, 1999
- ^ Folien für digitale VLSI-Signalverarbeitungssysteme: Design und Implementierung John Wiley & Sons, 1999 (ISBN-Nummer: 0-471-24186-5): http://people.ece.umn.edu/~parhi/publications/books/