Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Pokročilé architektury počítačů (PAP_04.ppt)

Podobné prezentace


Prezentace na téma: "Pokročilé architektury počítačů (PAP_04.ppt)"— Transkript prezentace:

1 Pokročilé architektury počítačů (PAP_04.ppt)
Karel Vlček, katedra Informatiky, FEI VŠB Technická Univerzita Ostrava

2 Řešení nedostatků VLIW procesorů
Jak udržet výhody VLIW procesorů při zachování výhod programové kompatibility pro vyšší programovací jazyky? K těmto výhodám patřilo ponechání velkého objemu hardware, aby mohlo být dosaženo odstranění datových závislostí Hlavní cestou k dosažení tohoto cíle bylo užití techniky přejmenování registrů Karel Vlček Pokročilé architektury procesorů

3 Rozdělení instrukcí do skupin a svazků
Každý procesor VLIW pro tento účel rozděluje instrukce do skupin (groups) a svazků (bundles) Skupina je tvořena posloupností instrukcí, které mohou být prováděny paralelně Svazek je tvořen instrukcemi, které musejí být prováděny tak, že jsou prokládány čekáním (obsahují stop) Karel Vlček Pokročilé architektury procesorů

4 Předpoklady zvýšení výkonu VLIW
Procesor VLIW musí být vybaven: Velkým objemem hardware – obvodových prostředků, aby mohly vykonávat více instrukcí v daném okamžiku Překladačem, který zaručí, že se neuplatní žádné datové závislosti mezi registry, které by bránily provedení operace. To je řešitelné přejmenováním registrů Karel Vlček Pokročilé architektury procesorů

5 Dodržení pravidel pro skupiny a svazky
Architectura procesorů VLIW nedovoluje řadit svazky do skupin Svazky mezi skupinami musí mít explicitně použito „stop“ Stop je mezi instrukcemi kódováno jako část svazku Karel Vlček Pokročilé architektury procesorů

6 Příklad použití skupin a svazků
Svazek je tvořen skupinou tří instrukcí ve slově o délce 128-bitů Každá aktuální instrukce je 41 bitů dlouhá, zbývajících 5 bitů je použito jako tzv. template. Úlohou template je indikovat přítomnost ve svazku Stop se může objevit na konci svazku nebo mezi instrukcemi, které tvoří skupinu Karel Vlček Pokročilé architektury procesorů

7 Pravidla použití skupin a svazků
V jednom svazku může být použito pouze jedno stop Nicméně, je možné vřadit operaci No-Ops V praxi to může znamenat, že dobrý překladač může zařadit více No-Ops Karel Vlček Pokročilé architektury procesorů

8 Pokročilé architektury procesorů
Následující obrázek zobrazuje příklad 11 svazků a 6 skupin Tabulka ukazuje, v jakém vztahu jsou skupiny a svazky (svazky v závorkách jsou rozděleny do dvou skupin) Poznamenejme, že instrukce ve skupinách a svazcích jsou v podstatě nezávislé Svazky mohou tvořit hranice skupin a naopak skupiny vymezují svazky Karel Vlček Pokročilé architektury procesorů

9 Grafické znázornění „template“
Karel Vlček Pokročilé architektury procesorů

10 Procesory s podporou paralelismu vláken
Procesy a vlákna jsou entity operačního systému, které lze ovládat voláním systémových funkcí Vlákno je stejně (jako proces) posloupnost instrukcí viděná z hlediska jejich vykonání Vlákno vyžaduje určitý adresový prostor a čas CPU Karel Vlček Pokročilé architektury procesorů

11 Pokročilé architektury procesorů
Popis procesu V operačních systémech je proces popsán tabulkou (např. PCB - Process Control Block) Tabulka obsahuje údaje o identifikaci a vlastníkovi také údaje o stavu (např.: běží, příprava k běhu, čeká) Dále je dán kód procesu, ukazatel instrukcí IP, sadu logických registrů, hromada (heap), tabulky pro správu paměti, popisovače souborů, popis obsluhy přerušení aj. Karel Vlček Pokročilé architektury procesorů

12 Životní cyklus procesu
Životní cyklus procesu probíhá pode diagramu stavových přechodů U několika soupeřících procesů je zařazení k běhu řízeno pravidly: časová kvanta, priorita, či bez možnosti přerušení Přepínání procesů je značně časově náročné a může vyhovovat jen pro toleranci událostí s dlouhou latencí (např.: přístup na disk) Karel Vlček Pokročilé architektury procesorů

13 Pokročilé architektury procesorů
Vlastnosti vlákna Vlákna (threads) jsou tvořena v rámci procesu, k němuž patří a jehož prostředky sdílí Vlákna sdílí zejména adresový prostor procesu K vláknu patří jen sada registrů a zásobník Kód vlákna, hromada a další parametry jsou k dispozici pouze v popisu procesu Karel Vlček Pokročilé architektury procesorů

14 Synchronizace a přepínání vlákna
Operace s vlákny a synchronizace činnosti jejich přepínání jsou vzhledem k rozdělení parametrů mnohem rychlejší než u procesů Přepínání kontextu má podporu v moderních programovacích jazycích (Occam-2, Ada, Java), které obsahují příkazy pro spouštění vláken i jejich komunikaci a synchronizaci Karel Vlček Pokročilé architektury procesorů

15 Pokročilé architektury procesorů
Multivláknový provoz V multivláknovém provozu MT (Multithreading) jsou instrukce jednoho vlákna prováděny do doby, než se vyskytne nějaká instrukce s dlouhou latencí Přepnutí kontextu provází uložení ukazovátka instrukcí IP, uložení ukazovátka zásobníku a jisté části stavového slova Tak to může fungovat při zasílání zpráv v paralelních systémech Karel Vlček Pokročilé architektury procesorů

16 Systémy se sdílenou pamětí
Latence je u systémů se sdílenou pamětí malá, to vyžaduje podporu více kontextů technickými prostředky procesorů Podporou mnoha vláken s krátkou latencí je technické řešení, které nevyžaduje analýzu při kompilaci Tuto techniku lze použít pro nepředvídatelné události i konflikty Karel Vlček Pokročilé architektury procesorů

17 Architektura pro multivláknový (multikontextový) provoz
Procesory obsahují technické komunikační prostředky (tzv. transputery) Transputery jsou účinné a výhodné při výstavbě paralelních systémů typu Nejčastější systémová architektura je nazývána MIMD s distribuovanou pamětí a zasíláním zpráv Karel Vlček Pokročilé architektury procesorů

18 Principy multivláknového provozu
Nejčastější použití multivláknového provozu je dnes u využíváno při vydávání instrukcí pouze u jednoho vlákna Přepnutí se děje v okamžiku, kdy je vlákno zastaveno nebo zablokováno operací s dlouhou latencí (blocked MT) Druhý efektivní režim je přepínání kontextu pokud možno v každém taktu procesoru (interleaved MT) Karel Vlček Pokročilé architektury procesorů

19 Pokročilé architektury procesorů
Provoz s blokováním Počet aktivních vláken je dán množstvím technických prostředků, které jsou k dispozici pro jeden kontext vlákna Předpokládá se, že v kontextu jednoho procesu (PSW Process Status Word) běží jedno vlákno Cílem je naplnit dobu zpracování vlákna co nejvíce užitečnou prací CPU Karel Vlček Pokročilé architektury procesorů

20 Účinnost pro více vláken (1)
Pro jednokontextový procesor je účinnost podpory provozu více vláken dána relací: E1 = R/(R+L) = 1/(1+L/R) R … je průměrný počet taktů vykonávaných instrukcí L … je počet taktů latence Karel Vlček Pokročilé architektury procesorů

21 Účinnost pro více vláken (2)
Využití (účinnost) procesoru s počtem aktivních vláken poroste lineárně až do hodnoty, která má oporu pro více kontextů v hardware Pokud není opora pro více kontextů, účinnost neroste Hodnota činnosti se ještě snižuje s režií, kterou představuje přepínání kontextu Karel Vlček Pokročilé architektury procesorů

22 Účinnost pro více vláken (3)
Další limitování účinnosti vzniká ztrátou rozpracovaných instrukcí při přepnutí kontextu (možnosti řešení): Nedokončení instrukcí starého vlákna a zahájení instrukcí nového vlákna (nejčastější) Dokončení instrukcí starého vlákna v překryvu s novou instrukcí (vyžaduje podporu) Zahájení instrukcí nového vlákna po dokončení starého vlákna Karel Vlček Pokročilé architektury procesorů

23 Pokročilé architektury procesorů
VLIW architektura a MT Vydávání více instrukcí VLIW architekturou v jednom taktu spolu multivláknovým zpracováním přináší výhodu tak zvaného TLP (Thread-level Parallelism) Využívá se více „časových slotů“, název techniky je simultánní (horizontální) MT = SMT (Simultaneous Multi-Thread) Karel Vlček Pokročilé architektury procesorů

24 Pokročilé architektury procesorů
Optimalizace pro SMT Při změně počtu vláken od jednoho do osmi bylo v jednom taktu provedeno u testovacích úloh až 6,2 instrukce proti 2 instrukcím u prostých superskalárních procesorů Technikou SMT se omezuje i počet spekulativně prováděných instrukcí Obtížně se řeší paměť a tabulky skoků, ale technika SMT má schopnost tyto přídavné konflikty skrýt Karel Vlček Pokročilé architektury procesorů

25 Pokročilé architektury procesorů
Transputery Architektura transputerů obsahuje komunikační hardware a tím se stává samostatným prvkem pro výstavbu paralelních systémů Byl vyvinut jazyk Ocaam, ve kterém jsou procesy konstruovány jako vlákna (1985), protože procesy mají podporu v technických prostředcích Typická je dvojbránová paměť a komunikační hardware Karel Vlček Pokročilé architektury procesorů

26 Procesory P-RISC a *T (StarT) (1)
P-RISC (Paralel RISC) byl vyvinut na MIT (1989) StarT je jeho zdokonalenou verzí a byl vyvinut spojeným úsilím MIT a firmy MOTOROLA (1992) Kontext vlákna je definován tzv. žetonem (token) Na konci instrukční linky je vytvořen vždy nový žeton, který je umístěn na konec jiného vlákna Karel Vlček Pokročilé architektury procesorů

27 Procesory P-RISC a *T (StarT) (2)
Překladač podporuje vzdálený přístup do paměti, což má tu výhodu, že odpovědi mohou přicházet v libovolném pořadí Uplatňuje se zde princip zpracování „data-flow“, tím se uvolní zpracování jako autonomní proces s podporou hardware Principy jsou dnes uplatňovány u čipů NEURON, které se uplatnily v systémech pro distribuované řízení Karel Vlček Pokročilé architektury procesorů

28 Pokročilé architektury procesorů
Procesory Tera MTA Jsou to zatím jediné procesory s prokládaným MT, které nejsou založeny na použití paměti cache Název MTA je Multi-Threaded Architecture Procesor vydává v jednom taktu až tři operace v jedné instrukci Procesor Tera MTA podporuje až 128 aktivních váken Karel Vlček Pokročilé architektury procesorů

29 Pokročilé architektury procesorů
Literatura: Dvořák, V.: Architektura a programování paralelních systémů, VUTIUM Brno, (2004), ISBN X Dvořák, V., Drábek, V.: Architektura procesorů, VUTIUM Brno, (1999), ISBN Drábek, V.: Výstavba počítačů, PC-DIR, s.r.o. Brno, (1995), ISBN Mueller, S.: Osobní počítač, Computer Press, Praha, (2001), ISBN Pluháček, A.: Projektování logiky počítačů, Vydavatelství ČVUT Praha, (2003), ISBN Karel Vlček Pokročilé architektury procesorů


Stáhnout ppt "Pokročilé architektury počítačů (PAP_04.ppt)"

Podobné prezentace


Reklamy Google