Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 10 Zukunftstechniken für Mikroprozessoren 10.1 Technologieprognosen Technologische Entwicklung wird durch immer höher integrierter Speicherbausteine.

Ähnliche Präsentationen


Präsentation zum Thema: "1 10 Zukunftstechniken für Mikroprozessoren 10.1 Technologieprognosen Technologische Entwicklung wird durch immer höher integrierter Speicherbausteine."—  Präsentation transkript:

1 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 2 Entwicklung der Technologie dynamischer Speicherbausteine 1983 – 2000 JahrDimensionSpeicherkapazitätZahl der Transistoren ,5 – 2,0 0,25 MBit0,5 Millionen ,25 – 1,0 1 MBit2 Millionen ,8 – 0,7 4 MBit8 Millionen ,5 – 0,3 16 MBit32 Millionen 1995 < 0,3 64 MBit128 Millionen , MBit1 Milliarde 20020,13–0, MBit1 Milliarde

3 3 Technologieprognose für dynamische Speicherbausteine JahrDimensionSpeicherkapazität ,1 1 GBit ,09 1 GBit ,08 2 GBit ,07 2 GBit ,065 4 GBit ,045 8 GBit , GBit , GBit

4 4 SIA-Roadmap für Mikroprozessoren gemäß der Prognose von 1998 Einführungsjahr Lokaler Takt (GHz) 0,751,252,13,561016,9 Globaler Takt (GHz) 0,751,21,622,533,674 Chip-Größe (mm²) Dimension (nm) Anzahl Pins Transistoren pro Chip 11M21M76M200M520M1,4G3,62G

5 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 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 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 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 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 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 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 Grundtechniken der Mehrfädigkeit (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) konventioneller Prozessor

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 14 Klassifizierung von Block-Interleaving-Techniken

15 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 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 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 Kontrollfadenspekulation 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 "1 10 Zukunftstechniken für Mikroprozessoren 10.1 Technologieprognosen Technologische Entwicklung wird durch immer höher integrierter Speicherbausteine."

Ähnliche Präsentationen


Google-Anzeigen