Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

10 Zukunftstechniken für Mikroprozessoren 10.1 Technologieprognosen

Ähnliche Präsentationen


Präsentation zum Thema: "10 Zukunftstechniken für Mikroprozessoren 10.1 Technologieprognosen"—  Präsentation transkript:

1 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.

2 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

3 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

4 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

5 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:

6 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.

7 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.

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

9 10.4 Prozessortechniken zur Erhöhung des Durchsatzes einer mehrfädigen Last 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 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.

11 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

12 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.

13 (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

14 Klassifizierung von Block-Interleaving-Techniken

15 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:

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

17 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

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

19 Multiskalarer Prozessor

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


Herunterladen ppt "10 Zukunftstechniken für Mikroprozessoren 10.1 Technologieprognosen"

Ähnliche Präsentationen


Google-Anzeigen