Entwicklungstrends bei Mikroprozessoren

Slides:



Advertisements
Ähnliche Präsentationen
Vom HW-Automaten zum Prozessor
Advertisements

Programmierung: Einführung
Die CPU Name Vornahme.
4.5 Virtueller Speicher Problemsituation: Programme und Daten sind zu groß für den verfügbaren Arbeitsspeicher Frühere Lösung Aufspaltung der Programme.
CPI Der einzelne Befehl braucht immer noch 5 Zyklen (stimmt nicht ganz, einige brauchen weniger!) Was verbessert wird, ist der Durchsatz = #Befehle /
Leistung.
Dynamisches Scheduling
Informatik 12 | DAES Compilerbau Wintersemester 2010 / 2011 Dr. Heiko Falk Technische Universität Dortmund Lehrstuhl Informatik 12 Entwurfsautomatisierung.
Technische Universität Dortmund
2.3 Register-Transfer-Strukturen
PC-Cluster.
2.5 Vektorrechner & Multimedia-Erweiterungen
Peter Marwedel Informatik 12
Stephan Hermanns Architekturkonzepte für semi-synchrone Controller auf der Basis der Asynchronen Wave Pipeline Schaltungstechnik Sorin Alexander Huss.
Bericht über Arbeiten zu Asynchronen Wave Pipelines Stephan Hermanns Sorin Alexander Huss.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
WS 2009/10 1 Systeme 1 Kapitel 1 Aufbau von Rechnern.
Parser für CH3-Sprachen
Kapitel 3 5 Rechnerorganisation
Technische Informatik I (SS 2006) Teil 1: Logik 1b: Schaltnetze.
W. Oberschelp G. Vossen Kapitel 7.
Seminar parallele Programmierung SS 2003
Rechneraufbau & Rechnerstrukturen, Folie 10.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 10.
Aufbau und Funktionsweise von Prozessoren
2.5. Mikrocontroller-Komponenten
Rechnerarchitektur Vorlesung 2 Peter B. Ladkin
Vorlesung, Wintersemester 2009/10M. Schölzel 1 Optimierungstechniken in modernen Compilern Einführung.
Hochperformante Mikroprozessoren - 6
4. Mikrocontroller-Komponenten
Die Superskalartechnik 7.1 Befehlsbereitstellung
Beispiele für Mikroprozessoren 9
Von-Neumann-Prinzip Der Rechner ist zentral gesteuert und aus Funktionseinheiten aufgebaut. (Zentraleinheit, Speicher, Ein-/Ausgabeeinheit, Verbindungseinrichtung)
10 Zukunftstechniken für Mikroprozessoren 10.1 Technologieprognosen
2 Grundlegende Prozessortechniken
Von: Antoni Gazali Clarkson Laryea
AMDs Next Generation Die Hammer Familie Eine Kurzpräsentation von Frank Grümmert bei Herrn Prof. Dr.-Ing. Risse für das RST-Labor.
EPIC, IA-64 und Itanium Eine Kurzpräsentation von Jan Hübbers bei Prof. Dr.-Ing. Risse im Fach Labor Rechnerstrukturen an der Hochschule Bremen
Inhalt Der Cell Prozessor Aufbau des Cells Platine Block Diagramm
Bericht über Arbeiten zu Asynchronen Wave Pipelines Stephan Hermanns Sorin Alexander Huss.
Duo- und Quad Prozessor-Architektur
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Aufbau und Funktionsweise
Aufbau eines von-Neumann- Rechners Marcel Waldvogel.
INTEL Pentium 4 Prozessor
Aufbau und Funktionsweise einer CPU
Das Betriebssystem.
3.4 CPU-Chips und Busse CPU-Chips
Signal-Prozessoren DSV1, 2009, Hhrt, 1 Mikro-Prozessor Von Neumann-Architektur Daten und Programmcode im gleichen Speicher => Sequenzieller Zugriff auf.
Gliederung 1) Begriffserklärung zur CPU 2) Geschichte der CPU
Anwendung von Microcontollern
Advanced Digital Design Übung 3. Aufgabe 2 + R1R2R3 +
Advanced Digital Design Übung 3. Aufgabe 1: Algorithmus für Phasen Inverter Plazierung Systematic approach: 1. Identify combinational logic and registers/memories.
Programmieren in Assembler
Systemsoftware und Betriebssysteme
Eine Übersicht von Margarete Streitwieser
Rechnerarchitekturen
Parallelisierung für Multiprozessor-Maschinen
Moderne Rechner-Architekturen
Johann Baron von Neumann
6. Übung Informatik 1 Inhalte: Der DLX-Prozessor
Central Processing Unit (Zentraleinheit)
Aufbau, Funktion und Grundzusammenhänge
Der Prozessor Von Stephan Blum.
Lernfeld 4: Informationstechnische Systeme Bereitstellen
Aktueller Stand der Technik. Auf dem Markt sind heute bereits 64-Bit Mikrocontroller. Die meiste Verwendung finden allerdings noch immer die 8-Bit Modelle.
Prozessoren Ein Referat von Maximilian Reisner. Inhalt  Erklärung  Grundbestandteile  Prinzipielle Arbeitsweise eines Prozessors  Werkstoffe  Umweltfreundliche.
Vom HW-Automaten zum Prozessor
Shared Memory Programmierung: Grundlagen
 Präsentation transkript:

Entwicklungstrends bei Mikroprozessoren Großes Seminar Oliver Becker

Motivation Hohe Innovationsgeschwindigkeit Leistungssteigerung von Prozessoren Parallelität Neue Architekturen

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

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

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

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

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

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)

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

Superskalare RISC-Prozessoren Zweifach-Superskalar

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

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

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

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

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

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

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

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

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

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

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

Itanium

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

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

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

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

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

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

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

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

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

Rekonfigurierbarer Prozessor

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

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

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

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

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

Asynchroner Prozessor Current Sensing Completion Detection

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

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

Fazit Superskalar-Technik wegen mangelnder Befehlsebenenparallelität weitestgehend ausgereizt