Tbbszl Processzorok Sima Dezs 2008 szi flv Ver
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
1. Bevezetés (1) 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 Szál (thread): dinamikus végrehajtási folyamat Többszálúság főbb jellemzői A szálak • 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.
1. Bevezetés (2) Többszálúság megvalósítása (többszálú alkalmazás/OS futtatásakor) Szoftver megvalósítás 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ö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 A szálak között gyors kontextusváltás szükséges.
1. Bevezetés (3) Többszálú processzorok megvalósítási lehetőségei Többmagos processzorok Többszálú magok (SMP: Symmetric Multiprocessing CMP: Chip Multiprocessing) Chip Core L 2/L 3 MT core Core L 2/L 3 L 3/Memory
1. Bevezetés (4) Szoftver többszálúság követelményei: Több szálállapot nyilvántartása/kezelése az OS által (PC, FX/FP architekturális regiszterek, állapot regiszterek) 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
1. Bevezetés (5) 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 (6) Többszálú operációs rendszerek: • Windows NT • OS/2 • Unix w/Posix • 90 -es évek eleje óta kifejlesztett operációs rendszerek döntő többsége
Soros-, többfeladatos-, és többszálú programozás elve Soros prog. P 1 Többfeladatos programozás P 1 Többszálú programozás P 1 fork() Process / Thread Management Example T 1 Create. Thread() P 2 exec() T 2 fork() Create Process() T 3 P 2 P 3 P 2 T 4 T 5 exec() T 6 P 3 join()
Multiprocessing és multithreading megvalósítása Software Development Performance Level OS Support Sequentia l programs Multitask programs Software megvalósítás Multithreaded programs Software impl. Hardware impl. Legacy OS support Traditional Unix Most modern OS’s (Windows NT/2000, OS/2, Unix+Posix) Low-medium Higher No API level support Process life cycle management API Process and thread life cycle management API Explicit threading API Open. MP
2. Áttekintés
2. Áttekintés (1) 2. 1 Szálak ütemezése szoftver többszálúság esetén, hagyományos szuperskalár processzoron 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). Ábra 2. 1: Szálak ütemezése hagyományos szuperskalár processzoron Forrás: Mazzucco P. , „Fundamentals of Multithreading, ” http: //www. slcentral. com/articles/01/6/multithreading
Szálak ütemezése CMP-n (Durván szemcsézettség) A magok a szálakat egymástól függetlenül futtatják Ábra 2. 2: Szálak ütemezése durva szemcsézettséggel Forrás: Mazzucco P. , „Fundamentals of Multithreading, ” http: //www. slcentral. com/articles/01/6/multithreading
2. Áttekintés (2) Szálütemezés többszálú magok esetében Durván szemcs. MT
A szálakat gyors, HW által támogatott kontextus váltásokkal cserélik. Ábra 2. 3: Szálak ütemezése 4 -utas durva szemcsézettségű többszálas processzoron Forrás: Mazzucco P. , „Fundamentals of Multithreading, ” http: //www. slcentral. com/articles/01/6/multithreading
2. Áttekintés (3) Szálütemezés többszálú magok esetében Durván szemcs. MT Finoman szemcs. MT
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. Ábra 2. 4: Szálak ütemezése 4 -utas finom szemcsézettségű többszálas processzoron Forrás: Mazzucco P. , „Fundamentals of Multithreading, ” http: //www. slcentral. com/articles/01/6/multithreading
2. Áttekintés (4) Szálütemezés többszálú magok esetében Durván szemcs. MT Finoman szemcs. MT Szimultán MT (SMT)
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. 5: Szálak ütemezése 4 -utas szimultán többszálas processzoron Forrás: Mazzucco P. , „Fundamentals of Multithreading, ” http: //www. slcentral. com/articles/01/6/multithreading
2. MCP-k áttekintése (1) 8 CST QCMT QCST 1/06 5/05 DCMT Pentium EE 840 (Smithfield) Pentium EE 955/965 (Presler) 90 nm/2*103 mm 2 230 mtrs. /130 W 2 -way MT/core 65 nm/2*81 mm 2 2*188 mtrs. /130 W 2 -way MT/core DCST 1 Q 2 Q 3 Q 2005 4 Q 1 Q 2 Q 3 Q 2006 Ábra 2. 6: Intel többmagos processzor családjai 4 Q
2. MCP-k áttekintése (2) 8 CST QCMT QCST 6/06 10/05 DCMT Xeon DP 2. 8 (Paxville DP) Xeon 5000 (Dempsey) 90 nm/2*135 mm 2 2*169 mtrs. /135 W 2 -way MT/core 65 nm/2*81 mm 2 2*188 mtrs. /95/130 W 2 -way MT/core DCST 1 Q 2 Q 2005 3 Q 4 Q 1 Q 2 Q 2006 3 Q Ábra 2. 7. : Intel kétmagos Xeon DP-családja 4 Q
2. MCP-k áttekintése (3) 8 CST QCMT QCST DCMT 11/05 8/06 Xeon 7000 (Paxville MP) Xeon 7100 (Tulsa) 90 nm/2*135 mm 2 2*169 mtrs. /95/150 W 2 -way MT/core 65 nm/435 mm 2 1328 mtrs. /95/150 W 2 -way MT/core DCST 1 Q 2 Q 2005 3 Q 4 Q 1 Q 2 Q 2006 3 Q Ábra 2. 8. : Intel kétmagos Xeon MP-családja 4 Q
2. MCP-k áttekintése (4) 8 CST QCMT QCST 7/06 DCMT 9 x 00 (Montecito) 90 nm/596 mm 2 1720 mtrs. /104 W 2 -way MT/core DCST 1 Q 2 Q 2005 3 Q 4 Q 1 Q 2 Q 2006 3 Q 4 Q Ábra 2. 9. : Intel kétmagos EPIC alapú szerver családja
2. MCP-k áttekintése (5) 2006 8 CST Cell BE 90 nm/221 mm 2 234 mtrs. /95 W (PPE: 2 -way MT) (SSEs: no MT) QCMT QCST 5/04 DCMT 10/05 POWER 5 2007 POWER 5+ 130 nm/389 mm 2 276 mtrs. /80 W (est. ) 2 -way MT/core POWER 6 90 nm/230 mm 2 276 mtrs. /70 W 2 -way MT/core 65 nm/341 mm 2 750 mtrs. /~100 W 2 -way MT/core DCST 3 Q 4 Q 2001 ~ ~ 3 Q 4 Q 2002 ~ ~ 1 Q 2 Q 3 Q 4 Q 1 Q 2 Q 2004 Ábra 2. 10. : IBM többmagos szerver családjai 2006 3 Q 4 Q 1 Q 2 Q 2007
2. MCP-k áttekintése (6) 11/2005 8 CMT 2007 Ultra. SPARC T 1 (Niagara) Ultra. SPARC T 2 (Niagara II) 90 nm/379 mm 2 279 mtrs. /63 W 4 -way MT/core 65 nm/342 mm 2 72 W (est. ) 8 -way MT/core 8 CST 2008 QCMT APL SPARC 64 VII (Jupiter) 65 nm/464 mm 2 ~120 W 2 -way MT/core QCST 2007 DCMT APL SPARC 64 VI (Olympus) 90 nm/421 mm 2 540 mtrs. /120 W 2 -way MT/core DCST 1 Q 2 Q 2004 3 Q 4 Q 1 Q 2 Q 2005 3 Q 4 Q ~ ~ 1 Q 2 Q 2007 3 Q 4 Q Ábra 2. 11. : Sun és Fujitsu többmagos szerver családjai 1 Q 2 Q 2008 3 Q
2. MCP-k áttekintése (7) 5/05 8 CMT XLR 5 xx 90 nm/~220 mm 2 333 mtrs. /10 -50 W 4 -way MT/core 8 CST QCMT QCST DCMT DCST 1 Q 2 Q 2005 3 Q 4 Q 1 Q 2 Q 2006 3 Q Ábra 2. 12. : RMI többmagos XLR-családja (skalár RISC) 4 Q
2. 2. Többszálú processzorok áttekintése (1) Mögöttes mag(ok) Skalár mag(ok) SUN Ultra. SPARC T 1 (2005) (Niagara) up to 8 cores, 4 threads Szuperskalár mag(ok) VLIW mag(ok) IBM RS 64 IV (2000) (SStar) 2 -way SUN MAJC 5200 (2000) Quad-core/4 -way (dedicated use) Pentium 4 (2002) 2 -way Intel Montecito (2006? ) Dual-core/2 -way DEC 21464 (2003) Dual-core/2 -way IBM POWER 5 (2005) Dual-core/2 -way Pentium EE 840 (2005) Dual-core/2 -way Pentium EE 955/965 (2005) Dual-core/2 -way
3. Durván szemcsézett többszálúság
3. Durván szemcsézett többszálúság 3. 1 Áttekintés (1) Szálütemezés többszálú magok esetében Durván szemcs. MT Finoman szemcs. MT Szimultán MT (SMT)
3. Durván szemcsézett többszálúság 3. 1 Áttekintés (2) Durván szemcs. MT Skalár alapú Szuperskalár alapú IBM RS 64 IV (2000) (SStar) 2 T VLIW alapú SUN MAJC 5200 (2000) Quad-core/4 T (dedicated use) Intel Montecito (2006? ) Dual-core/2 T
3. 2 Esettanulmányok 1: IBM RS 64 IV (1) Mikroarchitekúra 4 -utas szuperskalár, kétszálas IBM i. Series és p. Series kereskedelmi szerverekben használják. Üzleti szerverterhelésre optimalizálva, úgy mint online tranzakció kezelés, webkiszolgálás, ERP (Enterprise Resource Planning). Utasítás lehívás szélessége: 8 ut. /ciklus Architekturális állapot: • 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 A címfordításhoz használt egységeket duplikálni kell, pl: SRs (Segment Address Reg. s) Duplikált erőforrások: ~ + 5 % chip felület Mind az egyszálas, mind a többszálas futtatási módok támogatása
3. 2 Esettanulmányok 1: IBM RS 64 IV (2) IERAT: Effective to real address translation cache (2 x 64 entries) 6 XX bus Ábra 3. 1: IBM’s RS 64 IV mikroarchitektúra Forrás: Borkenhagen J. M. et al. „A multithreaded Power. PC processor for commercial servers”, IBM J. Res. Develop. Vol. 44. No. 6. Nov. 2000, pp. 885 -898
3. 2 Esettanulmányok 1: IBM RS 64 IV (3) Cél: üzleti alkalmazások • • nagyméretű feldolgozandó feladatok és gyakorta előforduló feladat váltások • nagyméretű L 1 -re van szükség • gyakori cache hiány (cache miss) 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 A szálak prioritása megfelelő utasításokkal megváltoztatható
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 Power. PC processor for commercial servers”, IBM J. Res. Develop. Vol. 44. No. 6. Nov. 2000, pp. 885 -898
3. 2 Esettanulmányok 2: SUN MAJC 5200 (1) Cél: Dedikált felhasználás, komoly grafikát, nagysebességű hálózatot kiszolgáló teljesítmény Mikroarchitektúra: • • • 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. Minden processzor 4 -szélességű VLIW és 4 -utas többszálúságra képes.
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) Szálkezelés Minden processzor a 4 funkcionális egységével 4 -utas többszálú módban üzemelhet. (a Sun ezt Vertical Multithreading-nek nevezi) 4 -utas többszálúság megvalósítása: minden szálat a 4 FU valamelyike hajtja végre („Vertical multithreading”) Szálcsere: 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.
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: Csúcsszerverek Fő különbségek az Itanium 2 és a Montecito között: • Osztott használatú L 2 cachek, • nagyméretű egyesített L 3 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 %.
3. 2 Esettanulmányok 3: Intel Montecito (2) Ábra 3. 6: Intel Itanium 2 mikroarchitektúrája Forrás: Mc. Nairy, C. , „Itanium 2”, IEEE Micro, March/April 2003, Vol. 23, No. 2, pp. 44 -55
3. 2 Esettanulmányok 3: Intel Montecito (3) Ábra 3. 7: Intel Montecito mikroarchitektúrája (ALAT: Advanced Load Address Table) Forrás: Mc. Nairy, C. , „Montecito”, IEEE Micro, March/April 2005, Vol. 25, No. 2, pp. 10 -20
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 L 3 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.
3. 2 Esettanulmányok 3: Intel Montecito (5) Ábra 3. 8: Összehasonlítás: kétszálas Intel Montecito vs egyszálas processzor Forrás: Mc. Nairy, C. , „Montecito”, IEEE Micro, March/April 2005, Vol. 25, No. 2, pp. 10 -20
4. Finoman szemcsézett többszálúság
4. Finoman szemcsézett többszálúság 4. 1 Áttekintés (1) Szálütemezés többszálú magok esetében Durván szemcs. MT Finoman szemcs. MT Szimultán MT (SMT)
4. Finoman szemcsézett többszálúság 4. 1 Áttekintés (2) Finoman szemcs. MT Round robin kiválasztó politika Skalár alapú Szuperskalár alapú VLIW alapú Prioritás alapú kiválasztó politika Skalár alapú Szuperskalár alapú SUN Ultra. SPARC T 1 (2005) (Niagara) up to 8 cores/4 T VLIW alapú
4. 2 Esettanulmány: SUN Ultra. SPARC T 1 (1) Cél: Kereskedelmi szerver alkalmazások, mint például • webkiszolgálás, • tranzakció feldolgozás, • ERP (Enterprise Resource Planning – erőforrás tervezés), • DSS (Decision Support Systems – döntéstámogató rendszer) 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
4. 2 Esettanulmány: SUN Ultra. SPARC T 1 (2) Struktúra: • 8 skalár mag, 4 -utas többszálúsággal. • Mind a 32 szál osztozik a 4 modulos 3 MB L 2 cachen.
4. 2 Esettanulmány: SUN Ultra. SPARC T 1 (3) Ábra 4. 1: SUN Ultra. SPARC T 1 blokk diagrammja Forrás: Kongetira P. , et al. „Niagara”, IEEE Micro, March/April 2005, Vol. 25, No. 2, pp. 21 -29
4. 2 Esettanulmány: SUN Ultra. SPARC T 1 (4) Struktúra: • 8 skalár mag, 4 -utas többszálúsággal • Mind a 32 szál osztozik a 4 modulos 3 MB L 2 cachen. • 4 memória csatorna, lapkára integrált DDR 2 memória vezérlőkkel Solaris alatt fut
4. 2 Esettanulmány: SUN Ultra. SPARC T 1 (5) Ábra 4. 2: SUN Ultra. SPARC T 1 chip Forrás: www. princeton. edu/~jdonald/research/hyperthreading/romanescu_niagara. pdf
4. 2 Esettanulmány: SUN Ultra. SPARC T 1 (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 Ultra. SPARC T 1 (7) Ábra 4. 3: SUN Ultra. SPARC T 1 mag mikroarchitektúrája Forrás: Kongetira P. , et al. „Niagara”, IEEE Micro, March/April 2005, Vol. 25, No. 2, pp. 21 -29
4. 2 Esettanulmány: SUN Ultra. SPARC T 1 (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 Ultra. SPARC T 1 (9) Ábra 4. 4: SUN Ultra. SPARC T 1 mag mikroarchitektúrája Forrás: Kongetira P. , et al. „Niagara”, IEEE Micro, March/April 2005, Vol. 25, No. 2, pp. 21 -29
4. 2 Esettanulmány: SUN Ultra. SPARC T 1 (10) 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 Ultra. SPARC T 1 (11) Szálcsere: A szálakat utasításonként cserélhetik Szálak kiválasztása: 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.
4. 2 Esettanulmány: SUN Ultra. SPARC T 1 (12) Ábra 4. 5: SUN Ultra. SPARC T 1 mag mikroarchitektúrája Forrás: Kongetira P. , et al. „Niagara”, IEEE Micro, March/April 2005, Vol. 25, No. 2, pp. 21 -29
4. 2 Esettanulmány: SUN Ultra. SPARC T 1 (13) Szálcsere: A szálakat utasításonként cserélhetik Szálak kiválasztása: 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álkiválasztó politika: a legrégebben futott szál elve 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. 1. Példa: • mind a 4 szál elérhető
4. 2 Esettanulmány: SUN Ultra. SPARC T 1 (14) Ábra 4. 6: Szálcserélő algoritmus a SUN Ultra. SPARC T 1 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
4. 2 Esettanulmány: SUN Ultra. SPARC T 1 (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 Ultra. SPARC T 1 (16) Ábra 4. 7: Szálcserélő algoritmus a SUN Ultra. SPARC T 1 processzoron, ha minden szál elérhető (A t 0 szál összeadó művelete átkerül a futószalagra, cache találatot feltételezve) Forrás: Kongetira P. , et al. „Niagara”, IEEE Micro, March/April 2005, Vol. 25, No. 2, pp. 21 -29
5. Szimultán többszálúság
5. Szimultán többszálúság 5. 1 Áttekintés (1) Szálütemezés többszálú magok esetében Durván szemcs. MT Finoman szemcs. MT Szimultán MT (SMT)
5. Szimultán többszálúság 5. 1 Áttekintés (2) Szimultán MT Skalár alapú Szuperskalár alapú Pentium 4 (2002) 2 T DEC 21464 (2003) Dual-core/2 T IBM POWER 5 (2005) Dual-core/2 T Pentium EE 840 (2005) Dual-core/2 T Pentium EE 955/965 (2005) Dual-core/2 T VLIW alapú
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. 2 Esettanulmányok 1: Intel Pentium 4 / HT (1) Á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 (2) 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. • 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).
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) 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. • 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). 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.
5. 2 Esettanulmányok 2: Alpha 21464 (V 8) (1) 8 -utas superskalár, 2003 -ra volt ütemezve, de 2001 júniusában törölték az Itánium család miatt 2001 -ben az Alpha teljes intellektuális tulajdonát eladták az Intelnek Mag bővítmény 4 -utas többszálúsághoz: • Replikált szálállapotok (4 x) 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): Alpha 21264 GPRs FPRs 80 80 Alpha 21464 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
5. 2 Esettanulmányok 2: Alpha 21464 (V 8) (2) Ábra 5. 3: SMT futószalag Alpha 21464 (V 8) processzoron Forrás: Mukkherjee S. , „The Alpha 21364 and 21464 Microprocessors, ” http: //www. compaq. com
5. 2 Esettanulmányok 2: Alpha 21464 (V 8) (3) 8 -utas superskalár, 2003 -ra volt ütemezve, de 2001 júniusában törölték az Itánium család miatt 2001 -ben az Alpha teljes intellektuális tulajdonát eladták az Intelnek Mag bővítmény 4 -utas többszálúsághoz: • Replikált szálállapotok (4 x) 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): Alpha 21264 GPRs FPRs 80 80 Alpha 21464 512 • Replikált szálállapotok (4 x) biztosítása: 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
5. 2 Esettanulmányok 2: Alpha 21464 (V 8) (4) Ábra 5. 4: SMT futószalag Alpha 21464 (V 8) processzoron Forrás: Mukkherjee S. , „The Alpha 21364 and 21464 Microprocessors, ” http: //www. compaq. com
5. 2 Esettanulmányok 2: Alpha 21464 (V 8) (5) 8 -utas superskalár, 2003 -ra volt ütemezve, de 2001 júniusában törölték az Itánium család miatt 2001 -ben az Alpha teljes intellektuális tulajdonát eladták az Intelnek Mag bővítmény 4 -utas többszálúsághoz: • Replikált szálállapotok (4 x) 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): Alpha 21264 GPRs FPRs 80 80 Alpha 21464 512 • Replikált szálállapotok (4 x) biztosítása: Register Maps, Szükséges lapkaméret növelés ~ 6 %. Forrás: : Preston R. P. and all. , Design of an 8 -wide Superscalar RISC Microprocessor with Simultaneous Mltithreading”, Proc. ISSCC, 2002, pp. 334 -243
5. 2 Esettanulmányok 3: IBM POWER 5 (1) POWER 5 továbbfejlesztése POWER 4 -hez képest: • lapkára szerelt memória vezérlő,
5. 2 Esettanulmányok 3: IBM POWER 5 (2) Fabric Controller Ábra 5. 5: POWER 4 és POWER 5 rendszer struktúrák Forrás: R. Kalla, B. Sinharoy, J. M. Tendler: IBM Power 5 chip: A Dual-core multithreaded Processor, IEEE. Micro, Vol. 24, No. 2, March-April 2004, pp. 40 -47.
5. 2 Esettanulmányok 3: IBM POWER 5 (3) POWER 5 továbbfejlesztése POWER 4 -hez képest: • lapkára helyezett memória vezérlő, • elkülönített L 3/memória csatolás,
5. 2 Esettanulmányok 3: IBM POWER 5 (4) Fabric Controller Ábra 5. 6: POWER 4 és POWER 5 rendszer struktúrák Forrás: R. Kalla, B. Sinharoy, J. M. Tendler: IBM Power 5 chip: A Dual-core multithreaded Processor, IEEE. Micro, Vol. 24, No. 2, March-April 2004, pp. 40 -47.
5. 2 Esettanulmányok 3: IBM POWER 5 (5) POWER 5 továbbfejlesztése POWER 4 -hez képest: • lapkára szerelt memória vezérlő, • elkülönített L 3/memória csatolás, • kétszálú.
5. 2 Esettanulmányok 3: IBM POWER 5 (6) Ábra 5. 7: IBM POWER 5 mikroarchitektúra Forrás: Kalla R. , „IBM's POWER 5 Micro Processor Design and Methodology”, IBM Corporation, 2003
5. 2 Esettanulmányok 3: IBM POWER 5 (7) Ábra 5. 8: IBM POWER 5 Chip Forrás: Kalla R. , „IBM's POWER 5 Micro Processor Design and Methodology”, IBM Corporation, 2003
5. 2 Esettanulmányok 3: IBM POWER 5 (8) 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): POWER 4 GPR-ek FPR-ek 80 72 POWER 5 120
5. 2 Esettanulmányok 3: IBM POWER 5 (9) Ábra 5. 9: SMT futószalag IBM POWER 5 processzoron Forrás: Kalla R. , „IBM's POWER 5 Micro Processor Design and Methodology”, IBM Corporation, 2003
5. 2 Esettanulmányok 3: IBM POWER 5 (10) 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): POWER 4 GPR-ek FPR-ek 80 72 • Duplikált szálmikroállapot biztosítása a következőkhöz: Return Address Stack, Group Completion (ROB) POWER 5 120
5. 2 Esettanulmányok 3: IBM POWER 5 (11) Ábra 5. 10: SMT futószalag IBM POWER 5 processzoron Forrás: Kalla R. , „IBM's POWER 5 Micro Processor Design and Methodology”, IBM Corporation, 2003
5. 2 Esettanulmányok 3: IBM POWER 5 (12) 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): POWER 4 GPR-ek FPR-ek 80 72 POWER 5 120 • Duplikált szálmikroállapot biztosítása a következőkhöz: Return Address Stack, Group Completion (ROB) • Érzékeny, szűknek bizonyuló erőforrások bővítése (duplikálása), például Instruction Buffer, Store Queue
5. 2 Esettanulmányok 3: IBM POWER 5 (13) Ábra 5. 11: SMT futószalag IBM POWER 5 processzoron Forrás: Kalla R. , „IBM's POWER 5 Micro Processor Design and Methodology”, IBM Corporation, 2003
5. 2 Esettanulmányok 3: IBM POWER 5 (14) 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): POWER 4 GPR-ek FPR-ek 80 72 POWER 5 120 • Duplikált szálmikroállapot biztosítása a következőkhöz: Return Address Stack, Group Completion (ROB) • Érzékeny, szűknek bizonyuló erőforrások bővítése (duplikálása), például Instruction Buffer, Store Queue Szükséges lapkaméret növelés SMT-hez: ~ 10 %.
5. 2 Esettanulmányok 3: IBM POWER 5 (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 Ábra 5. 12: Szálak kiegyzensúlyozatlan végrehajtása IBM POWER 5 processzoron Forrás: Kalla R. , „IBM's POWER 5 Micro Processor Design and Methodology”, IBM Corporation, 2003
5. 2 Esettanulmányok 3: IBM POWER 5 (16) Fejlesztési ráfordítás: • Elméleti fázis: • Magas szintű tervezési fázis: • Megvalósítási fázis: ~ 10 ember/ 4 hónap ~ 50 ember/ 6 hónap ~ 200 ember/ 12 -18 hónap Forrás: Kalla R. , „IBM's POWER 5 Micro Processor Design and Methodology”, IBM Corporation, 2003
- Slides: 94