Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

41
Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker

Transcript of Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Page 1: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Entwicklungstrends bei Mikroprozessoren

Großes SeminarOliver Becker

Page 2: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Motivation Hohe Innovationsgeschwindigkeit Leistungssteigerung von

Prozessoren Parallelität Neue Architekturen

Page 3: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Inhalt Stand der Technik

Grundsäztlicher Aufbau von Mikroprozessoren Skalare RISC-Mikroprozessoren Superskalare RISC-Mikroprozessoren VLIW-/EPIC-Technik

Trends Spekulative Parallelität Grobkörnige Parallelität Kontrollfadenspekulation Rekonfigurierbarer Prozessor Asynchroner Prozessor

Page 4: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Stand der Technik Grundsätzlicher Aufbau von

Mikroprozessoren Steuerwerk Operationswerk Interner Speicher

Page 5: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Befehlszyklus Fetch (Befehl holen) Decode (Befehl decodieren, Operanden

holen) Execute (ausführen) Write Back (Ergebnis zurückschreiben)

Page 6: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

RISC-Philosophie RISC (Reduced Instruction Set Computer)

Ein-Zyklus-Befehle Pro Takt einen Maschinenbefehl ausführen

Verzicht auf Mikroprogrammierung Decodier- und Steueraufwand und somit Chipfläche

einsparen Einheitliches Befehlsformat

Weniger Fallunterscheidungen Load/Store-Architektur

Neben Laden und Speichern sollen keine weiteren Befehle mit Speicherzugriff existieren

Page 7: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Skalare RISC-Prozessoren Pipelining (Fließbandverarbeitung)

• CLR R5• MOVER1,R6

• ADD R1,R2,R7

• SUB R3,R4,R8

Page 8: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Probleme beim Pipelining Datenabhängigkeit

Lösungen Einführung von nop-Befehlen Sperren des Fließbands Register-Bypassing

Sprungabhängigkeit Lösungen

Sprungvorhersage (Hardware) Optimierung durch Compiler (Software)

Page 9: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Superskalare RISC-Prozessoren Mehrere Verarbeitungseinheiten Es werden mehrere Befehle pro

Takt beendet Befehlsreihenfolge änderbar

Beim zuordnen der Befehle an die Funktionseinheit

Beim beenden der Befehlsausführung

Page 10: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Superskalare RISC-ProzessorenZweifach-Superskalar

Page 11: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Befehlsreihenfolge(1) In-order-Issue/In-order-Completion

Probleme: Datenabhängigkeit

Lösung: Scoreboarding Sprungabhängigkeit

Lösung: Sprungvorhersage Betriebsmittel-Abhängigkeit

Lösung: Vervielfachung der Betriebsmittel

Page 12: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Befehlsreihenfolge(2) In-order-Issue/Out-of-order-

Completion Probleme:

Wie bei In-order-Issue/In-order-Completion

Zusätzlich: Unterbrechnung durch Traps oder Interrupts

Page 13: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Befehlsreihenfolge(3) Out-of-order-Issue/Out-of-order-

Completion Problem:

Konfliktbehaftete BefehleLösung: Befehlspuffer (reservation stations)

Datenabhängigkeiten Echte Datenabhängigkeit Gegenabhängigkeit Ausgabeabhängigkeit

Page 14: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Datenabhängigkeiten

Echte Datenabhängigkeit

Ausgabeabhängigkeit (Write-after-Write)

Gegenabhängigkeit (Write-after-Read)

Page 15: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Registerumbenennung Betriebsmittelvervielfachung

Zusätzliche Register, vom Übersetzer nicht sichtbar (register renaming)

Verwaltung durch Prozessor Pseudoabhängigkeiten werden aufgelöst Beispiel:

B1: r1 / r2 -> r3 B1: r1a / r2a -> r3aB2: r3 + 1 -> r4 B3: r5a * r6a -> r3bB3: r5 * r6 -> r3 B2: r3a + 1 -> r4aB4: r3 * 2 -> r7 B4: r3b * 2 -> r7a

Page 16: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Befehlsreihenfolge(4) Out-of-order-Issue/In-order-

Completion Rückordnungspuffer (recorder buffer)

FIFO-Speicher Wird mit Befehlen in Programmreihenfolge

geladen Immer nur Letzter Befehl in FIFO kann

beendet werden Befehl wird anschließend aus FIFO entfernt

Page 17: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Sprungvorhersage Spekulative Ausführung

Statische Sprungvorhersage Häufig durch Compiler

Dynamische Sprungvorhersage Unabhängig von Compiler Vorgeschichte eines Sprungbefehls wird

berücksichtigt

Page 18: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Sprungvorhersagetechniken 2-Bit-Prädiktor

4 Zustände

Page 19: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Sprungvorhersagetechniken Korrelationsprädiktor

Berücksichtigt eigene Vergangenheit des Sprungbefehls Vergangenheit benachbarter

Sprungbefehle (m,n)-Prädiktor

die letzten m-Sprünge Auswahl aus Prädiktoren Jeder Prädiktor ist ein n-Bit-Prädiktor

m2

Page 20: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Sprungvorhersagetechniken Hybridprädiktor

Besteht aus 2-Bit-Prädiktor Korrelationsprädiktor Selektorprädiktor

Selektorprädiktor wählt Prädiktor für die Sprungvorhersage aus

Page 21: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

VLIW-/EPIC-Technik Very Long Instruction Word Parallelisierung übernimmt der Compiler

(statische Befehlszuordnung) Hardware-Komplexität geringer als bei

Superskalar-Technik Befehlsformat EPIC (Explicit Parallel

Instruction Computing) Dreibefehlsformat

Template Bits Variable Breite

Page 22: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Itanium

Page 23: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Spekulative Parallelität Datenabhängigkeits- und

Wertespekulation Befehlsausführung startet mit

spekulativen Operandenwerten Wertespekulation

Ladeadresse Zu ladenden Wert Konstante Operanden Konstante Wertzunahme

Page 24: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Spekulative Parallelität Trace Cache

Leistungsfähige Befehlsbereitstellung Befehlsfolgen werden mit fester

Länge in Trace Cache gespeichert Bei erneuter Ausführung einer

Befehlsfolge werden Befehle aus dem Trace Cache geholt

Page 25: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Spekulative Parallelität Vielfach superskalare Prozessoren 8-, 16- oder 32 fache superskalare

Zuordnungsbandbreite Probleme

Komplexe Hardware Durch Erhöhung der Zuordnungsbandbreite

steigen auch die Fehlspekulationen Ansatz

Superskalartechnik kombiniert mit VLIW-/EPIC-Technik

Page 26: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Grobkörnige Parallelität Chip-Multiprozessor (CMP)

Mehrere Prozessoren auf einem Chip

Page 27: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Grobkörnige Parallelität Prozessor-Speicher-Integration

Ein oder mehrere Prozessoren mit einem DRAM-Speicher auf einem Chip

Speicher steht bei Entwicklung im Vordergrund

Evtl. Ohne Cache-Speicher

Page 28: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Grobkörnige Parallelität Mehrfädige Prozessoren

Gleichzeitiges ausführen mehrerer Kontrollfäden

Kontexte der Fäden in seperaten Registersätzen

Latenzzeiten werden überbrückt Techniken:

Cycle-by-Cycle-Interleaving Block Interleaving Mehrfädigkeit mit Superskalartechnik

Page 29: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Kontrollfadenspekulation Erzeugung von Threads aus einem

sequentiellen Befehlsstrom (Compiler oder zur Laufzeit)

Multiskalare Prozessoren Prozessoren sind über einen unidirektionalen

Ring verbunden Sequenzer verteilt die Befehlsfolgen Ein Prozessorelement führt den nicht

spekulativen Teil aus Nachfolgende Prozessorelemente führen

spekulativen Teil aus

Page 30: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Rekonfigurierbarer Prozessor Beispiel: Xputer

Coprozessor Berechnung großer Datenmengen Haupbestandteile:

Datenspeicher Datensequenzer Rekonfigurierbare Recheneinheiten (r-

ALUs)

Page 31: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Rekonfigurierbarer Prozessor Beruht auf Konzept der Field

Programmable Gate Arrays (FPGAs) Bausteine sind zur Laufzeit veränderbar

(Multiplizierer, Addierer, Schieberegister) Programm besteht aus

Konfiguration der rekonfigurierbaren ALUs Einer Folge von Datenzugriffen

Datenzugriff und Berechnung werden getrennt

Nachteil: Funktion einer Recheneinheit umschaltbar, aber nur

beim Wechsel des kompletten Algorithmus

Page 32: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Rekonfigurierbarer Prozessor

Page 33: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

eXtreme Processing Platform XPU128-ES

128 Recheneinheiten Konfiguration der Recheneinheiten

jederzeit änderbar Eigener C-Compiler

Verteilt die Arbeit auf möglichst viele Einheiten

50 Milliarden Operationen pro Sekunde 100MHz Unter 20 Watt

Page 34: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

eXtreme Processing Platform Aufbau

2 Rechen-Cluster, bestehend aus 64 Recheneinheiten

Jeder Cluster besitzt Speicher I/O-Anschlüsse Configuration Manager

Supervising Configuration Manager Koordiniert die einzelnen Cluster

Page 35: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Asynchroner Prozessor Synchrone Prozessoren

Alle Komponenten schalten im Rhythmus des Taktes

Komponenten die nichts zu tun haben, erzeugen Verlustleistung (Wärme)

Schwächstes Glied in der Kette gibt die Geschwindigkeit vor

Prozessoren mit hohen Taktfrequenzen erzeugen hohe elektromagnetische Abstrahlung

Page 36: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Asynchroner Prozessor Asynchroner Prozessor

Es existiert kein zentraler Takt Komponenten kommunizieren über

Handshake-Signale Request (Anfrage) Acknowledge (Bestätigung)

Page 37: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Asynchroner Prozessor Logik-Block

Problem: Wann ist ein Logik-Block mit seiner Berechnung fertig?

Lösung: Bounded Delay Model Current Sensing Completion Detection

Page 38: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Asynchroner Prozessor Current Sensing Completion Detection

Page 39: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Asynchroner Prozessor Funktionsfähige asynchrone

Prozessoren Amulet3 TITAC-2

Extremtest: Von –196 bis 100 C Temperatur

Page 40: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Asynchrone Prozessoren Anwendungsgebiete

UMTS Voiceprocessing Audio- und Bildverarbeitung Netzwerk-Prozessoren Simulationen Anwendungen in der Genforschung

Page 41: Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Fazit Superskalar-Technik wegen

mangelnder Befehlsebenenparallelität weitestgehend ausgereizt