1 10 Zukunftstechniken für Mikroprozessoren 10.1 Technologieprognosen Technologische Entwicklung...

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

Transcript of 1 10 Zukunftstechniken für Mikroprozessoren 10.1 Technologieprognosen Technologische Entwicklung...

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

1

10 Zukunftstechniken für Mikroprozessoren10.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.

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

2

Entwicklung der Technologie dynamischer Speicherbausteine 1983 – 2000

Jahr Dimension Speicherkapazität Zahl der Transistoren

1983 2,5 – 2,0 0,25 MBit 0,5 Millionen

1986 1,25 – 1,0 1 MBit 2 Millionen

1989 0,8 – 0,7 4 MBit 8 Millionen

1992 0,5 – 0,3 16 MBit 32 Millionen

1995 < 0,3 64 MBit 128 Millionen

2000 0,18 512 MBit 1 Milliarde

2002 0,13–0,115 512 MBit 1 Milliarde

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

3

Technologieprognose für dynamische Speicherbausteine

Jahr Dimension Speicherkapazität

2003 0,1 1 GBit

2004 0,09 1 GBit

2005 0,08 2 GBit

2006 0,07 2 GBit

2007 0,065 4 GBit

2010 0,045 8 GBit

2013 0,032 32 GBit

2016 0,022 64 GBit

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

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)

0,75 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

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

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:

Prozessor- zyklen

Befehlsfächer

vertikaler Verlust (= 4)

vertikaler Verlust (= 4)

horizontaler Verlust = 2

horizontaler Verlust = 1

horizontaler Verlust = 3

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

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.

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

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.

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

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

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

9

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.

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

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.

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

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

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

12

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

Tim

e (p

roce

ssor

cyc

les)

(c )

Con

text

sw

itch

(b )

Con

text

sw

itche

s

(1 )

(1 )

(1 )

(1 )

(1 )

(1 )

(1 )

(1 )

(1 )

(1 )

(2 )

(2 )

(2 )

(2 )

(2 ) (2 )

(3 )(4 )(3 )

(3 )

(4 )

(4 )

(a) konventioneller Prozessor

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

(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

(a )

Tim

e (p

roce

ssor

cyc

les)

(c )

Con

text

sw

itche

s

(1 )

(1 )

(1 )

(1 )

(1 )

(2 ) (4 )(3 )

(1 )

(1 ) (1 ) (1 )

(1 )

(1 )

(1 )

(1 )

(1 )

(1 ) (1 ) (1 )

(1 )

(1 )

(1 )

(1 )

(1 )

(1 ) (1 ) (1 )

(b )

(1 )

(1 )

(1 )

(1 )

(1 ) (1 ) (1 )

N N

N N N

(1 )

(2 )

(1 )(1 )

(1 )

(1 )

(2 ) (2 ) (2 )

N N

N N

N

(1 ) (2 ) (4 )(3 )

(d )

Con

text

sw

itch

es(2 ) (2 ) (2 )

(3 )(4 ) (4 )

(1 )

(2 )

(1 )(1 )

(1 )

(1 )(2 ) (2 ) (2 )

(3 )(4 ) (4 )

N N N

N N

N

(2 ) (2 ) (2 )

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

14

Klassifizierung von Block-Interleaving-Techniken

B lock In te rleav ing

statisch dynam isch

Exp lic it-sw itch Im plic it-sw itch(sw itch -on-load ,sw itch -on-s to re,sw itch -on-b ranch , ...)

Sw itch-on-cache-m iss

Sw itch-on-use

C onditional-sw itch

Sw itch-on-signa l

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

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:

(a )

Tim

e (p

roce

ssor

cyc

les)

(b )

(1 ) (2 )

(4 ) (4 )

(4 )

(1 ) (2 ) (4 )(3 )

(1 )

(1 )

(1 )(1 )

(1 )

(4 ) (4 ) (4 )

(4 )

(2 ) (4 )

(4 ) (4 ) (1 )

(1 )

(1 )

(2 ) (2 ) (4 )

(2 ) (3 )

(1 ) (2 )

(4 )

(4 )

(2 )

(1 )

(2 )

(1 ) (1 ) (2 )

(1 )

(1 ) (1 )

(1 ) (1 ) (1 )

(2 ) (2 )

(3 )

(4 ) (4 ) (4 )

(2 ) (2 )

(2 )

(1 ) (2 ) (4 )(3 )

(1 )

(1 ) (2 )

(1 ) (1 )

(2 ) (2 )(1 )

(4 )

(4 )

(3 )

(3 )

(3 )(2 )

(4 )(3 )

(3 ) (4 ) (4 )

(4 )

(3 ) (4 )

(1 )(1 )

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

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)

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

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

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

18

10.5 Kontrollfadenspekulation 10.5.1 Multiskalarer Prozessor

Erzeugung von „threads“ aus sequentiellem Befehlsstrom.

Multiskalarer Ausführungsmodus: (a) Task-Graph, (b) Task-Zuordnung

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

Multiskalarer Prozessor

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

20

10.5.2 Trace-Prozessor

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