Download - Többszálú Processzorok
![Page 1: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/1.jpg)
Többszálú Processzorok
Sima Dezső
2008 őszi félév
(Ver. 2.0) Sima Dezső, 2007
![Page 2: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/2.jpg)
Felépítés
1. Bevezetés•
2. Áttekintés•
3. Durván szemcsézett többszálúság•
4. Finoman szemcsézett többszálúság•
5. Szimultán többszálúság•
![Page 3: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/3.jpg)
1. Bevezetés
![Page 4: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/4.jpg)
Szál (thread): dinamikus végrehajtási folyamat
Többszálúság főbb jellemzői
• ugyanazon folyamathoz tartoznak, • közös adattéren osztoznak (általában, különben több címfordítási útvonal egyidejű kezelésére van szükség (virtualisból valósba))• egyidejűleg futnak (átfedésben vagy párhuzamosan).
Szálkezelés
• Szálak létrehozása és megszüntetése, végrehajtásuk vezérlése,• egyidejűleg több szál állapotának nyilvántartása, kezelése, • kontextusváltás a szálak között.
Többszálúság célja
teljesítmény emelése szuperskalár vagy többfeladatos futtatáshoz képest,a végrehajtási párhuzamosság növelésével
A szálak
1. Bevezetés (1)
![Page 5: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/5.jpg)
Szoftver megvalósítás
Többszálúság megvalósítása
Hardver megvalósítás
Program/OS többszálú futtatásaegyszálú processzoron
időosztással
Program/OS többszálú futtatásatöbbszálú processzoron
átfedében vagy párhuzamosan
(többszálú alkalmazás/OS futtatásakor)
A szálak között gyors kontextusváltás szükséges.
Több szál kezelése egyidejűlegaz operációs rendszer által
Több szál kezelése egyidejűleg a processzor által
Többszálú OS Többszálú processzor
1. Bevezetés (2)
![Page 6: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/6.jpg)
Többszálú processzorok megvalósítási lehetőségei
Többmagos processzorok Többszálú magok
Chip
L3/Memory
L2/L3Core Core
L3/Memory
MTcore
L2/L3
(SMP: Symmetric MultiprocessingCMP: Chip Multiprocessing)
1. Bevezetés (3)
![Page 7: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/7.jpg)
Szoftver többszálúság követelményei:
Szükséges többletráfordítás többszálú magok esetén:
• Több szálállapot kezelése:
PC, FX/FP arhictekturális regiszeterek, állapot regiszterek, (összevont arch. és átnevezési regiszterek esetén kellően nagyméretű fizikai regiszterfájl biztosítása (FX/FP))
• Egyidejűleg több szál mikroállapot fenntartása, például:
regiszterátnevezések nyilvántartása, RAS (Return Address Stack), ROB stb.
• Érzékeny, szűknek bizonyuló erőforrások bővítése, például:
utasítás puffer, store queue stb. méretének a növelése
(PC, FX/FP architekturális regiszterek, állapot regiszterek)
Több szálállapot nyilvántartása/kezelése az OS által
1. Bevezetés (4)
![Page 8: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/8.jpg)
Többmagos processzorok
Többszálas magok
Komplexitás növekedés
~ (60 – 80) % ~ (2 – 10) %
Nyereség(általános
alkalmazásokban)~ (60 – 80) % ~ (0 – 30) %
1. Bevezetés (5)
![Page 9: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/9.jpg)
• Windows NT• OS/2• Unix w/Posix• 90-es évek eleje óta kifejlesztett operációs rendszerek döntő többsége
Többszálú operációs rendszerek:
1. Bevezetés (6)
![Page 10: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/10.jpg)
Sorosprog.
Többfeladatos programozás Többszálú programozás
P2
Pro
cess
/ T
hrea
d M
anag
emen
t Exa
mpl
e
P1
P2
P3
P2
P1
P3
fork()
fork()
join()
P1
T1
exec()
exec()
T3
T2
T5T4
CreateThread()
T6
Create Process()
Soros-, többfeladatos-, és többszálú programozás elve
![Page 11: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/11.jpg)
Sequential
programs
Multitask programs Multithreaded programs
Software megvalósítás Software impl. Hardware impl.
Legacy OS support
Traditional Unix Most modern OS’s (Windows NT/2000, OS/2, Unix+Posix)
Most modern OS’s (Windows NT/2000, OS/2, Unix+Posix)
Low Low-medium High Higher
No API level support
Process life cycle management API Process and thread life cycle management API
Explicit threading API
OpenMP
Process and thread life cycle management API
Explicit threading API
OpenMP
OS
Sup
port
Sof
twar
e D
evel
opm
ent
Per
form
ance
L
evel
Multiprocessing és multithreading megvalósítása
![Page 12: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/12.jpg)
2. Áttekintés
![Page 13: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/13.jpg)
Szálak ütemezése szoftver többszálúság esetén, hagyományos szuperskalár processzoron
Forrás: Mazzucco P., „Fundamentals of Multithreading,” http://www.slcentral.com/articles/01/6/multithreading
Ábra 2.1: Szálak ütemezése hagyományos szuperskalár processzoron
2.1 Szálak ütemezése
Egy új szál futtatását kontextusváltás előzi meg(ezáltal mentődik le a felfüggesztett szál állapottere, és
töltődik be a futtatandó szál állapottere).
2. Áttekintés (1)
![Page 14: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/14.jpg)
Forrás: Mazzucco P., „Fundamentals of Multithreading,” http://www.slcentral.com/articles/01/6/multithreading
Ábra 2.2: Szálak ütemezése durva szemcsézettséggel
Szálak ütemezése CMP-n (Durván szemcsézettség)
A magok a szálakat egymástól függetlenül futtatják
![Page 15: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/15.jpg)
Durván szemcs. MT
Szálütemezés többszálú magok esetében
2. Áttekintés (2)
![Page 16: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/16.jpg)
Forrás: Mazzucco P., „Fundamentals of Multithreading,” http://www.slcentral.com/articles/01/6/multithreading
Ábra 2.3: Szálak ütemezése 4-utas durva szemcsézettségű többszálas processzoron
A szálakat gyors, HW által támogatott kontextus váltásokkal cserélik.
![Page 17: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/17.jpg)
Durván szemcs. MT Finoman szemcs. MT
Szálütemezés többszálú magok esetében
2. Áttekintés (3)
![Page 18: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/18.jpg)
Forrás: Mazzucco P., „Fundamentals of Multithreading,” http://www.slcentral.com/articles/01/6/multithreading
Ábra 2.4: Szálak ütemezése 4-utas finom szemcsézettségű többszálas processzoron
A hardveres szálütemező minden ütemben kiválaszt egy szálatés abból a szálból származó utasításokat kiküld/kibocsát abban az ütemben.
![Page 19: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/19.jpg)
Durván szemcs. MT Finoman szemcs. MT Szimultán MT (SMT)
Szálütemezés többszálú magok esetében
2. Áttekintés (4)
![Page 20: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/20.jpg)
Forrás: Mazzucco P., „Fundamentals of Multithreading,” http://www.slcentral.com/articles/01/6/multithreading
Ábra 2.5: Szálak ütemezése 4-utas szimultán többszálas processzoron
Elérhető utasítások (a megfelelő módszerrel kiválasztva, pl. a szálak prioritása) kiküldésre vagy kibocsátásra kerülnek minden ciklusban.
SMT: Proposed by Tullsen, Eggers and Levy in 1995 (U. of Washington).
![Page 21: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/21.jpg)
Ábra 2.6: Intel többmagos processzor családjai
8CST
QCMT
QCST
DCMT
DCST
2005 20061Q 2Q 3Q 4Q 1Q 2Q 3Q 4Q
Pentium EE 955/965(Presler)
2*188 mtrs./130 W
1/06
65 nm/2*81 mm2
2-way MT/core
Pentium EE 840(Smithfield)
230 mtrs./130 W
5/05
90 nm/2*103 mm2
2-way MT/core
2. MCP-k áttekintése (1)
![Page 22: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/22.jpg)
Ábra 2.7.: Intel kétmagos Xeon DP-családja
8CST
QCMT
QCST
DCMT
DCST
20051Q 2Q
20061Q 2Q 3Q 4Q3Q 4Q
Xeon DP 2.8
10/05
2*169 mtrs./135 W 90 nm/2*135 mm2
(Paxville DP)
2-way MT/core2*188 mtrs./95/130 W
Xeon 5000
6/06
65 nm/2*81 mm2
(Dempsey)
2-way MT/core
2. MCP-k áttekintése (2)
![Page 23: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/23.jpg)
Ábra 2.8.: Intel kétmagos Xeon MP-családja
8CST
QCMT
QCST
DCMT
DCST
20051Q 2Q
20061Q 2Q 3Q 4Q3Q 4Q
Xeon 7000
11/05
2*169 mtrs./95/150 W 90 nm/2*135 mm2
(Paxville MP)
2-way MT/core1328 mtrs./95/150 W
Xeon 7100
8/06
65 nm/435 mm2
(Tulsa)
2-way MT/core
2. MCP-k áttekintése (3)
![Page 24: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/24.jpg)
Ábra 2.9.: Intel kétmagos EPIC alapú szerver családja
8CST
QCMT
QCST
DCMT
DCST
20051Q 2Q
20061Q 2Q 3Q 4Q3Q 4Q
2-way MT/core
9x00(Montecito)
1720 mtrs./104 W
7/06
90 nm/596 mm2
2. MCP-k áttekintése (4)
![Page 25: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/25.jpg)
Ábra 2.10.: IBM többmagos szerver családjai
POWER5 POWER5+
Cell BE
POWER6
8CST
QCMT
QCST
DCMT
DCST
2001 2002
3Q 4Q 3Q 4Q
~~ ~~
5/04
2004
1Q 2Q
~~
10/05
276 mtrs./70 W
3Q 4Q
2006
234 mtrs./95 W
20061Q 2Q 3Q 4Q
2007
750 mtrs./~100W
20071Q 2Q
90 nm/230 mm2
90 nm/221 mm2
65 nm/341 mm2
276 mtrs./80W (est.)
130 nm/389 mm2
2-way MT/core 2-way MT/core
(PPE:2-way MT)
2-way MT/core
(SSEs: no MT)
2. MCP-k áttekintése (5)
![Page 26: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/26.jpg)
Ábra 2.11.: Sun és Fujitsu többmagos szerver családjai
8CST
QCMT
QCST
DCMT
DCST
20041Q 2Q
20051Q 2Q 3Q 4Q
20071Q 2Q 3Q 4Q
20081Q 2Q
~~3Q
8CMTUltraSPARC T1
11/2005
279 mtrs./63 W
(Niagara)UltraSPARC T2
2007
(Niagara II)
APL SPARC64 VI
2007
540 mtrs./120 W
(Olympus)
APL SPARC64 VII
2008
(Jupiter)
90 nm/421 mm2
65 nm/464 mm2
65 nm/342 mm290 nm/379 mm2
3Q
4-way MT/core 8-way MT/core
2-way MT/core
4Q
~120 W2-way MT/core
72 W (est.)
2. MCP-k áttekintése (6)
![Page 27: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/27.jpg)
Ábra 2.12.: RMI többmagos XLR-családja (skalár RISC)
8CST
QCMT
QCST
DCMT
DCST
20051Q 2Q 3Q 4Q
20061Q 2Q 3Q 4Q
8CMT
XLR 5xx
5/05
333 mtrs./10-50 W90 nm/~220 mm2
4-way MT/core
2. MCP-k áttekintése (7)
![Page 28: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/28.jpg)
Skalár mag(ok)
Mögöttes mag(ok)
Szuperskalár mag(ok) VLIW mag(ok)
SUN UltraSPARC T1 (2005)(Niagara)
up to 8 cores, 4 threads
IBM RS64 IV (2000)(SStar)2-way
Pentium 4 (2002)2-way
DEC 21464 (2003)Dual-core/2-way
IBM POWER5 (2005)Dual-core/2-way
Pentium EE 840 (2005)Dual-core/2-way
Pentium EE 955/965 (2005)Dual-core/2-way
SUN MAJC 5200 (2000)Quad-core/4-way(dedicated use)
Intel Montecito (2006?)Dual-core/2-way
2.2. Többszálú processzorok áttekintése (1)
![Page 29: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/29.jpg)
3. Durván szemcsézett többszálúság
![Page 30: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/30.jpg)
3.1 Áttekintés (1)
Durván szemcs. MT Finoman szemcs. MT Szimultán MT (SMT)
Szálütemezés többszálú magok esetében
3. Durván szemcsézett többszálúság
![Page 31: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/31.jpg)
Skalár alapú
Durván szemcs. MT
Szuperskalár alapú VLIW alapú
SUN MAJC 5200 (2000)Quad-core/4T(dedicated use)
Intel Montecito (2006?)Dual-core/2T
IBM RS64 IV (2000)(SStar)
2T
3.1 Áttekintés (2)
3. Durván szemcsézett többszálúság
![Page 32: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/32.jpg)
3.2 Esettanulmányok 1: IBM RS 64 IV (1)
Üzleti szerverterhelésre optimalizálva, úgy mint online tranzakció kezelés, webkiszolgálás, ERP (Enterprise Resource Planning).
4-utas szuperskalár, kétszálas
Duplikált erőforrások: ~ + 5 % chip felület
Utasítás lehívás szélessége: 8 ut./ciklus
• GPRs, FPRs, CR (condition reg.), CTR (count reg.),• speciális célú, privilegizát módú regiszterek, mint például MSR (machine state reg..)• állapot és vezérlő regiszterek, mint például szál prioritás.
Minden szál a saját címterében fut
Architekturális állapot:
A címfordításhoz használt egységeket duplikálni kell, pl:SRs (Segment Address Reg.s)
Mind az egyszálas, mind a többszálas futtatási módok támogatása
IBM iSeries és pSeries kereskedelmi szerverekben használják.
Mikroarchitekúra
![Page 33: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/33.jpg)
3.2 Esettanulmányok 1: IBM RS 64 IV (2)
Ábra 3.1: IBM’s RS 64 IV mikroarchitektúra
Forrás: Borkenhagen J.M. et al. „A multithreaded PowerPC processor for commercial servers”, IBM J.Res.Develop. Vol. 44. No. 6. Nov. 2000, pp. 885-898
IERAT: Effective to realaddress translation cache
(2x64 entries)
6XX bus
![Page 34: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/34.jpg)
Szálváltás (erősen egyszerűsítve):
Két szálat kezel; egy előtér szál és egy háttér szál.. Az előtér szál fut, amíg nem kerül sor egy hosszú ideig tartó műveletre (cache vagy IERAT hiány) Ekkor egy szálváltás történik, és a háttérben levő szál kapja meg a processzort. Miután az előző szál cache kérése kiszolgálódik, visszakapja a vezérlést.
A Szálváltó puffer egyidejűleg 8 utasítást tárol a háttérszáltól, az I$ késleltetésének kiküszöbölésére
3.2 Esettanulmányok 1: IBM RS 64 IV (3)
A szálak prioritása megfelelő utasításokkal megváltoztatható
• nagyméretű feldolgozandó feladatok és• gyakorta előforduló feladat váltások
• nagyméretű L1-re van szükség• gyakori cache hiány (cache miss)
Cél: üzleti alkalmazások
![Page 35: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/35.jpg)
3.2 Esettanulmányok 1: IBM RS 64 IV (4)
Ábra 3.2: Szálcsere cache hiány esetén IBM’s RS 64 IV processzoron
Forrás: Borkenhagen J.M. et al. „A multithreaded PowerPC processor for commercial servers”, IBM J.Res.Develop. Vol. 44. No. 6. Nov. 2000, pp. 885-898
![Page 36: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/36.jpg)
3.2 Esettanulmányok 2: SUN MAJC 5200 (1)
• legfeljebb 4 processzor egy lapkán, • minden processzor 4 FU-val (funkcionális egység) rendelkezik. 3 ugyanolyan, 1 fejlesztett• mindegyik FU-nak saját logikája és regiszterkészlete van (pl.. 32 vagy 64 regs.),• a 4 FU osztozkodik egy globális regiszterkészleten, pl. 64 regs.,• minden regiszter egyesített (nincs FX/FP szétbontás),• minden FU bármilyen adattípust képes feldolgozni.
Cél:
Mikroarchitektúra:
Minden processzor 4-szélességű VLIW és 4-utas többszálúságra képes.
Dedikált felhasználás, komoly grafikát, nagysebességű hálózatot kiszolgáló teljesítmény
![Page 37: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/37.jpg)
3.2 Esettanulmányok 2: SUN MAJC 5200 (2)
Ábra 3.3: SUN MAJC 5200 áttekintő nézete
Forrás: “MAJC Architecture Tutorial,” Whitepaper, Sun Microsystems, Inc
![Page 38: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/38.jpg)
3.2 Esettanulmányok 2: SUN MAJC 5200 (3)
Ábra 3.4: FU-khoz hozzárendelt saját használatú, egyesített regiszter fájlok elve
Forrás: “MAJC Architecture Tutorial,” Whitepaper, Sun Microsystems, Inc
![Page 39: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/39.jpg)
3.2 Esettanulmányok 2: SUN MAJC 5200 (4)
Minden processzor a 4 funkcionális egységével 4-utas többszálú módban üzemelhet.(a Sun ezt Vertical Multithreading-nek nevezi)
Szálcsere:
4-utas többszálúság megvalósítása:
minden szálat a 4 FU valamelyike hajtja végre („Vertical multithreading”)
Sikertelen cache igény esetén a processzor lementi a szál állapotát, és elkezdi feldolgozni a következő szálat
Példa:
Programvégrehajtás összehasonlítása 4-utas többszálú módú processzoron egyszálas és többszálas módok között
A vizsgálandó program:
• 100 utasítást tartalmaz,• átlagosan 2.5 utasítás/ciklus,• 20 utasításonként jön egy cache miss (sikertelen kérés a cache tárban).• A cache miss kiszolgálási ideje: 75 ciklus.
Szálkezelés
![Page 40: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/40.jpg)
3.2 Esettanulmányok 2: SUN MAJC 5200 (5)
Ábra 3.4: Egymás utáni cache hiányok hatása egyszálas processzoron
Forrás: “MAJC Architecture Tutorial,” Whitepaper, Sun Microsystems, Inc
![Page 41: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/41.jpg)
3.2 Esettanulmányok 2: SUN MAJC 5200 (6)
Ábra 3.5: Egymás utáni cache hiányok kezelése SUN MAJC 5200 processzorok
Forrás: “MAJC Architecture Tutorial,” Whitepaper, Sun Microsystems, Inc
![Page 42: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/42.jpg)
3.2 Esettanulmányok 3: Intel Montecito (1)
Cél:
Fő különbségek az Itanium2 és a Montecito között:
• Osztott használatú L2 cachek,• nagyméretű egyesített L3 cache,• duplikált architekturális állapot kezelés.
A kétszálúság további támogatása:
• az elágazásbecslés képes a szálakat megjelölni,• szálanként külön RAT,• szálanként külön ALAT (Advance Load Address Table)
Szükséges plusz magterület: ~ 2 %.
Csúcsszerverek
![Page 43: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/43.jpg)
3.2 Esettanulmányok 3: Intel Montecito (2)
Ábra 3.6: Intel Itanium 2 mikroarchitektúrája
Forrás: McNairy, C., „Itanium 2”, IEEE Micro, March/April 2003, Vol. 23, No. 2, pp. 44-55
![Page 44: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/44.jpg)
3.2 Esettanulmányok 3: Intel Montecito (3)
Ábra 3.7: Intel Montecito mikroarchitektúrája (ALAT: Advanced Load Address Table)
Forrás: McNairy, C., „Montecito”, IEEE Micro, March/April 2005, Vol. 25, No. 2, pp. 10-20
![Page 45: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/45.jpg)
3.2 Esettanulmányok 3: Intel Montecito (4)
Szálváltások:
5 eseménytípus okozhat szálváltást, mint például L3 cache miss, programozott szálváltó utasítás.
A szálváltás teljes „büntetése” : 15 ciklus
Példa a szálváltásra:
Ha a vezérlő logika észreveszi, hogy a szál nem halad, szálváltást fog kezdeményezni.
![Page 46: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/46.jpg)
Ábra 3.8: Összehasonlítás: kétszálas Intel Montecito vs egyszálas processzor
3.2 Esettanulmányok 3: Intel Montecito (5)
Forrás: McNairy, C., „Montecito”, IEEE Micro, March/April 2005, Vol. 25, No. 2, pp. 10-20
![Page 47: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/47.jpg)
4. Finoman szemcsézett többszálúság
![Page 48: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/48.jpg)
4.1 Áttekintés (1)
Durván szemcs. MT Finoman szemcs. MT Szimultán MT (SMT)
Szálütemezés többszálú magok esetében
4. Finoman szemcsézett többszálúság
![Page 49: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/49.jpg)
Round robin kiválasztó politika
Finoman szemcs. MT
Prioritás alapú kiválasztó politika
Skalár alapú
Szuperskalár alapú
VLIW alapú Skalár alapú
Szuperskalár alapú
VLIW alapú
4.1 Áttekintés (2)
SUN UltraSPARC T1 (2005)(Niagara)
up to 8 cores/4T
4. Finoman szemcsézett többszálúság
![Page 50: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/50.jpg)
4.2 Esettanulmány: SUN UltraSPARC T1 (1)
• webkiszolgálás,• tranzakció feldolgozás,• ERP (Enterprise Resource Planning – erőforrás tervezés),• DSS (Decision Support Systems – döntéstámogató rendszer)
Cél: Kereskedelmi szerver alkalmazások, mint például
Kereskedelmi szerver alkalmazások jellemzői:
• nagy méretű adathalmazok,• szétszórt memória hivatkozások.
• magas cache miss arány,• alacsony pontosságú adatfüggő elágazásbecslés.
A memória késleltetési ideje erősen korlátozza a teljesítményt
Többszálúsággal törekednek a memória késleltetés elrejtésére
![Page 51: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/51.jpg)
• 8 skalár mag, 4-utas többszálúsággal.• Mind a 32 szál osztozik a 4 modulos 3 MB L2 cachen.
Struktúra:
4.2 Esettanulmány: SUN UltraSPARC T1 (2)
![Page 52: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/52.jpg)
4.2 Esettanulmány: SUN UltraSPARC T1 (3)
Ábra 4.1: SUN UltraSPARC T1 blokk diagrammja
Forrás: Kongetira P., et al. „Niagara”, IEEE Micro, March/April 2005, Vol. 25, No. 2, pp. 21-29
![Page 53: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/53.jpg)
• 8 skalár mag, 4-utas többszálúsággal • Mind a 32 szál osztozik a 4 modulos 3 MB L2 cachen.• 4 memória csatorna, lapkára integrált DDR2 memória vezérlőkkel
Struktúra:
Solaris alatt fut
4.2 Esettanulmány: SUN UltraSPARC T1 (4)
![Page 54: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/54.jpg)
4.2 Esettanulmány: SUN UltraSPARC T1 (5)
Ábra 4.2: SUN UltraSPARC T1 chipForrás: www.princeton.edu/~jdonald/research/hyperthreading/romanescu_niagara.pdf
![Page 55: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/55.jpg)
4.2 Esettanulmány: SUN UltraSPARC T1 (6)
Processzor Elemek (Sparc futószalagok):
• Skalár FX-egységek, 6-elemű futószalag• minden processzor elem egy közös FP-egységet használ
![Page 56: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/56.jpg)
4.2 Esettanulmány: SUN UltraSPARC T1 (7)
Ábra 4.3: SUN UltraSPARC T1 mag mikroarchitektúrája
Forrás: Kongetira P., et al. „Niagara”, IEEE Micro, March/April 2005, Vol. 25, No. 2, pp. 21-29
![Page 57: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/57.jpg)
4.2 Esettanulmány: SUN UltraSPARC T1 (8)
Processzor Elemek (Sparc futószalagok):
• Skalár FX-egységek, 6-elemű futószalag• minden processzor elem egy közös FP-egységet használ
Egy processzor elem minden szála az alábbi erőforrásokkal rendelkezik:
• PC-logika• regiszter file,• utasítás puffer,• tároló puffer.
Nincs szálváltási büntetés!
![Page 58: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/58.jpg)
4.2 Esettanulmány: SUN UltraSPARC T1 (9)
Ábra 4.4: SUN UltraSPARC T1 mag mikroarchitektúrája
Forrás: Kongetira P., et al. „Niagara”, IEEE Micro, March/April 2005, Vol. 25, No. 2, pp. 21-29
![Page 59: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/59.jpg)
4.2 Esettanulmány: SUN UltraSPARC T1 (10)
• PC-logika• regiszter file,• utasítás puffer,• tároló puffer.
Nincs szálváltási büntetés!
Processzor Elemek (Sparc futószalagok):
• Skalár FX-egységek, 6-elemű futószalag• minden processzor elem egy közös FP-egységet használ
Egy processzor elem minden szála az alábbi erőforrásokkal rendelkezik:
![Page 60: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/60.jpg)
4.2 Esettanulmány: SUN UltraSPARC T1 (11)
Szálcsere:
A szálakat utasításonként cserélhetik
A szálkiválasztó futószalag fokozatban a szálkiválasztó multiplexer minden órajelkor kiválasztja a futásra kész szálak közül azt, amelyik futni fog,és ez a szál kerülni a futószalagra feldolgozásra.
Szálak kiválasztása:
![Page 61: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/61.jpg)
4.2 Esettanulmány: SUN UltraSPARC T1 (12)
Ábra 4.5: SUN UltraSPARC T1 mag mikroarchitektúrája
Forrás: Kongetira P., et al. „Niagara”, IEEE Micro, March/April 2005, Vol. 25, No. 2, pp. 21-29
![Page 62: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/62.jpg)
4.2 Esettanulmány: SUN UltraSPARC T1 (13)
A szálak futásra képtelenné válhatnak, ha:
• hosszú idejű művelet érkezik, pl: load, elágazás, szorzás, osztás,• megáll a futószalag pl. cache miss, csapda vagy erőforrás ütközés okán.
Szálkiválasztó politika: a legrégebben futott szál elve
1.Példa:
• mind a 4 szál elérhető
Szálcsere:
A szálakat utasításonként cserélhetik
A szálkiválasztó futószalag fokozatban a szálkiválasztó multiplexer minden órajelkor kiválasztja a futásra kész szálak közül azt, amelyik futni fog,és ez a szál kerülni a futószalagra feldolgozásra.
Szálak kiválasztása:
![Page 63: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/63.jpg)
4.2 Esettanulmány: SUN UltraSPARC T1 (14)
Ábra 4.6: Szálcserélő algoritmus a SUN UltraSPARC T1 processzoron, ha minden szál elérhető
Forrás: Kongetira P., et al. „Niagara”, IEEE Micro, March/April 2005, Vol. 25, No. 2, pp. 21-29
![Page 64: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/64.jpg)
4.2 Esettanulmány: SUN UltraSPARC T1 (15)
2. Példa:
• Csak két elérhető szál van,• spekulatív utasítás végrehajtás a betöltés után.
(A betölteni kívánt adat a 3. ciklusban válik elérhetővé, amennyiben benne van a cache-ben (cache hit).Ezért a betöltés parancs kiadása után a szál blokkolódik két cikluson keresztül).
![Page 65: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/65.jpg)
4.2 Esettanulmány: SUN UltraSPARC T1 (16)
Ábra 4.7: Szálcserélő algoritmus a SUN UltraSPARC T1 processzoron, ha minden szál elérhető
Forrás: Kongetira P., et al. „Niagara”, IEEE Micro, March/April 2005, Vol. 25, No. 2, pp. 21-29
(A t0 szál összeadó művelete átkerül a futószalagra, cache találatot feltételezve)
![Page 66: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/66.jpg)
5. Szimultán többszálúság
![Page 67: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/67.jpg)
5.1 Áttekintés (1)
Durván szemcs. MT Finoman szemcs. MT Szimultán MT (SMT)
Szálütemezés többszálú magok esetében
5. Szimultán többszálúság
![Page 68: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/68.jpg)
Skalár alapú
Szimultán MT
Szuperskalár alapú VLIW alapú
Pentium 4 (2002)2T
DEC 21464 (2003)Dual-core/2T
IBM POWER5 (2005)Dual-core/2T
Pentium EE 840 (2005)Dual-core/2T
Pentium EE 955/965 (2005)Dual-core/2T
5.1 Áttekintés (2)
5. Szimultán többszálúság
![Page 69: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/69.jpg)
Az Intel az SMT-t Hyperthreading (HT) névvel illeti
A Northwood alapú DP és MP szerver magokban jelentek meg (2/2002 és 3/2002)(a magok neve Prestonia és Foster MP), ezt követte az asztali Northwood mag 11/2002-ben.
MT megvlósításához szükséges többletráfordítás:
• Duplikált architektúra állapot, mint például
• utasítás pointer,• általános célú regiszterek,• vezérlő regiszterek,• APIC (Advanced Programable Interrupt Controller) regiszterek,• néhány további regiszter.
5. Szimultán többszálúság
![Page 70: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/70.jpg)
Ábra 5.1. Intel Pentium 4 esetében látható a processzor erőforrások duplázottsága, így biztosítják a hyperthreading technológiát. A Hyperthreadinghez szükséges továbbá egyéb mutatók és vezérlő logika duplázása, ezek az ábrán nincsenek feltüntetve.
Forrás: Koufaty D. and Marr D.T. „Hyperthreading Technology in the Netburst Microarchitecture, IEEE. Micro, Vol. 23, No.2, March-April 2003, pp. 56-65.
5.2 Esettanulmányok 1: Intel Pentium 4 / HT (1)
![Page 71: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/71.jpg)
5.2 Esettanulmányok 1: Intel Pentium 4 / HT (2)
• További bővítések az MT támogatására (szál mikroállapot):• TC-bejegyzések (Trace cache) megjelölése,• BHB (Branch History Buffer) duplikált,• Global History Table megjelölt,• RAS (Return Address Stack) duplikált,• Átnevező táblák duplikáltak,• ROB bejegyzések jelöltek (tagged).
Az Intel az SMT-t Hyperthreading (HT) névvel illeti
A Northwood alapú DP és MP szerver magokban jelentek meg (2/2002 és 3/2002)(a magok neve Prestonia és Foster MP), ezt követte az asztali Northwood mag 11/2002-ben.
MT megvlósításához szükséges többletráfordítás:
• Duplikált architektúra állapot, mint például
• utasítás pointer,• általános célú regiszterek,• vezérlő regiszterek,• APIC (Advanced Programable Interrupt Controller) regiszterek,• néhány további regiszter.
![Page 72: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/72.jpg)
5.2 Esettanulmányok 1: Intel Pentium 4/HT (3)
Ábra 5.2: SMT futószalag Intel Pentium 4/HT processzoron
Forrás: Marr T.T. et al. „Hyper-Threading Technology Architecture and Microarchitecture”,Intel Technology Journal, Vol. 06, Issue 01, Febr 14, 2002, pp. 4-16
![Page 73: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/73.jpg)
5.2 Esettanulmányok 1: Intel Pentium 4 / HT (4)
Szükséges lapkaméret növelés MT esetében: kevesebb, mint 5 %.
Egyszálas/kétszálas mód:
Egyszálas teljesítmény csökkenésének megakadályozása érdekében a megosztott erőforrások kombinálhatók.
Az Intel az SMT-t Hyperthreading (HT) névvel illeti
A Northwood alapú DP és MP szerver magokban jelentek meg (2/2002 és 3/2002)(a magok neve neve Prestonia és Foster MP), ezt követte az asztali Northwood mag 11/2002-ben.
MT megvlósításához szükséges többletráfordítás:
• Duplikált architektúra állapot, mint például
• utasítás pointer,• általános célú regiszterek,• vezérlő regiszterek,• APIC (Advanced Programable Interrupt Controller) regiszterek,• néhány további regiszter.
• További fejlesztések az MT támogatására (szál mikroállapot):• TC-bejegyzések (Trace cache) megjelölése,• BHB (Branch History Buffer) duplikált,• Global History Table megjelölt,• RAS (Return Address Stack) duplikált,• Átnevező táblák duplikáltak,• ROB bejegyzések jelöltek (tagged).
![Page 74: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/74.jpg)
5.2 Esettanulmányok 2: Alpha 21464 (V8) (1)
Alpha 21264 Alpha 21464
GPRsFPRs
8080
Mag bővítmény 4-utas többszálúsághoz:
• Replikált szálállapotok (4x) biztosítása:
PC, architekturális regiszterek (az összevont GPR és FPR architekturális és átnevezési regiszter fájlok méretének növelésével):
8-utas superskalár, 2003-ra volt ütemezve, de 2001 júniusában törölték az Itánium család miatt
512
Forrás: :Preston R. P. and all., Design of an 8-wide Superscalar RISC Microprocessor with Simultaneous Mltithreading”, Proc. ISSCC, 2002, pp. 334-243
2001-ben az Alpha teljes intellektuális tulajdonát eladták az Intelnek
![Page 75: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/75.jpg)
5.2 Esettanulmányok 2: Alpha 21464 (V8) (2)
Ábra 5.3: SMT futószalag Alpha 21464 (V8) processzoron
Better answers
SMT PipelineSMT Pipeline
Fetch Decode/Map
Queue RegRead
Execute Dcache/Store Buffer
RegWrite
Retire
IcacheDcache
PC
RegisterMap
Regs Regs
Forrás: Mukkherjee S., „The Alpha 21364 and 21464 Microprocessors,” http://www.compaq.com
![Page 76: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/76.jpg)
5.2 Esettanulmányok 2: Alpha 21464 (V8) (3)
Register Maps,
Forrás: :Preston R. P. and all., Design of an 8-wide Superscalar RISC Microprocessor with Simultaneous Mltithreading”, Proc. ISSCC, 2002, pp. 334-243
Alpha 21264 Alpha 21464
GPRsFPRs
8080
Mag bővítmény 4-utas többszálúsághoz:
• Replikált szálállapotok (4x) biztosítása:
PC, architekturális regiszterek (az összevont GPR és FPR architekturális és átnevezési regiszter fájlok méretének növelésével):
8-utas superskalár, 2003-ra volt ütemezve, de 2001 júniusában törölték az Itánium család miatt
512
2001-ben az Alpha teljes intellektuális tulajdonát eladták az Intelnek
• Replikált szálállapotok (4x) biztosítása:
![Page 77: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/77.jpg)
5.2 Esettanulmányok 2: Alpha 21464 (V8) (4)
Ábra 5.4: SMT futószalag Alpha 21464 (V8) processzoron
Better answers
SMT PipelineSMT Pipeline
Fetch Decode/Map
Queue RegRead
Execute Dcache/Store Buffer
RegWrite
Retire
IcacheDcache
PC
RegisterMap
Regs Regs
Forrás: Mukkherjee S., „The Alpha 21364 and 21464 Microprocessors,” http://www.compaq.com
![Page 78: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/78.jpg)
5.2 Esettanulmányok 2: Alpha 21464 (V8) (5)
Forrás: :Preston R. P. and all., Design of an 8-wide Superscalar RISC Microprocessor with Simultaneous Mltithreading”, Proc. ISSCC, 2002, pp. 334-243
Alpha 21264 Alpha 21464
GPRsFPRs
8080
Mag bővítmény 4-utas többszálúsághoz:
• Replikált szálállapotok (4x) biztosítása:
PC, architekturális regiszterek (az összevont GPR és FPR architekturális és átnevezési regiszter fájlok méretének növelésével):
8-utas superskalár, 2003-ra volt ütemezve, de 2001 júniusában törölték az Itánium család miatt
512
2001-ben az Alpha teljes intellektuális tulajdonát eladták az Intelnek
Register Maps,
• Replikált szálállapotok (4x) biztosítása:
Szükséges lapkaméret növelés ~ 6 %.
![Page 79: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/79.jpg)
5.2 Esettanulmányok 3: IBM POWER5 (1)
POWER5 továbbfejlesztése POWER4-hez képest:
• lapkára szerelt memória vezérlő,
![Page 80: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/80.jpg)
Ábra 5.5: POWER4 és POWER5 rendszer struktúrák
Forrás: R. Kalla, B. Sinharoy, J.M. Tendler: IBM Power5 chip: A Dual-core multithreaded Processor, IEEE. Micro, Vol. 24, No.2, March-April 2004, pp. 40-47.
FabricController
5.2 Esettanulmányok 3: IBM POWER5 (2)
![Page 81: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/81.jpg)
5.2 Esettanulmányok 3: IBM POWER5 (3)
POWER5 továbbfejlesztése POWER4-hez képest:
• lapkára helyezett memória vezérlő,• elkülönített L3/memória csatolás,
![Page 82: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/82.jpg)
Ábra 5.6: POWER4 és POWER5 rendszer struktúrák
Forrás: R. Kalla, B. Sinharoy, J.M. Tendler: IBM Power5 chip: A Dual-core multithreaded Processor, IEEE. Micro, Vol. 24, No.2, March-April 2004, pp. 40-47.
FabricController
5.2 Esettanulmányok 3: IBM POWER5 (4)
![Page 83: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/83.jpg)
5.2 Esettanulmányok 3: IBM POWER5 (5)
POWER5 továbbfejlesztése POWER4-hez képest:
• lapkára szerelt memória vezérlő,• elkülönített L3/memória csatolás,• kétszálú.
![Page 84: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/84.jpg)
5.2 Esettanulmányok 3: IBM POWER5 (6)
Ábra 5.7: IBM POWER5 mikroarchitektúra
Forrás: Kalla R., „IBM's POWER5 Micro Processor Design and Methodology”, IBM Corporation, 2003
![Page 85: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/85.jpg)
5.2 Esettanulmányok 3: IBM POWER5 (7)
Ábra 5.8: IBM POWER5 Chip
Forrás: Kalla R., „IBM's POWER5 Micro Processor Design and Methodology”, IBM Corporation, 2003
![Page 86: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/86.jpg)
5.2 Esettanulmányok 3: IBM POWER5 (8)
POWER4 POWER5
GPR-ekFPR-ek
80 12072 120
Magbővítmények többszálúsághoz:
• Duplikált szálállapotok biztosítása a következőkhöz:
PC, architekturális regiszterek (az összevont GPR és FPR architekturális és átnevezési regiszter fájlok méretének növelésével):
![Page 87: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/87.jpg)
5.2 Esettanulmányok 3: IBM POWER5 (9)
Ábra 5.9: SMT futószalag IBM POWER5 processzoron
Forrás: Kalla R., „IBM's POWER5 Micro Processor Design and Methodology”, IBM Corporation, 2003
![Page 88: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/88.jpg)
5.2 Esettanulmányok 3: IBM POWER5 (10)
• Duplikált szálmikroállapot biztosítása a következőkhöz:
Return Address Stack, Group Completion (ROB)
POWER4 POWER5
GPR-ekFPR-ek
80 12072 120
Magbővítmények többszálúsághoz:
• Duplikált szálállapotok biztosítása a következőkhöz:
PC, architekturális regiszterek (az összevont GPR és FPR architekturális és átnevezési regiszter fájlok méretének növelésével):
![Page 89: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/89.jpg)
5.2 Esettanulmányok 3: IBM POWER5 (11)
Ábra 5.10: SMT futószalag IBM POWER5 processzoron
Forrás: Kalla R., „IBM's POWER5 Micro Processor Design and Methodology”, IBM Corporation, 2003
![Page 90: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/90.jpg)
5.2 Esettanulmányok 3: IBM POWER5 (12)
• Érzékeny, szűknek bizonyuló erőforrások bővítése (duplikálása), például
Instruction Buffer, Store Queue
POWER4 POWER5
GPR-ekFPR-ek
80 12072 120
Magbővítmények többszálúsághoz:
• Duplikált szálállapotok biztosítása a következőkhöz:
PC, architekturális regiszterek (az összevont GPR és FPR architekturális és átnevezési regiszter fájlok méretének növelésével):
• Duplikált szálmikroállapot biztosítása a következőkhöz:
Return Address Stack, Group Completion (ROB)
![Page 91: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/91.jpg)
5.2 Esettanulmányok 3: IBM POWER5 (13)
Ábra 5.11: SMT futószalag IBM POWER5 processzoron
Forrás: Kalla R., „IBM's POWER5 Micro Processor Design and Methodology”, IBM Corporation, 2003
![Page 92: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/92.jpg)
5.2 Esettanulmányok 3: IBM POWER5 (14)
• Érzékeny, szűknek bizonyuló erőforrások bővítése (duplikálása), például
Instruction Buffer, Store Queue
POWER4 POWER5
GPR-ekFPR-ek
80 12072 120
Magbővítmények többszálúsághoz:
• Duplikált szálállapotok biztosítása a következőkhöz:
PC, architekturális regiszterek (az összevont GPR és FPR architekturális és átnevezési regiszter fájlok méretének növelésével):
• Duplikált szálmikroállapot biztosítása a következőkhöz:
Return Address Stack, Group Completion (ROB)
Szükséges lapkaméret növelés SMT-hez: ~ 10 %.
![Page 93: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/93.jpg)
5.2 Esettanulmányok 3: IBM POWER5 (15)
Szálak kiegyensúlyozatlan végrehajtása:
(an enhancement of the single mode/dual mode thred execution model)
• A szálaknak 8 prioritási szintjük van (0...7), amit a HW/SW irányít,• a szálak dekódolási rátáját a hozzájuk rendelt prioritás határozza meg
Forrás: Kalla R., „IBM's POWER5 Micro Processor Design and Methodology”, IBM Corporation, 2003
Ábra 5.12: Szálak kiegyzensúlyozatlan végrehajtása IBM POWER5 processzoron
![Page 94: Többszálú Processzorok](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56814064550346895dabdcf1/html5/thumbnails/94.jpg)
5.2 Esettanulmányok 3: IBM POWER5 (16)
Fejlesztési ráfordítás:
• Elméleti fázis: ~ 10 ember/ 4 hónap• Magas szintű tervezési fázis: ~ 50 ember/ 6 hónap• Megvalósítási fázis: ~ 200 ember/ 12-18 hónap
Forrás: Kalla R., „IBM's POWER5 Micro Processor Design and Methodology”, IBM Corporation, 2003