Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Entwicklungstrends bei Mikroprozessoren

Ähnliche Präsentationen


Präsentation zum Thema: "Entwicklungstrends bei Mikroprozessoren"—  Präsentation transkript:

1 Entwicklungstrends bei Mikroprozessoren
Großes Seminar Oliver Becker

2 Motivation Hohe Innovationsgeschwindigkeit
Leistungssteigerung von Prozessoren Parallelität Neue Architekturen

3 Inhalt Stand der Technik Trends
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

4 Stand der Technik Grundsätzlicher Aufbau von Mikroprozessoren
Steuerwerk Operationswerk Interner Speicher

5 Befehlszyklus Fetch (Befehl holen)
Decode (Befehl decodieren, Operanden holen) Execute (ausführen) Write Back (Ergebnis zurückschreiben)

6 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

7 Skalare RISC-Prozessoren
Pipelining (Fließbandverarbeitung) CLR R5 MOVE R1,R6 ADD R1,R2,R7 SUB R3,R4,R8

8 Probleme beim Pipelining
Datenabhängigkeit Lösungen Einführung von nop-Befehlen Sperren des Fließbands Register-Bypassing Sprungabhängigkeit Sprungvorhersage (Hardware) Optimierung durch Compiler (Software)

9 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

10 Superskalare RISC-Prozessoren
Zweifach-Superskalar

11 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

12 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

13 Befehlsreihenfolge(3)
Out-of-order-Issue/Out-of-order-Completion Problem: Konfliktbehaftete Befehle Lösung: Befehlspuffer (reservation stations) Datenabhängigkeiten Echte Datenabhängigkeit Gegenabhängigkeit Ausgabeabhängigkeit

14 Datenabhängigkeiten Echte Datenabhängigkeit
Ausgabeabhängigkeit (Write-after-Write) Gegenabhängigkeit (Write-after-Read)

15 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 -> r3a B2: r > r4 B3: r5a * r6a -> r3b B3: r5 * r6 -> r3 B2: r3a > r4a B4: r3 * 2 -> r7 B4: r3b * > r7a

16 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

17 Sprungvorhersage Spekulative Ausführung Statische Sprungvorhersage
Häufig durch Compiler Dynamische Sprungvorhersage Unabhängig von Compiler Vorgeschichte eines Sprungbefehls wird berücksichtigt

18 Sprungvorhersagetechniken
2-Bit-Prädiktor 4 Zustände

19 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

20 Sprungvorhersagetechniken
Hybridprädiktor Besteht aus 2-Bit-Prädiktor Korrelationsprädiktor Selektorprädiktor Selektorprädiktor wählt Prädiktor für die Sprungvorhersage aus

21 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

22 Itanium

23 Spekulative Parallelität
Datenabhängigkeits- und Wertespekulation Befehlsausführung startet mit spekulativen Operandenwerten Wertespekulation Ladeadresse Zu ladenden Wert Konstante Operanden Konstante Wertzunahme

24 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

25 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

26 Grobkörnige Parallelität
Chip-Multiprozessor (CMP) Mehrere Prozessoren auf einem Chip

27 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

28 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

29 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

30 Rekonfigurierbarer Prozessor
Beispiel: Xputer Coprozessor Berechnung großer Datenmengen Haupbestandteile: Datenspeicher Datensequenzer Rekonfigurierbare Recheneinheiten (r-ALUs)

31 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

32 Rekonfigurierbarer Prozessor

33 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

34 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

35 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

36 Asynchroner Prozessor
Es existiert kein zentraler Takt Komponenten kommunizieren über Handshake-Signale Request (Anfrage) Acknowledge (Bestätigung)

37 Asynchroner Prozessor
Logik-Block Problem: Wann ist ein Logik-Block mit seiner Berechnung fertig? Lösung: Bounded Delay Model Current Sensing Completion Detection

38 Asynchroner Prozessor
Current Sensing Completion Detection

39 Asynchroner Prozessor
Funktionsfähige asynchrone Prozessoren Amulet3 TITAC-2 Extremtest: Von –196 bis 100 C Temperatur

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

41 Fazit Superskalar-Technik wegen mangelnder Befehlsebenenparallelität weitestgehend ausgereizt


Herunterladen ppt "Entwicklungstrends bei Mikroprozessoren"

Ähnliche Präsentationen


Google-Anzeigen