Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker.

Ähnliche Präsentationen


Präsentation zum Thema: "Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker."—  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 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 MOVER1,R6 ADDR1,R2,R7 SUBR3,R4,R8

8 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)

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 -> r3B1: r1a / r2a -> r3a B2: r > r4B3: r5a * r6a -> r3b B3: r5 * r6 -> r3B2: r3a + 1 -> r4a B4: r3 * 2 -> r7B4: r3b * 2 -> 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 Großes Seminar Oliver Becker."

Ähnliche Präsentationen


Google-Anzeigen