10 Zukunftstechniken für Mikroprozessoren 10.1 Technologieprognosen

Slides:



Advertisements
Ähnliche Präsentationen
Intel ITX Board mit Atom CPU
Advertisements

Kap. 7 Sortierverfahren Kap. 7.0 Darstellung, Vorüberlegungen
CPI Der einzelne Befehl braucht immer noch 5 Zyklen (stimmt nicht ganz, einige brauchen weniger!) Was verbessert wird, ist der Durchsatz = #Befehle /
Leistung.
KA – Rechnerarchitektur I ____________________________________________________________________________________________ ____________________________________________________________________________________________.
Informatik 12 | DAES Compilerbau Wintersemester 2010 / 2011 Dr. Heiko Falk Technische Universität Dortmund Lehrstuhl Informatik 12 Entwurfsautomatisierung.
Der Crusoe-Prozessor von Transmeta
Kapitel 7 Vektorrechner und Höchstleistungsrechner
Claas J. Cornelius - Ogg-on-a-chip - MDCT MDCT Funktionsweise und Limitierende Faktoren.
Entwicklungstrends bei Mikroprozessoren
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.
Zentraleinheit CPU, Motherbord, RAM
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Agenda Die Hardwearkomponenten und ihre Funktionen - Mikroprozessor
Zentraleinheit CPU, Motherbord, RAM
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Funktionsmerkmale und Vorteile Die Intel Core i7 Prozessoren der zweiten Generation verfügen über folgende Funktionsmerkmale: Die Intel® Turbo-Boost-Technik.
Neumannrechner.
Betriebssysteme für mobile Endgeräte
OpenMP Präsentation im Rahmen des Seminars
Aufbau und Funktionsweise von Prozessoren
2.5. Mikrocontroller-Komponenten
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
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
Beispiele für Mikroprozessoren 9
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
Matrix Multiplication on CUDA
Bericht über Arbeiten zu Asynchronen Wave Pipelines Stephan Hermanns Sorin Alexander Huss.
EDO-RAM,SDRAM,RDRAM,DDR2-SDRAM.
Entwicklung verteilter eingebetteter Systeme - Einführung
Duo- und Quad Prozessor-Architektur
BAS-Signale mit dem Attiny
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Systeme 1 Kapitel 4 Prozesse WS 2009/10.
Aufbau eines von-Neumann- Rechners Marcel Waldvogel.
INTEL Pentium 4 Prozessor
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.
Embedded Systems Prof. Dr. H. Kristl
Computerarchitektur AMD Athlon und Multikernprozessoren
Ein Vortrag von Simon Bayer
Interne Speicher © Christian Barby FIN
Multiprozessoren: Herausforderung für die Software
DDR vs. RDRAM Ein Vergleich von Speichertechnologien Bernhard Fiser Stefan Schönauer.
Betriebssysteme Übung Tutorium „TLB & Virtual Memory“
Verarbeitung und Computerinneres
Central Processing Unit von David Kleuker und Thomas Auner
Arbeitsspeicher Eine Präsentation von - Namen wurden entfernt -
Wie Funktioniert es eigentlich?
Vs Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.
Gaming-Computer-Aufbau
Central Processing Unit (Zentraleinheit)
Aufbau, Funktion und Grundzusammenhänge
Funktionsweise und Aufbau einer CPU & der zeitliche Ablauf des x86
2.3 Implementierung von Prozessen
Referat von Marcel Poppen & Oliver Lennartz
Aktueller Stand der Technik. Auf dem Markt sind heute bereits 64-Bit Mikrocontroller. Die meiste Verwendung finden allerdings noch immer die 8-Bit Modelle.
RAM (Random Access Memory)
Dr. Klaus Ruhlig Technology & Product Consulting Sun Microsystems, München Skalierbare Rechnerarchitekturen für ein DWH: Eine vergleichende Analyse.
RAM (Random Access Memory)
Vorgestern, gestern und heute
CPU Furkan Dogan.
Shared Memory Programmierung: Grundlagen
 Präsentation transkript:

10 Zukunftstechniken für Mikroprozessoren 10.1 Technologieprognosen Technologische Entwicklung wird durch immer höher integrierter Speicherbausteine mit immer größerer Speicherkapazität vorangetrieben. Etwa alle drei Jahre wird die Kanallänge der Feldeffekttransistoren (CMOS-Technologie) halbiert, wodurch sich bei gleicher Chip-Fläche die Vervierfachung der Anzahl der Transistoren ergibt. Die Speicherkapazität kann jedoch immer nur in Zweierpotenzen erhöht werden. Mooresches Gesetz: die Anzahl der Transistoren pro Prozessor-Chip kann etwa alle 18 Monate verdoppelt werden. Im gleichen Zeitraum wird auch die Verarbeitungsleistung der Mikroprozessoren verdoppelt. Technologischen Prognosen für die Zukunft werden durch die amerikanische SIA (Semiconductor Industry Association) in ihrer International Technology Roadmap for Semiconductors gegeben.

Entwicklung der Technologie dynamischer Speicherbausteine 1983 – 2000 Jahr Dimension Speicherkapazität Zahl der Transistoren 1983 2,5 – 2,0 m 0,25 MBit 0,5 Millionen 1986 1,25 – 1,0 m 1 MBit 2 Millionen 1989 0,8 – 0,7 m 4 MBit 8 Millionen 1992 0,5 – 0,3 m 16 MBit 32 Millionen 1995 < 0,3 m 64 MBit 128 Millionen 2000 0,18 m 512 MBit 1 Milliarde 2002 0,13–0,115

Technologieprognose für dynamische Speicherbausteine Jahr Dimension Speicherkapazität 2003 0,1 m 1 GBit 2004 0,09 m 2005 0,08 m 2 GBit 2006 0,07 m 2007 0,065 m 4 GBit 2010 0,045 m 8 GBit 2013 0,032 m 32 GBit 2016 0,022 m 64 GBit

SIA-Roadmap für Mikroprozessoren gemäß der Prognose von 1998 Einführungsjahr 1997 1999 2002 2005 2008 2011 2014 Lokaler Takt (GHz) 0,75 1,25 2,1 3,5 6 10 16,9 Globaler Takt (GHz) 1,2 1,6 2 2,5 3 3,674 Chip-Größe (mm²) 300 340 430 520 620 750 901 Dimension (nm) 250 180 130 100 70 50 35 Anzahl Pins 1515 1867 2553 3492 4776 6532 8935 Transistoren pro Chip 11M 21M 76M 200M 520M 1,4G 3,62G

10.2 Stand der Technik und Grenzen heutiger Prozessortechniken Stand der Technik heutiger Mikroprozessoren: entkoppelte, vielstufige Befehls-Pipeline, eine superskalare Befehlszuordnung auch außerhalb der Programmordnung oder VLIW-/EPIC-Technik Jedoch, Befehlsebenen-Parallelität in einem sequenziellen Befehlsstrom ist beschränkt. Verluste durch nicht ausgefüllte Befehlsfächer:

Prozessortechniken für zukünftige Mikroprozessoren Durchsatzerhöhung eines Kontrollfadens durch mehr spekulative Parallelität auf Befehlsebene bessere Sprungvorhersage, Datenabhängigkeits- und Wertespekulation Durchsatzerhöhung mehrerer Kontrollfäden durch Nutzung von grobkörniger Parallelität und Befehlsebenen-Parallelität Chip-Multiprozessoren, Prozessor(en)-SpeicherIntegration und „explizit“ mehrfädige Prozessoren Techniken der Kontrollfadenspekulation vereinen beide Ansätze mit dem Ziel, wiederum den Durchsatz eines Kontrollfadens zu erhöhen. ein Programm wird dynamisch in Befehlsfolgen zerlegt und diese werden spekulativ parallel zueinander ausgeführt  „implizit“ mehrfädige Prozessoren.

10.3 Prozessortechniken zur Erhöhung des Durchsatzes eines Kontrollfadens Datenabhängigkeits-, Adress- und Wertespekulationen Idee: ein erheblicher Teil der Befehlsausführungen erzeugt vorhersagbare Werte Gründe für die Vorhersagbarkeit von Werten: Register spill/refill Code Eingabedatensätze enthalten oft wenige Variationen in ihren Werten Laufzeitkonstanten für die Fehlersuche oder für virtuelle Funktionsaufrufe in objektorientierten Sprachen Konstanten werden aus dem Speicher geladen Register-Datenflussspekulationen spekulieren auf Operandenwerte, häufig durch Annahme konstanter Wertezunahmen (im Sinne von Strides). Speicher-Datenflussspekulationen spekulieren auf Adressen, Adressunabhängigkeiten und zu ladende Datenwerte. Datenabhängigkeitsspekulationen spekulieren typischerweise auf Adressunabhängigkeit bei aufeinander folgenden Speicher- und Ladebefehlen. Bei Wertespekulationen kann auf eine Ladeadresse, auf den zu ladenden Wert, auf konstante Operanden und auf konstante Wertezunahmen spekuliert werden.

10.3.3 Vielfach superskalare Prozessoren - Vorschlag eines Eine-Milliarde-Transistoren-Prozessors komplexe Hybrid-Sprungvorhersage, die auch über mehrere Verzweigungen pro Takt spekuliert, ein großer zweistufig organisierter Trace Cache, ein Befehlsfenster (Reservation stations genannt) von ca. 2000 Befehlen, eine superskalare Zuordnungsbandbreite von 16 bis 32 Befehlen, 24 bis 48 Ausführungseinheiten (Functional units), Anwendung von Datenabhängigkeits- und Werte­spekulation und ein großer On-Chip-Daten-Cache sowie ein Sekundär-Cache, die zusammen mehr als die Hälfte der Transistoren auf dem Chip benötigen

10.4 Prozessortechniken zur Erhöhung des Durchsatzes einer mehrfädigen Last - 10.4.1 Chip-Multiprozessor Chip-Multiprozessor (Chip Multiprocessor, CMP) vereint mehrere Prozessoren auf einem Chip. Jeder der Prozessoren kann die Komplexität eines heutigen Mikroprozessors besitzen und hat eigene Primär-Cache-Speicher für Code und Daten Die Prozessoren auf dem Chip sind als speichergekoppelte Multiprozessoren mit gemeinsamem Adressraum organisiert. Üblicherweise ein gemeinsamer Sekundär-Cache auf dem Chip. Beispiel: IBM Power4 symmetrischer Multiprozessor mit zwei 64-Bit-Prozessoren mit jeweils 64 KByte Code- und 32 KByte Daten-Caches. Die zwei Prozessoren teilen sich einen einheitlichen 1,41 MByte großen Sekundär-Cache-Speicher auf dem Chip. Cache-Controller für einen Tertiär-Cache befindet sich ebenfalls auf dem Prozessor-Chip. 174 Millionen Transistoren, Taktrate von 1,6 GHz. Vier Power4-Chips in einem Mehr-Chip-Modulgehäuse vereint.

10.4.2 Prozessor-Speicher-Integration Prozessor-Speicher-Integration, auch PIM (Processor-in-memory) oder IRAM (Intelligent RAM) genannt, vereint einen oder mehrere Prozessoren mit einem DRAM-Speicher auf einem Chip. Die hohe Prozessorgeschwindigkeit soll mit der hohen Zugriffsbandbreite und der kurzen Zugriffslatenz von DRAM-Bausteinen gekoppelt werden. Speicherzentrierter Entwurf: der Speicher und nicht der Prozessor steht im Vordergrund Wesentliches Problem für High-performance: VLSI-Technologien für Prozessoren und Speicher sind derzeit schwer vereinbar.

10.4.3 Mehrfädige Prozessoren Ziel: Reduzierung von Untätigkeits- oder Latenzzeiten (latencies) insbesondere bei Speicherzugriffen. Ein mehrfädiger (multithreaded) Prozessor speichert die Kontexte mehrerer Kontrollfäden in separaten Registersätzen auf dem Prozessor-Chip und kann Befehle verschiedener Kontrollfäden gleichzeitig (oder zumindest überlappt parallel) in der Prozessor-Pipeline ausführen. Latenzzeiten, die durch Cache-Fehlzugriffe, lang laufende Operationen oder sonstige Daten- oder Steuerflussabhängigkeiten entstehen, können durch Befehle eines anderen Kontrollfadens überbrückt werden.  Die Prozessorauslastung steigt, und der Durchsatz einer Last aus mehreren Kontrollfäden wird erhöht. explizit mehrfädige Prozessoren: ein Kontrollfaden entspricht einem Betriebssystem-Thread oder Prozess implizit mehrfädig: spekulativ parallele Kontrollfäden werden dynamisch aus einem einzigen sequenziellen Programm erzeugt und simultan zueinander ausgeführen

10.4.3.2 Grundtechniken der Mehrfädigkeit (a) konventioneller Prozessor (b) Cycle-by-cycle-Interleaving-Technik (fine-grain multithreading): Der Kontext wechselt mit jedem Prozessortakt. (c) Block-Interleaving-Technik (coarse-grain multithreading): Die Befehle eines Kontrollfadens werden so lange wie möglich direkt aufeinander folgend ausgeführt, bis ein Ereignis eintritt, das zum Warten des Prozessors zwingt.

(a) vierfach Superskalarprozessor, (b) vierfach VLIW-Prozessor, (c) vierfach Superskalarprozessor mit Cycle-by-cycle-Interleaving-Technik, (d) vierfach VLIW-Prozessor mit Cycle-by-cycle-Interleaving-Technik

Klassifizierung von Block-Interleaving-Techniken

10.4.3.3 Die simultan mehrfädige Prozessortechnik Ein simultan mehrfädiger Prozessor (Simultaneous Multithreading, SMT) kann Befehle mehrerer Kontrollfäden in einem Taktzyklus den Ausführungseinheiten zuordnen. Vergleich der simultan mehrfädige Prozessortechnik mit den Chip-Multiprozessoren:

SMT SMT kann im Idealfall alle Latenzen durch Befehle anderer Kontrollfäden füllen kann, im Gegensatz zum CMP, der in jedem Prozessor Latenzzeiten aufweist. Bei SMT werden alle Pipeline-Ressourcen bis auf die Registersätze und die Befehlszähler von den Kontrollfäden gemeinsam genutzt. Im Gegensatz zu SMT werden bei der mehrfädig superskalaren Technik alle internen Puffer für die vorgesehenen Kontrollfäden vervielfacht.  Mehr Chip-Fläche als bei SMT wird benötigt, jedoch sind die einzelnen Kontrollfäden stärker voneinander entkoppelt. Beispiele für SMT: DEC/Compaq 21464: 4-fach SMT, 8-fach superskalar (nicht gebaut) Intel Xeon MP (Codename FosterMP): „Hyperthreading“: 2-fach SMT (eigentlich mehrfädig superskalar) Sun UltraSPARC V (angekündigt)

10.4.3.4 Weitere Anwendungsmöglichkeiten der Mehrfädigkeit Aus der Fähigkeit des schnellen Kontextwechsels ergeben sich weitere Anwendungsmöglichkeiten der Mehrfädigkeit: zur Verringerung des Energieverbrauchs Fehlschläge bei spekulativer Ausführung in Superskalarprozessoren kosten Energie Statt Spekulation Befehle anderer Kontrollfäden ausführen zur Ereignisbehandlung in Superskalarprozessoren Konzept der Hilfskontrollfäden (helper threads) und zum Einsatz in Echtzeitsystemen Komodo-Mikrocontroller

10.5 Kontrollfadenspekulation 10.5.1 Multiskalarer Prozessor Erzeugung von „threads“ aus sequentiellem Befehlsstrom. Multiskalarer Ausführungsmodus: (a) Task-Graph, (b) Task-Zuordnung

Multiskalarer Prozessor

10.5.2 Trace-Prozessor Idee: Traces aus dem Trace Cache verwenden und potenziell aufeinander folgende Traces spekulativ parallel ausführen; ansonsten ähnlich multiscalar