1 10 Zukunftstechniken für Mikroprozessoren 10.1 Technologieprognosen Technologische Entwicklung...
-
Upload
arnwald-wergin -
Category
Documents
-
view
105 -
download
2
Transcript of 1 10 Zukunftstechniken für Mikroprozessoren 10.1 Technologieprognosen Technologische Entwicklung...
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.
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
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
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
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
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. 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
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.
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
(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
(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 )
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
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 )
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
Multiskalarer Prozessor
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