170
3 Hardware eingebetteter Systeme
64 Bit
16-Bit-Wert 3 16-Bit-Wert 2 16-Bit-Wert 1
16-Bit-Wert 0
Abb. 3.24 Verwenden eines 64-Bit-Registers für gepackte Datentypen
Single Instruction, Multiple Data- (SIMD-) Befehle genannt, da ein einziger Befehl
die auszuführende Operation auf mehreren Datenelementen vorgibt [212]. Bei der
Verwendung von 8 Bit langen Datentypen in einem 64-Bit-Register sind Geschwindigkeitssteigerungen von etwa einem Faktor von acht gegenüber nicht-gepackten
Datentypen möglich. Die Daten werden meist im Speicher gepackt abgelegt. So
kann man das Entpacken und Packen vermeiden, indem man arithmetische Operationen direkt auf den gepackten Daten durchführt. Multimediabefehle können i.d.R.
Sättigungsarithmetik verwenden, um eine effiziente Überlaufbehandlung zu realisieren. Der Geschwindigkeitsvorteil kann also durchaus größer sein als der Faktor,
der sich nur aus der Anzahl gleichzeitig bearbeiteter Datenelemente in gepackten
Datentypen ergibt. Die Vorteile, auf gepackten Daten arbeiten zu können, führten
dazu, dass bei einer Reihe von Prozessoren entsprechende Befehle ergänzt wurden.
So wurden z.B. für Intels Pentium ® -kompatible Prozessoren [248] Streaming SIMD
Extensions (SSE) als Befehlssatzerweiterung eingeführt. Solche neuen Befehle werden auch short vector instructions genannt. Sie wurden von Intel ® als die sogenannten
Advanced Vector Extensions (AVX) [249] realisiert.
Very Long Instruction Word-Prozessoren
Die Anforderungen an die Rechenleistung eingebetteter Systeme steigen, insbesondere im Multimediabereich, in dem moderne Kodierungstechniken und Kryptographie eingesetzt werden, stark an. Die in üblichen Hochleistungsrechnern verwendeten leistungssteigernden Techniken sind für eingebettete Systeme ungeeignet: da
beispielsweise bei PCs die Befehlssatzkompatibilität ein wichtiger Faktor ist, verwenden die in diesen Systemen eingebauten Prozessoren viele ihrer Ressourcen und
einen großen Teil der Energie dazu, parallel ausführbare Befehle in einer Anwendung
zu finden. Trotzdem ist ihre Leistungsfähigkeit oft nicht ausreichend. In eingebetteten Systemen kann man ausnutzen, dass eine Befehlssatzkompatibilität mit PCs
nicht erforderlich ist. Daher können Befehle verwendet werden, welche die parallel
ausführbaren Operationen explizit angeben. Diese Prozessoren heißen Explicit Parallelism Instruction Set Computers (EPICs). Bei EPICs wird die Identifizierung von
parallel ausführbaren Befehle von der Hardware zum Compiler verschoben.
Man kann sowohl Silizium als auch Energie einsparen, wenn mögliche Parallelität
nicht mehr zur Laufzeit analysiert werden muss. Als Möglichkeit dazu betrachten
wir sehr lange Befehlsworte (engl. Very Long Instruction Words (VLIW)). Bei
VLIW-Prozessoren werden mehrere Operationen oder Befehle in einem sehr langen
Befehlswort (das manchmal Befehlspaket genannt wird) kodiert und dann parallel
Précédent

- 192/485

Suivant