Többszálú Processzorok Sima Dezső 2008 őszi félév (Ver. 2.0)  Sima Dezső, 2007.

Slides:



Advertisements
Hasonló előadás
A processzorok rövid történelme, áttekintése
Advertisements

Alaplap.
64 bites architektúra, csapdák és átjárók Tóth Sándor Terméktámogatási tanácsadó.
1 Számítógépek felépítése 9. előadás I/O rendszerek.
Operációs rendszerek Bevezetés.
A mikroprocesszor 1. rész.
Számítógép architektúra
Operációs rendszerek 1. Takács Béla
Ütemezési algoritmusok (FCFS, SJF, RR)
 Többszálúság  Gyártási költségek  A modellnevek megváltoztatása  Processzor magok  Athlon és Phenom összehasonlítása.
A többmagos processzorok
Fejlett Programozási Technológiák II. Világos Zsolt 12. gyakorlat.
4. Gyires Béla Informatikai Nap május 6.1 Márton Ágnes Debreceni Egyetem Informatikai Kar Informatikai Rendszerek és Hálózatok Tanszék A Virtual.
A számítógéprendszer.
A memória.
Az operációs rendszerek
Mikroszámítógépek I 8085 processzor.
Mikroszámítógépek I 8085 processzor.
Utasítás végrehajtás lépései
Paradigmaváltások a processzorfejlesztésben Sima Dezső augusztus 25.
3. Szálszinten párhuzamos feldolgozás (TLP)
Többmagos Processzorok (1) Sima Dezső 2008 őszi félév (Ver. 2.1)  Sima Dezső, 2008.
Korszakváltás a processzorok fejlődésében Sima Dezső 2011 őszi félév.
Korszakváltás a processzorok fejlődésében Sima Dezső 2007 őszi félév.
Korszakváltás a processzorok fejlődésében Sima Dezső 2009 őszi félév.
PIC processzor és környezete
CISC - RISC processzor jellemzők
Többmagos processzorok
Module 1: A Microsoft Windows XP Professional telepítése
1 Operációs rendszerek Az NT folyamatok kezelése.
1 Operációs rendszerek Az ütemezés megvalósítása.
Számítástechnika a KFKI AEKI-ben
Demo/teszt környezetek Szerver konszolidáció Adatközpontok alapja.
Programrendszer 2. Erőforrás – erőforrás elosztás 3. Indítja és ütemezi a programokat 4. kommunikáció 2 Takács Béla.
Determinisztikus vonások a mikroprocesszorok fejlődésében Sima Dezső május 27.
Operációs Rendszerek II.
Számítógépes üzemmódok
Paradigmaváltások a processzorfejlesztésben Sima Dezső augusztus 25.
III. Többmagos Processzorok (1) Sima Dezső 2007 tavaszi félév (Ver. 2.0)  Sima Dezső, 2007.
Korszakváltás a processzorok fejlődésében Sima Dezső Szeptember.
Az ILP feldolgozás fejlődése
Milyen szemléletváltást követel meg a választható portfoliós rendszer bevezetése a pénztáraktól? Pénztárkonferencia 2008 Biró Gergely.
Budapesti Műszaki és Gazdaságtudományi Egyetem Elektronikus Eszközök Tanszéke MIKROELEKTRONIKA, VIEEA306 Integrált áramkörök: áttekintés,
APEX BMF, II. félév.
Processzorok.
Az operációs rendszerek feladata, fajtái, felépítése
Processzrokezelés. Miért alakult ki a processzor? Kezdetben céláramkörök, önálló chipek Ötlet: miért nem készítünk egy chipet, ami végrehajtja az összes.
Magas rendelkezésre állású Hyper-V rendszer építése
Óravázlat Készítette: Kucsera Mihály és Toldi Miklós
Óravázlat Készítette: Kucsera Mihály 2011.
Felhő PC demonstráció Gergely Márk MTA SZTAKI Laboratory of Parallel and Distributed Systems
A többmagos processzorok világa Páter-Részeg Attila (PAASABI.ELTE) Beadandó I.
Ismerkedjünk tovább a számítógéppel
Írja fel a tizes számrendszerbeli
A Windows Server 2003 termékcsalád A Windows Server 2003 termékcsaládnak 4 tagja van: Windows Server 2003, Standard Edition Windows Server 2003, Enterprise.
IT ALAPFOGALMAK HARDVER.
Mikroprocesszorok (Microprocessors, CPU-s)
Piramis klaszter rendszer
A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg. Számítógép- architektúrák dr. Kovács György DE AVK GAIT.
ifin811/ea1 C Programozás: Hardver alapok áttekintése
Memóriakezelés feladatok Feladat: 12 bites címtartomány. 0 ~ 2047 legyen mindig.
Számítógépek felépítése 4. előadás ALU megvalósítása, vezérlő egység
1 Számítógépek felépítése 5. előadás a CPU gyorsítása, pipeline, cache Dr. Istenes Zoltán ELTE-TTK.
IT ALAPFOGALMAK OPERÁCIÓS RENDSZEREK.
Az ILP feldolgozás fejlődése
Korszakváltás a processzorok fejlődésében
Fejlett pipeline megoldások IMSC 2019
Pipeline példák (IMSC, 2019).
Cache példák 2019 (IMSC).
Számítógépek felépítése 9. előadás I/O rendszerek
Előadás másolata:

Többszálú Processzorok Sima Dezső 2008 őszi félév (Ver. 2.0)  Sima Dezső, 2007

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

1. Bevezetés

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)

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ása egyszálú processzoron időosztással Program/OS többszálú futtatása tö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űleg az 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)

Többszálú processzorok megvalósítási lehetőségei Többmagos processzorokTöbbszálú magok Chip L3/Memory L2/L3 Core L3/Memory MT core L2/L3 (SMP: Symmetric Multiprocessing CMP: Chip Multiprocessing) 1. Bevezetés (3)

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)

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)

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)

Soros prog. Többfeladatos programozásTöbbszálú programozás P2 Process / Thread Management Example P1 P2 P3 P2 P1 P3 fork() join() P1 T1 exec() T3 T2 T5 T4 CreateThread() T6 Create Process() Soros-, többfeladatos-, és többszálú programozás elve

Sequentia l programs Multitask programsMultithreaded programs Software megvalósításSoftware impl.Hardware impl. Legacy OS support Traditional UnixMost modern OS’s (Windows NT/2000, OS/2, Unix+Posix) LowLow-mediumHighHigher No API level support Process life cycle management APIProcess and thread life cycle management API Explicit threading API OpenMP Process and thread life cycle management API Explicit threading API OpenMP OS Support Software Development Performance Level Multiprocessing és multithreading megvalósítása

2. Áttekintés

Szálak ütemezése szoftver többszálúság esetén, hagyományos szuperskalár processzoron Forrás: Mazzucco P., „Fundamentals of 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)

Forrás: Mazzucco P., „Fundamentals of 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

Durván szemcs. MT Szálütemezés többszálú magok esetében 2. Áttekintés (2)

Forrás: Mazzucco P., „Fundamentals of 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.

Durván szemcs. MT Finoman szemcs. MT Szálütemezés többszálú magok esetében 2. Áttekintés (3)

Forrás: Mazzucco P., „Fundamentals of 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.

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)

Forrás: Mazzucco P., „Fundamentals of 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).

Ábra 2. 6 : Intel t öbbmagos processzor család jai 8CST QCMT QCST DCMT DCST Q2Q3Q4Q1Q2Q3Q4Q Pentium EE 955/965 (Presler) 2*188 mtrs./130 W 1/06 65 nm/2*81 mm 2 2-way MT/core Pentium EE 840 (Smithfield) 230 mtrs./130 W 5/05 90 nm/2*103 mm 2 2-way MT/core 2. MCP-k áttekintése (1)

Ábra 2. 7.: Intel kétmagos Xeon DP-család ja 8CST QCMT QCST DCMT DCST Q2Q Q2Q 3Q4Q 3Q4Q Xeon DP /05 2*169 mtrs./135 W 90 nm/2*135 mm 2 (Paxville DP) 2-way MT/core 2*188 mtrs./95/130 W Xeon /06 65 nm/2*81 mm 2 (Dempsey) 2-way MT/core 2. MCP-k áttekintése (2)

Ábra 2. 8.: Intel kétmagos Xeon MP-család ja 8CST QCMT QCST DCMT DCST Q2Q Q2Q 3Q4Q 3Q4Q Xeon /05 2*169 mtrs./95/150 W 90 nm/2*135 mm 2 (Paxville MP) 2-way MT/core 1328 mtrs./95/150 W Xeon /06 65 nm/435 mm 2 (Tulsa) 2-way MT/core 2. MCP-k áttekintése (3)

Ábra 2. 9.: Intel kétmagos EPIC alapú szerver családja 8CST QCMT QCST DCMT DCST Q2Q Q2Q 3Q4Q 3Q4Q 2-way MT/core 9x00 (Montecito) 1720 mtrs./104 W 7/06 90 nm/596 mm 2 2. MCP-k áttekintése (4)

Ábra : IBM többmagos szerver családjai POWER5 POWER5+ Cell BE POWER6 8CST QCMT QCST DCMT DCST Q4Q 3Q4Q ~ ~ ~ ~ 5/ Q2Q ~ ~ 10/ mtrs./70 W 3Q4Q mtrs./95 W Q2Q 3Q4Q mtrs./~100W Q2Q 90 nm/230 mm 2 90 nm/221 mm 2 65 nm/341 mm mtrs./80W (est.) 130 nm/389 mm 2 2-way MT/core (PPE:2-way MT) 2-way MT/core (SSEs: no MT) 2. MCP-k áttekintése (5)

Ábra : Sun és Fujitsu többmagos szerver családjai 8CST QCMT QCST DCMT DCST Q2Q Q2Q 3Q4Q Q2Q 3Q4Q Q2Q ~ ~ 3Q 8CMT UltraSPARC T1 11/ mtrs./63 W (Niagara) UltraSPARC T (Niagara II) APL SPARC64 VI mtrs./120 W (Olympus) APL SPARC64 VII 2008 (Jupiter) 90 nm/421 mm 2 65 nm/464 mm 2 65 nm/342 mm 2 90 nm/379 mm 2 3Q 4-way MT/core 8-way MT/core 2-way MT/core 4Q ~120 W 2-way MT/core 72 W (est.) 2. MCP-k áttekintése (6)

Ábra : RMI többmagos XLR-családja (skalár RISC) 8CST QCMT QCST DCMT DCST Q2Q 3Q4Q Q2Q 3Q4Q 8CMT XLR 5xx 5/ mtrs./10-50 W 90 nm/~220 mm 2 4-way MT/core 2. MCP-k áttekintése (7)

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

3. Durván szemcsézett többszálúság

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

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

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

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 IERAT: Effective to real address translation cache (2x64 entries) 6XX bus

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

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

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

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

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

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

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

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

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

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

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

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.

Á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

4. Finoman szemcsézett többszálúság

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

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

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

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)

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

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)

4.2 Esettanulmány: SUN UltraSPARC T1 (5) Ábra 4.2: SUN UltraSPARC T1 chip Forrás:

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

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

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!

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

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:

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:

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

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:

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

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

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 (A t0 szál összeadó művelete átkerül a futószalagra, cache találatot feltételezve)

5. Szimultán többszálúság

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

Skalár alapú Szimultán MT Szuperskalár alapú VLIW alapú Pentium 4 (2002) 2T DEC (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

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

Á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 Esettanulmányok 1: Intel Pentium 4 / HT (1)

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.

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

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

5.2 Esettanulmányok 2: Alpha (V8) (1) Alpha Alpha GPRs FPRs 80 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 ben az Alpha teljes intellektuális tulajdonát eladták az Intelnek

5.2 Esettanulmányok 2: Alpha (V8) (2) Ábra 5.3: SMT futószalag Alpha (V8) processzoron Forrás: Mukkherjee S., „The Alpha and Microprocessors,”

5.2 Esettanulmányok 2: Alpha (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 Alpha Alpha GPRs FPRs 80 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 ben az Alpha teljes intellektuális tulajdonát eladták az Intelnek Replikált szálállapotok (4x) biztosítása:

5.2 Esettanulmányok 2: Alpha (V8) (4) Ábra 5.4: SMT futószalag Alpha (V8) processzoron Forrás: Mukkherjee S., „The Alpha and Microprocessors,”

5.2 Esettanulmányok 2: Alpha (V8) (5) Forrás: :Preston R. P. and all., Design of an 8-wide Superscalar RISC Microprocessor with Simultaneous Mltithreading”, Proc. ISSCC, 2002, pp Alpha Alpha GPRs FPRs 80 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 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 %.

5.2 Esettanulmányok 3: IBM POWER5 (1) POWER5 továbbfejlesztése POWER4-hez képest: lapkára szerelt memória vezérlő,

Á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 Fabric Controller 5.2 Esettanulmányok 3: IBM POWER5 (2)

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,

Á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 Fabric Controller 5.2 Esettanulmányok 3: IBM POWER5 (4)

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

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

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

5.2 Esettanulmányok 3: IBM POWER5 (8) POWER4 POWER5 GPR-ek FPR-ek 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):

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

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-ek FPR-ek 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):

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

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-ek FPR-ek 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)

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

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-ek FPR-ek 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 %.

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

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/ hónap Forrás: Kalla R., „IBM's POWER5 Micro Processor Design and Methodology”, IBM Corporation, 2003