168
3 Hardware eingebetteter Systeme
• Addition von Indexregister I0 bzw. I4 und Modify-Register M1 bzw. M5 bei
Berücksichtigung der Längenregister L0 und L4,
• Testen auf das Schleifenende.
Für bestimmte Berechnungen kann diese (begrenzte) Form der Parallelität in vergleichsweise niedrigen Taktfrequenzen resultieren. Prozessoren, die nicht für DSP
optimiert sind, würden vielleicht mehrere Befehle pro Iteration benötigen und damit
ggf. eine höhere Taktfrequenz erfordern.
∇
Zusätzlich zur Realisierung von Filtern mit Hilfe eines einzigen Befehls im Schleifenkörper bieten DSP-Prozessoren noch weitere Merkmale, die spezifisch für den
DSP-Anwendungsbereich sind:
• Sättigungsarithmetik: Sättigungsarithmetik verändert die Behandlung von Überund Unterläufen. Die Standard-Binärarithmetik verwendet ein sogenanntes wraparound bei Über- oder Unterläufen. Dabei werden die einzelnen Bits innerhalb der
darstellbaren Stellen des Ergebnisses so berechnet, als gäbe es keinen Über- bzw.
Unterlauf. Auftretende Überträge werden einfach ignoriert. Abbildung 3.1 zeigt
ein Beispiel, bei dem zwei vorzeichenlose Vier-Bit-Zahlen addiert werden. Dabei
wird ein Übertrag erzeugt, der nicht in einem der Standardregister zurückgegeben
werden kann. Das Ergebnisregister enthält bei Verwendung von wrap-around ein
Muster, das nur aus Nullen besteht. Kein Ergebnis könnte weiter vom erwarteten
Ergebnis entfernt sein als dieses.
Tabelle 3.1 Vergleich von Wraparound und Sättigungsarithmetik für
vorzeichenlose Zahlen
0 1 1 1
+
1 0 0 1
Standard wrap-around Arithmetik 1 0 0 0 0
Sättigungsarithmetik
1 1 1 1
Bei der Sättigungsarithmetik wird ein Ergebnis erzeugt, das so nahe wie möglich
am wahren Ergebnis liegt. Die Sättigungsarithmetik gibt den größten möglichen
Wert zurück, wenn ein Überlauf stattgefunden hat, und den kleinsten möglichen
Wert im Falle eines Unterlaufs. Dieser Ansatz ist insbesondere für Video- und Audioanwendungen sinnvoll. Der Benutzer wird im obigen Beispiel wohl kaum den
Unterschied zwischen dem wahren Ergebniswert und dem größten darstellbaren
Wert erkennen können. Es wäre auch sinnlos, bei einem Überlauf eine Ausnahme zu signalisieren, da es schwierig wäre, eine solche Ausnahme in Echtzeit zu
behandeln. Man muss allerdings wissen, ob vorzeichenlose oder vorzeichenbehaftete Zahlen verwendet werden, um den richtigen Ergebniswert zu bestimmen.
• Festkommaarithmetik: Gleitkommarechnungen besitzen Eigenheiten (siehe
[186]), die teilweise nicht erwünscht sind. Außerdem erhöht Gleitkommahardware die Kosten und die Leistungsaufnahme von Prozessoren. Geschätzte 80%
der DSP-Prozessoren haben daher keine Gleitkommahardware [1]. Zusätzlich
zur Ganzzahlverarbeitung bieten viele solcher Prozessoren aber die Verarbeitung von Festkommazahlen an. Festkommadatentypen können mit Hilfe eines
3 Hardware eingebetteter Systeme
• Addition von Indexregister I0 bzw. I4 und Modify-Register M1 bzw. M5 bei
Berücksichtigung der Längenregister L0 und L4,
• Testen auf das Schleifenende.
Für bestimmte Berechnungen kann diese (begrenzte) Form der Parallelität in vergleichsweise niedrigen Taktfrequenzen resultieren. Prozessoren, die nicht für DSP
optimiert sind, würden vielleicht mehrere Befehle pro Iteration benötigen und damit
ggf. eine höhere Taktfrequenz erfordern.
∇
Zusätzlich zur Realisierung von Filtern mit Hilfe eines einzigen Befehls im Schleifenkörper bieten DSP-Prozessoren noch weitere Merkmale, die spezifisch für den
DSP-Anwendungsbereich sind:
• Sättigungsarithmetik: Sättigungsarithmetik verändert die Behandlung von Überund Unterläufen. Die Standard-Binärarithmetik verwendet ein sogenanntes wraparound bei Über- oder Unterläufen. Dabei werden die einzelnen Bits innerhalb der
darstellbaren Stellen des Ergebnisses so berechnet, als gäbe es keinen Über- bzw.
Unterlauf. Auftretende Überträge werden einfach ignoriert. Abbildung 3.1 zeigt
ein Beispiel, bei dem zwei vorzeichenlose Vier-Bit-Zahlen addiert werden. Dabei
wird ein Übertrag erzeugt, der nicht in einem der Standardregister zurückgegeben
werden kann. Das Ergebnisregister enthält bei Verwendung von wrap-around ein
Muster, das nur aus Nullen besteht. Kein Ergebnis könnte weiter vom erwarteten
Ergebnis entfernt sein als dieses.
Tabelle 3.1 Vergleich von Wraparound und Sättigungsarithmetik für
vorzeichenlose Zahlen
0 1 1 1
+
1 0 0 1
Standard wrap-around Arithmetik 1 0 0 0 0
Sättigungsarithmetik
1 1 1 1
Bei der Sättigungsarithmetik wird ein Ergebnis erzeugt, das so nahe wie möglich
am wahren Ergebnis liegt. Die Sättigungsarithmetik gibt den größten möglichen
Wert zurück, wenn ein Überlauf stattgefunden hat, und den kleinsten möglichen
Wert im Falle eines Unterlaufs. Dieser Ansatz ist insbesondere für Video- und Audioanwendungen sinnvoll. Der Benutzer wird im obigen Beispiel wohl kaum den
Unterschied zwischen dem wahren Ergebniswert und dem größten darstellbaren
Wert erkennen können. Es wäre auch sinnlos, bei einem Überlauf eine Ausnahme zu signalisieren, da es schwierig wäre, eine solche Ausnahme in Echtzeit zu
behandeln. Man muss allerdings wissen, ob vorzeichenlose oder vorzeichenbehaftete Zahlen verwendet werden, um den richtigen Ergebniswert zu bestimmen.
• Festkommaarithmetik: Gleitkommarechnungen besitzen Eigenheiten (siehe
[186]), die teilweise nicht erwünscht sind. Außerdem erhöht Gleitkommahardware die Kosten und die Leistungsaufnahme von Prozessoren. Geschätzte 80%
der DSP-Prozessoren haben daher keine Gleitkommahardware [1]. Zusätzlich
zur Ganzzahlverarbeitung bieten viele solcher Prozessoren aber die Verarbeitung von Festkommazahlen an. Festkommadatentypen können mit Hilfe eines
