Instruction Set Architecture (ISA)

technische universität dortmund fakultät für informatik informatik 12 Instruction Set Architecture (ISA) Peter Marwedel Informatik 12 TU Dortmund 2...
Author: Dörte Weiss
7 downloads 0 Views 512KB Size
technische universität dortmund

fakultät für informatik informatik 12

Instruction Set Architecture (ISA) Peter Marwedel Informatik 12 TU Dortmund

2012/04/04

2.2 DSP-Befehlssätze DSP = Digital Signal Processing Spezialanwendung für Rechner, in der Regel in eingebetteten Systemen (embedded systems), IT ist in eine Umgebung eingebettet z.B.:  im Telekommunikationsbereich (Mobiltelefon),  im Automobilbereich (Spurhalteassistent),  im Consumerbereich (Audio/Video-Komprimierung) Wichtige Teilaufgabe: (Digitale) Signalverarbeitung

© P. Marwedel, 2011

Dabei: Effizienz und Realzeitverhalten extrem wichtig!  Spezielle Strukturen / Befehle technische universität dortmund

fakultät für informatik

 p. marwedel, g. fink informatik 12, 2012

- 1-

Importance of Energy Efficiency

er n“ w o nt p f silico e r e o “inh iency effic

© Hugo De Man, IMEC, Philips, 2007 technische universität dortmund

fakultät für informatik

 p. marwedel, g. fink informatik 12, 2012

- 2-

DSP: Digitale Filterung Signalverarbeitungsmodell Eingangsfolge w

Filter

Ausgangsfolge x

w und x sind Signale (mathematisch: Abbildungen von der Zeit auf Signalwerte) Unter bestimmten Einschränkungen (lineares System) lässt sich das Verhalten des Filters durch die sog. Impulsantwort beschreiben, d.h. die „Antwort” auf einen Einheitsimpuls

technische universität dortmund

fakultät für informatik

 p. marwedel, g. fink informatik 12, 2012

- 3-

DSP: Digitale Filterung 2 Für lineare Systeme ist Transformation, die ein Filter realisiert, durch Faltung berechenbar (d.h. Faltung des Eingangssignals mit der Impulsantwort)

technische universität dortmund

fakultät für informatik

 p. marwedel, g. fink informatik 12, 2012

- 4-

DSP: Digitale Filterung 3 Mathematische Formulierung: Impulsantwort: Diskrete, endliche Folge (hier: kausal!) a(k), k=0…n-1 Filterung des Signals w, mit w(s)= Wert von w zur (sampling-) n 1 Zeit ts: x( s )   a (k )  w( s  k ) k 0

Ergebnis kann iterativ aus Partialsummen berechnet werden xk(s)=xk-1(s)+a(k)  w(s-k) Randbedingungen x-1(s)=0 und x(s)=xn-1(s) Akkumulation von Produkten! technische universität dortmund

fakultät für informatik

 p. marwedel, g. fink informatik 12, 2012

- 5-

Multiply-Accumulate-Befehl Effzienz bei DSP von zentraler Bedeutung!  Spezieller Befehl (Multiply Accumulate [MAC]) für genau diese Berechnungsstruktur; Vorgehen: a

w

a

w

s 0

0

+

technische universität dortmund

w

s

* acc x0(s)

a

s 0

* acc x1(s)

fakultät für informatik

*

+

acc x2(s)

 p. marwedel, g. fink informatik 12, 2012

+

- 6-

Funktionalität des Multiply-Accumulate-Befehls MAC-Befehl muss in einem Zyklus leisten: 1 Multiplikation, 1 Addition, 2 Speicherzugriffe, ...  Abbildung auf 2 Hardwarespeicher (D und P) D

P

D

P

D

P

a

w

a

w

a

w

s 0

s 0

* acc x0(s)

+

s 0

* acc x1(s)

*

+

acc x2(s)

+

Zusätzlich: Aktualisierung der Indexregister notwendig! technische universität dortmund

fakultät für informatik

 p. marwedel, g. fink informatik 12, 2012

- 7-

Etwas ausführlicher für konkreten Signalprozessor ADSP 2100

- - Schleife über - - Abtastzeitpunkte ts { MR:=0; A1:=1; A2:=s-1; MX:=w[s]; MY:=a[0]; for (k=0; k

0111 1001 (1)0000 1111 1000 0000 0111

“fast richtig“

 Geeignet für DSP/Multimedia-Anwendungen: • Durch Überläufe ausgelöste Interrupts  Zeitbedingungen verletzt? • Genaue Werte ohnehin weniger wichtig • wrap around Arithmetik liefert schlechtere Ergebnisse. technische universität dortmund

fakultät für informatik

 p. marwedel, g. fink informatik 12, 2012

- 24 -

Audio-Beispiel

technische universität dortmund

fakultät für informatik

 p. marwedel, g. fink informatik 12, 2012

MATLAB Demo

- 25 -

Sättigungsarithmetik: Bewertung Vorteil:  Plausible Ergebnisse bei Bereichsüberschreitungen Nachteile:  Aufwendiger in der Berechnung  Assoziativität etc. sind verletzt Sättigungsarithmetik und „Standardarithmetik” können auf DSPs in der Regel wahlweise benutzt werden (ex. entsprechende Befehlsvarianten) „Sättigung” im IEEE 754 FP-Standard  Bei Über-/Unterlauf entsteht +/- “unendlich” als Ergebnis  Weitere Operationen ändern diesen Wert nicht mehr!  nach Überschreitung entstehen nicht ggf. wieder augenscheinlich gültige Ergebnisse technische universität dortmund

fakultät für informatik

 p. marwedel, g. fink informatik 12, 2012

- 26 -

Festkommaarithmetik

Vorzeichen

Binärpunkt

Nach NachMultiplikationen Multiplikationenund undDivisionen Divisionensind sindSchiebeoperationen Schiebeoperationen erforderlich, erforderlich,um umwieder wiederdie dierichtige richtigeZahl Zahlan anNachkommastellen Nachkommastellen zu zuhaben haben technische universität dortmund

fakultät für informatik

 p. marwedel, g. fink informatik 12, 2012

- 27 -

Eigenschaften der Festkommaarithmetik  Automatische Skalierung vorteilhaft für Multiplikationen  Beispiel: x = 0.5  0.125 + 0.25  0.125 = 0.0625 + 0.03125 = 0.09375 Für iwl=1 und fwl=3 Dezimalstellen: weniger signifikante Stellen werden automatisch abgeschnitten: x = 0.093 Wie ein Gleitkommasystem mit Wertebereich  (-1..1), ohne gespeicherten Exponenten (Bits werden benutzt, um die Genauigkeit zu erhöhen).  Für Multimediaanwendungen angemessen, da dort die Wertebereiche bekannt sind. technische universität dortmund

fakultät für informatik

 p. marwedel, g. fink informatik 12, 2012

- 28 -

Realzeiteigenschaften

• Caches mit Ersetzungsstrategien mit problematischem Zeitverhalten • Unified caches (Konflikte zwischen Daten und Befehlen) • Fließbänder (pipelines) mit stall cycles ("bubbles") • Multi-cores mit unvorhersagbaren Kommunikationszeiten

• Sprungvorhersage, spekulative Ausführung • Interrupts, die zu jedem Zeitpunkt möglich sind • Speicherauffrischen (refresh) zu jeder Zeit • Befehle mit datenabhängigen Ausfürhungszeiten So viele dieser Eigenschaften vermeiden, wie möglich technische universität dortmund

fakultät für informatik

 p. marwedel, g. fink informatik 12, 2012

www.predator-project.eu

 Das Zeitverhalten sollte vorhersagbar sein Eigenschaft, die Probleme verursachen: • Zugriff zu gemeinsamen Ressourcen

- 29 -

DSP-Befehlssätze: Zusammenfassung  Spezielle Befehle für Anwendungs-Kernels, z.B. Multiply Accumulate (MAC), für Filterung  Heterogene Registersätze Zur Unterstützung spezieller Befehle (z.B. MAC)  Eingeschränkte Parallelität z.B. Transfer- und Adressop. parallel zu ALU-Op (siehe MAC)  Spezielle Adressierungsarten, z.B.: • Modulo-Adressierung (z.B. für Ringpuffer) • Bit-Reversal (für Fourier-Transformation)  Sättigungsarithmetik  Realzeitfähigkeit (d.h. meist kein Cache, virtueller Speicher) technische universität dortmund

fakultät für informatik

 p. marwedel, g. fink informatik 12, 2012

- 30 -

Suggest Documents