entwicklungstrends bei mikroprozessoren großes seminar oliver becker

41
Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker

Upload: niclaus-gaubatz

Post on 05-Apr-2015

106 views

Category:

Documents


1 download

TRANSCRIPT

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