3.3 Verarbeitungseinheiten
165
Ähnliche Techniken existieren auch für andere Prozessoren. Der Nachteil dieses Ansatzes ist es, dass die Entwicklungswerkzeuge (Übersetzer, Assembler,
Debugger usw.) erweitert werden müssen, um einen zweiten Befehlssatz zu
unterstützen. Daher kann dieser Ansatz zu hohen Kosten für Entwicklungswerkzeuge führen.
– Man kann in Wörterbüchern (engl. dictionaries) jedes Befehlsmuster nur
ein einziges Mal speichern. Für jeden Wert des Programmzählers stellt dann
eine Index-Tabelle (engl. look-up-table) einen Zeiger auf den entsprechenden
Befehl in der Befehlstabelle, dem Wörterbuch, bereit (siehe Abb. 3.20).
μP
Befehlsadresse
Tabelle benutzter Befehle
32 Bits
Zeiger auf Befehle
wenige Einträge
<< 32 Bits
Abb. 3.20 Wörterbuch-Ansatz zur Befehlskomprimierung
Wenn nur sehr wenige unterschiedliche Befehlsmuster verwendet werden, benötigt die Befehlstabelle nur sehr wenige Einträge. Entsprechend kann die
Bitbreite der Zeiger sehr schmal ausfallen. Abwandlungen dieses Schemas
sind u.a. als Steuerspeicher mit zwei Ebenen (engl. two-level control store)
[119], Nanoprogrammierung [514] oder Procedure-Exlining [551] bekannt.
Beszedes [52] und Latendresse [325] geben einen Überblick über bekannte Komprimierungstechniken. Außerdem publizierten Bonny et al. [58] eine Technik auf
der Basis von Huffman-Kodierungen.
Laufzeiteffizienz am Beispiel Digitale Signalverarbeitung (DSP)
Um Zeitbedingungen einhalten zu können, ohne hohe Taktfrequenzen zu verwenden, können Architekturen für bestimmte Anwendungsbereiche, wie beispielsweise
die digitale Signalverarbeitung (engl. Digital Signal Processing (DSP)), angepasst
werden. Eine sehr häufige Operation der digitalen Signalverarbeitung ist das digitale
Filtern. Wir erweitern nun das Verarbeitungsfließband aus Abb. 3.8 auf Seite 149
um einen solchen Filter, wie in Abb. 3.21 gezeigt.
Die Gleichung (3.21) beschreibt einen digitalen Filter, der aus einem Eingangssignal w(t) das Ausgangssignal x(t) erzeugt. Beide Signale sind über den (normalerweise unbegrenzten) Zeitbereich {t s } der Abtastwerte definiert. Wir schreiben kurz
165
Ähnliche Techniken existieren auch für andere Prozessoren. Der Nachteil dieses Ansatzes ist es, dass die Entwicklungswerkzeuge (Übersetzer, Assembler,
Debugger usw.) erweitert werden müssen, um einen zweiten Befehlssatz zu
unterstützen. Daher kann dieser Ansatz zu hohen Kosten für Entwicklungswerkzeuge führen.
– Man kann in Wörterbüchern (engl. dictionaries) jedes Befehlsmuster nur
ein einziges Mal speichern. Für jeden Wert des Programmzählers stellt dann
eine Index-Tabelle (engl. look-up-table) einen Zeiger auf den entsprechenden
Befehl in der Befehlstabelle, dem Wörterbuch, bereit (siehe Abb. 3.20).
μP
Befehlsadresse
Tabelle benutzter Befehle
32 Bits
Zeiger auf Befehle
wenige Einträge
<< 32 Bits
Abb. 3.20 Wörterbuch-Ansatz zur Befehlskomprimierung
Wenn nur sehr wenige unterschiedliche Befehlsmuster verwendet werden, benötigt die Befehlstabelle nur sehr wenige Einträge. Entsprechend kann die
Bitbreite der Zeiger sehr schmal ausfallen. Abwandlungen dieses Schemas
sind u.a. als Steuerspeicher mit zwei Ebenen (engl. two-level control store)
[119], Nanoprogrammierung [514] oder Procedure-Exlining [551] bekannt.
Beszedes [52] und Latendresse [325] geben einen Überblick über bekannte Komprimierungstechniken. Außerdem publizierten Bonny et al. [58] eine Technik auf
der Basis von Huffman-Kodierungen.
Laufzeiteffizienz am Beispiel Digitale Signalverarbeitung (DSP)
Um Zeitbedingungen einhalten zu können, ohne hohe Taktfrequenzen zu verwenden, können Architekturen für bestimmte Anwendungsbereiche, wie beispielsweise
die digitale Signalverarbeitung (engl. Digital Signal Processing (DSP)), angepasst
werden. Eine sehr häufige Operation der digitalen Signalverarbeitung ist das digitale
Filtern. Wir erweitern nun das Verarbeitungsfließband aus Abb. 3.8 auf Seite 149
um einen solchen Filter, wie in Abb. 3.21 gezeigt.
Die Gleichung (3.21) beschreibt einen digitalen Filter, der aus einem Eingangssignal w(t) das Ausgangssignal x(t) erzeugt. Beide Signale sind über den (normalerweise unbegrenzten) Zeitbereich {t s } der Abtastwerte definiert. Wir schreiben kurz
