Intel Pentium Pro Processor (vervolg)

advertisement
De Intel 80x86 reeks
voor PC
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 1
Voorgeschiedenis

Intel 4004
1971
 4-bit architectuur


Intel 8008
1972
 8-bit architectuur


Intel 8080
1974
 ook 8-bit architectuur
 grotere instructie set
 adres ruimte van 64Kb
 machine met accumulator
 6 chips

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 2
8086 (1978)

Intel 8086










eerste processor van de 80x86 reeks
16-bit processor
16-bit adressen
alleen 640Kbytes is adresseerbaar
klok-frequentie: 4.7 MHz
snelheid: 0.33 MIPS (vergelijk met de andere in de reeks)
8 registers (dit blijft zo voor de hele reeks)
alle parameters worden via de stapel doorgegeven
(dit blijft zo voor de hele reeks)
-> vaak gebruik van cache (zie later)
basis voor IBM PC XT (1981)
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 3
80286 (1982)

Intel 80286







= 8086+
het blijft een 16-bit processor
hogere klok-frequenties: tot 16 MHz
5 maal sneller dan de 8086 (1.6 - 2.1 MIPS)
protected mode en real mode (oude 8086 mode)
in protected mode zijn er 4 geprivilegieerde niveaus
biedt ondersteuning voor multi-tasking besturingssystemen
(bv OS/2)
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 4
80286 (vervolg)

Intel 80286 (vervolg)



24-bit adressen
 adresbereik van 16Mbytes (DOS gebruikt dat echter niet)
maar geen lineaire adresruimte, wel segmenten van 64K
 kunst- en vliegwerk voor programmeren
 slechte overdraagbaarheid van programma's
(naar of van bv de Motorola 68000)
ook klok-frequentie van 8086 werkt nog, zodat toepassingen
die daarop steunen (om timing te doen) nog kunnen draaien
basis voor de IBM PC AT
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 5
i386 (1985)






32-bit processor
hogere klok-frequenties: 16 - 20 - 25 MHz
snelheid (3 - 7 MIPS) van een mainframe van 1970
32-bit adressen
geeft een adresbereik van 4Gbytes
prefetch queue van 16 bytes
paginatie unit die paginatie op aanvraag ondersteunt
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 6
i386 (vervolg)



DOS maakt van de nieuwe mogelijkheden geen gebruik
(UNIX wel)
voor compatibiliteitsreden: de 8086-real-mode kan nog
altijd op de i386
weer een nieuwe mode: virtual 8086 mode = real mode
maar bovenop de protected mode, zodat je de protectie
er bij hebt
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 7
i486 (1991)


natuurlijk volledig compatible met de vorige
processoren in de reeks
integreert op 1 chip
een (krachtigere) i386
 de i387 (FP-coprocessor)
 8Kbyte cache
 prefetch queue van 32 bytes
 4 write buffers om resultaten bij te houden als de bus bezet is
bevat 1.2 miljoen transistoren (=50 keer zoveel als op de 8086)
betekent veel hogere snelheid dan de i386: 20 - 54 MIPS
is +- 3 maal sneller als de i386 met dezelfde klok-frequentie




Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 8
i486 (vervolg)

vaak bevindt zich op het moederbord nog een 'secondlevel cache' van 128 tot 256 Kbytes


on-chip cache: 1 klok cyclus
second-level cache: 1 bus cyclus (= 2 klok cycli)
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 9
i486 (vervolg)


klok-frequenties tussen 25 en 50 MHz
mogelijkheid tot "internal frequency doubling"




= de frequentie op de chip wordt verdubbeld, niet de frequentie
op het moederbord
dit vermijdt resonantie problemen op het moederbord
naam: i486DX2
25 MHz => 50 MHz
33 MHz => 66 MHz
50 MHz => 100 MHz
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 10
i486 (vervolg)

de i486 is een kruising van een CISC met een RISC:



vaak gebruikte instructies (zoals de MOV) worden zonder
microprogrammatie uitgevoerd
de zeer complexe (en niet zo vaak uitgevoerde instructies)
worden via microcode uitgevoerd
uitspraak over DOS: "DOS running on the i486 is about
the same as a supertanker with an outboard motor"
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 11
i486 (vervolg)

ook een SX versie bestaat: een "lichtere" i486




geen FP op de chip
lagere klok-frequentie (25 MHz, die soms aan 33 MHz wordt
gebruikt)
i486DX chips die bij de tests niet de hoge frequentie
aankunnen (door een kleine lay-out verschuiving bv) worden
als SX-versies verkocht
concept van "upgradable"



de chip kan bijgestaan worden door een upgrade chip die
eigenlijk de vorige vervangt
via een verbinding tussen de twee chips wordt ervoor gezorgd
dat de oude chip in wachttoestand blijft
gewone gebruikers moeten deze upgrade kunnen uitvoeren
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 12
Pentium (1993)



kleine naamverandering omdat cijfers niet patenteerbaar
zijn als naam
"The design started in 1989 with the primary goal of
maximizing performance while preserving software
compatibility within the practical constraints of available
technology."
3.1 miljoen transistoren
deze grote hoeveelheid transistoren op één chip is
mogelijk door


kleinere component-maten
groter gebruik van geconnecteerde lagen
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 13
Pentium (vervolg)


performantie: 112 MIPS
statische superscalaire processor:




2 integer pipelines, met 5 stages elk
de twee pipelines werken volledig synchroon
ze volgen de volgorde van het programma
 hier is een belangrijke rol voor de compilers
64-bit externe data-bus (maar een 32-bit processor en 32bit adressen)
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 14
Pentium (vervolg)



8Kbyte instructie cache
+ 8Kbyte gegevens cache
telkens "dual ported" om door de twee pipelines
tegelijkertijd gebruikt te kunnen worden
nodig omdat een superscalaire processor een grotere
bandbreedte nodig heeft
sprong-voorspellingen


een "branch target buffer (BTB)" in associatief geheugen houdt
paren bij van sprong-instructies en gekozen sprongadressen
(met geschiedenis informatie)
compilers werden samen met chip ontworpen
(gebeurt klassiek bij RISC processoren)
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 15
Pentium (vervolg)

"The Pentium achieves roughly two times the speedup
on integer code and up to five times the speedup on
floating-point vector code when compared with an i486
CPU of identical clock frequency"
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 16
Pentium (vervolg)

floating point:





i486
 geen FP-pipeline (als een FP instructie in uitvoering is, kan
er geen tweede beginnen)
 vermenigvuldiging is in microcode
Pentium: FP pipeline (8 stages) voor optelling, aftrekking,
vermenigvuldiging en vergelijking (allemaal 3 klokcycli)
deling kost 18-32 klokcycli
8 speciale functies worden in microcode uitgevoerd:
fsin, fcos, ...
3 formaten worden gesupporteerd: single-precision (32 bit),
double precision (64 bit) volgens IEEE formaat,
en extended-precision (80 bit)
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 17
Pentium (vervolg)

compatibiliteit vereist precieze bepaling van uitzondering
 -> on-chip logica bepaalt of een instructie gegarandeerd
zonder uitzondering zal eindigen; indien ja kan de
pipeline gewoon verder gevuld worden
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 18
Intel Pentium Pro Processor



naam was origineel P6, maar omdat de naam Pentium zo
gekend was wilde men deze behouden
is volgende architectuursprong, blijft t/m Pentium III
gebruikt een superpipeline met 10 stages
ter vergelijking: de Pentium had 5 stages
 dit maakt hogere kloksnelheden mogelijk met gelijke silicontechnologie (1 stage: 33% kleiner, dus kloksnelheid: 33% hoger)





superscalair: kan 3 instructies tegelijk uitvoeren
bevat een L2 cache op de chip van 256K (of 512K)
maakt gebruik van (in Intel terminologie):
dynamic execution, multiple branch prediction,
data flow analysis, speculative execution
dynamisch schedulen (gebaseerd op algoritme v. Tomasulo)
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 19
Intel Pentium Pro Processor (vervolg)

processor architectuur in meer detail: 3 stappen (fig. 3)
FETCH/DECODE unit
 DISPATCH/EXECUTE unit
 RETIRE unit


FETCH/DECODE unit (fig. 4)
leest de instructies in volgorde uit de instructie cache
 leest 20 tot 30 instructies vooruit
 voorspelt sprongen met behulp van de Branch Target Buffer
 20 à 30 instructies bevatten gemakkelijk 5 sprongen

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 20
Intel Pentium Pro Processor (vervolg)

FETCH/DECODE unit (fig. 4) (vervolg)
vertaalt de (CISC) instructie in u-operaties van vaste lengte
 meest gebruikte IA instr. worden vertaald door 1 u-op
 sommige in 4 u-op
 de complexe instructies gaan volledig in microcode
(een klein programma van u-ops)
 de u-op worden in een queue geplaatst en gaan naar de
Register Alias Table (RAT)
 RAT: herbenoemt registers
 de u-op gaan naar de instruction pool (ook genoemd de
ReOrder Buffer dat een associatief geheugen is)

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 21
Intel Pentium Pro Processor (vervolg)

DISPATCH/EXECUTE unit (fig. 5)
bevat 2 integer units, 1 jump unit, 1 FP arithmetic unit,
FP multiplier, divider and shifter, 2 address generation units
 bediend door de Reservation Station via 5 poorten
 wanneer status van u-op aanduidt dat operanden aanwezig
zijn kan een u-op uitgevoerd worden (hier zorgt de dispatch
unit voor): instructies worden niet in volgorde uitgevoerd,
maar volgens de data-flow principes (dynamic scheduling)
 resultaten worden terug naar de ROB gestuurd
 als blijkt dat een slechte sprongvoorspelling gemaakt werd
 zal de JEU de status van alle u-op na de branch veranderen
zodat deze uit de instruction pool genomen worden
(speculative execution)
 de BTB wordt aangepast

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 22
Intel Pentium Pro Processor (vervolg)

RETIRE unit (fig. 6)
zoekt in de instruction pool naar instructies die uitgevoerd zijn
en uit de pool mogen
 deze unit herstelt de programma volgorde van de instructies
 houdt rekening met misvoorspellingen en exceptions
 kan 3 u-op per klok cyclus behandelen

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 23
Intel Pentium Pro Processor (vervolg)

Bus interface unit (fig. 7)
loads kunnen stores voorbijsteken
 hiervoor dient de Memory Order Buffer (MOB)


Dual Independent Bus (D.I.B.) Architecture
tweede gescheiden bussen
 systeembus naar hoofdgeheugen en randapparaten
– snelheid klassiek 66MHz, nu al tot 100MHz
 aparte bus naar L2 cache
– helft van kloksnelheid van chip (schaalt mee met
processor)
 beide bussen kunnen in parallel werken
 piekbandbreedte 3X zo groot als bij Pentium

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 24
Intel Pentium Pro Processor (vervolg)

Error Checking and Correction (ECC)
eigenschappen
 detecteert één- en twee-bit fouten
 verbetert automatisch één-bit fouten
 standaard aanwezig vanaf 300MHz op L2 cache
 standaard op geheugen


enkele cijfertjes
5.5 miljoen transistoren voor CPU, 15.5 miljoen voor L2 cache
 150/166/180/200 en meer MHz
 0.35 micron technologie

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 25
MMX

MMX technologie: uitbreiding van Intel Architectuur om
performantie van multimedia toepassingen te verhogen
inhoudelijk: zie later bij algemene behandeling van DSP en
multimedia extensies
 toepassingen
 2D en 3D visualisaties
 full-screen, full-motion video
 combinaties van grafische elementen met video
 audio synthese
 spraak synthese en compressie,
 telefonie, video-conferentie
 realistische grafische weergaven
 3D-spelletjes

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 26
MMX (vervolg)

uitgewerkt als module om toe te voegen aan
Pentium  Pentium MMX
 Pentium Pro  Pentium II


bevat
57 nieuwe instructies
 8 64-bit nieuwe MMX registers
 4 nieuwe data types

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 27
Pentium MMX

doelstelling
minstens zelfde performantie als Pentium
 minstens zelfde kloksnelheid
 op gebied van marketing was dit heel belangrijk
 veel mensen associëren frequentie met snelheid
 minstens zelfde CPI

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 28
Pentium MMX

probleem 1: toevoegen van MMX op bestaande Pentium
architectuur verlaagt de kloksnelheid


Pentium architectuur heeft pipeline met 5 stages


bottlenecks: decode en cache
Pre-fetch, Decode1, Decode2, Execute, Writeback
oplossing
pipeline herschikken in 6 stages
 nieuwe stage vooraan, en de rest herschikken
 Pre-fetch, Fetch, Decode1, Decode2, Execute, Writeback
 cache aanpassingen

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 29
Pentium MMX

probleem 2: toevoegen van pipeline stage verlaagt CPI
branch hazard is langer
 er gaat meer tijd verloren bij misvoorspelde sprongen


verhogen van CPI door
toevoegen van Return Stack Buffer naast Branch Target Buffer
 speciale buffer met geschiedenis van procedure oproepen
 verbetering van CPI met 8%
 verbetering relatie snelheid van processor en snelheid van bus
 verbetering van CPI met 5%
 grotere cache, volledig associatieve Translation Lookaside Buffers
 16Kb ipv 8Kb voor zowel instructie- als data cache
 verbetering van CPI met 7 tot 10%
 totale verbetering tov Pentium CPI: 15%

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 30
Pentium II

op architecturaal niveau: niets nieuws tov Pentium Pro
nog altijd superpipeline met 10 stages
 dynamic execution, multiple branch prediction, data flow
analysis, speculative execution


wel verbeterde technologie en kleine verbeteringen

alles aanpassen aan MMX
 betere sprongvoorspelling
 ‘dynamic, two-level, adaptive-training, branch prediction’
 grotere L1 cache (2X 16Kb)
 kan tot 3 instructies per klokcyclus decoderen
 kan tot 40 instructies voorruit kijken (30 bij Pentium Pro)
 kan tot 4 instructies tegelijk uitvoeren (3 bij Pentium Pro)
verbinding met moederbord: Single Edge Contact ipv pinnen

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 31
Pentium III

op architecturaal niveau: niets nieuws tov Pentium II
nog altijd superpipeline met 10 stages
 dynamic execution, multiple branch prediction, data flow
analysis, speculative execution



wel verbeterde technologie en 70 nieuwe instructies
Intel Processor Serial Number
uniek cijfer per processor, opvraagbaar
 gebruik in beveiliging
 gebruik in beheer (remote system load and configuration)


enkele cijfertjes
9.5 miljoen transistoren voor CPU (Pentium Pro: 5,5)
 28 miljoen transistoren inclusief L2 cache
 450 tot 1.13 GHz (Pentium Pro: 150/166/180/200)
 0.25 tot 0.18 tot 0.13 (9/2001) micron tech. (Pentium Pro: 0.35)
 grootte L1 en L2 cache: zoals betere Pentium II (2x16K en 512K)

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 32
Pentium III (vervolg)

70 nieuwe instructies (SSE: Streaming SIMD Extensions)
SIMD floating point
 SIMD integer
 ‘cacheability control instructions’


technologieën die hiervan kunnen gebruik maken
geavanceerde beeldverwerking
 3D
 streaming audio en video
 spraakherkenning


voordelen
hogere resoluties en hogere kwaliteit van beelden
 hogere kwaliteit audio, MPEG2 video,
simultaan MPEG2 encodering en decodering
 verminderd gebruik van CPU voor spraakherkenning, hogere
betrouwbaarheid en snellere respons

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 33
Pentium III: toepassingsdomeinen
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 34
Pentium III: toepassingsdomeinen (vervolg)

Productivity software


Multimedia software


gaming, modeling, and simulation applications
Internet applications


includes audio, video, imaging, and creativity applications
3D software


applications such as word processing, presentation, and
personal finance programs
Internet browsers, as well as 3D and multimedia Web content
benchmarks: zie tabel 1-5
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 35
Pentium 4 (2001)

eerste belangrijke architecturale vernieuwing sinds
Pentium Pro (4 jaar eerder)



gebaseerd op .18 micron technologie, maar mikt op .13
bevat 42 milj transistoren (14 milj meer dan PentiumIII)


naam: Intel NetBurst Micro-Architecture
de chip is dus ook substantieel groter
begonnen bij 1.4 GHz, is nu al 2.4 GHz, .13 micron tech.
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 36
Pentium 4

Hyper Pipelined Technology


pipeline met 20 stages (verdubbeling tov P6)
 bij verkeerde voorspellingen is straf zwaarder !!
Level 1 Execution Trace Cache
speciale instructie cache
 bewaart geen geheugen blokken
 maar reeds gebruikte, gedecodeerde instructies (micro-ops)
 12K micro-ops
 bewaart dus geen niet-gebruikte instructies
 fetching en decode voor instructies uit cache valt weg

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 37
Pentium 4

Advanced Dynamic Execution
kijkt 126 instructies vooruit (ipv 42 bij Pentium III)
 o.a. 48 loads en 24 stores
 betere branch prediction (33% minder mis-voorspellingen)
 beter algoritme, 4KB BTB, geschiedenis-gebaseerd


Rapid Execution Engine


2 integer ALU’s werken aan dubbele kloksnelheid
 bv 3GHz op een 1.5GHz Pentium 4
 of 4.8GHz op een 2.4GHz Pentium 4 !
Enhanced Floating Point and Multimedia Unit
all FP registers 128-bit
 new register for data movement

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 38
Pentium 4

400MHz Front Side Bus
quad-pumped 100MHz-system bus
 geeft 3 maal grotere bandbreedte dan Pentium III
 3.2 GB/s ivm 1.06 GB/s bij Pentium III


256KB Level 2 Advanced Transfer Cache (ATC)
transfers vanuit L2: op elke klok cyclus (ipv om de 2)
 Pentium 4 1.5 GHz geeft 48GB/s
 vgl: Pentium III 1 GHz geeft 16GB/s
 niet-blokerend
 8-way set associatief
 256-bit data bus (32 bytes)
 256KB op Pentium 4 tot 2GHz
 512KB op Pentium 4 vanaf 2GHz

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 39
Pentium 4

SSE2 (Streaming SIMD Extension 2)
144 nieuwe instructies !!
 128-bit SIMD instructies
 hierdoor zijn minder instructies nodig
 nadeel: enkel nieuwe software maakt hiervan gebruik
 interessant voor video, speech, beeld- en fotoverwerking,
encryptie, finantiele berekeningen, wetenschappelijke
toepassingen


Geheugen

gebruikt (dure) RDRAM (Rambus DRAM) per paar
 geheugen upgrades zijn daarom duur
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 40
Pentium 4

Benchmarks
SPECint en SPECfp zijn nog niet uit (voor zover ik weet)
 Pentium 4 is niet sneller voor Productivity Software
(zoals Word en Excel)
 wel sneller voor de andere toepassingen (3D, multimedia,
scientific, …)

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 41
Download