Präsentation herunterladen
Veröffentlicht von:Niclaus Gaubatz Geändert vor über 10 Jahren
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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.