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

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

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

Podobné prezentace


Prezentace na téma: "Pokročilé architektury počítačů (PAP_04.ppt) Karel Vlček, katedra Informatiky, FEI VŠB Technická Univerzita Ostrava."— Transkript prezentace:

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

2 Karel VlčekPokročilé architektury procesorů 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ů

3 Karel VlčekPokroč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)

4 Karel VlčekPokroč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ů

5 Karel VlčekPokroč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

6 Karel VlčekPokroč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

7 Karel VlčekPokroč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

8 Karel VlčekPokročilé architektury procesorů 8 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

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

10 Karel VlčekPokroč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

11 Karel VlčekPokročilé architektury procesorů 11 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.

12 Karel VlčekPokroč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)

13 Karel VlčekPokročilé architektury procesorů 13 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

14 Karel VlčekPokroč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

15 Karel VlčekPokročilé architektury procesorů 15 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

16 Karel VlčekPokroč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

17 Karel VlčekPokroč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

18 Karel VlčekPokroč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)

19 Karel VlčekPokročilé architektury procesorů 19 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

20 Karel VlčekPokroč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í: E 1 = 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

21 Karel VlčekPokroč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

22 Karel VlčekPokroč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

23 Karel VlčekPokročilé architektury procesorů 23 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)

24 Karel VlčekPokročilé architektury procesorů 24 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

25 Karel VlčekPokročilé architektury procesorů 25 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

26 Karel VlčekPokroč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

27 Karel VlčekPokroč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í

28 Karel VlčekPokročilé architektury procesorů 28 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

29 Karel VlčekPokročilé architektury procesorů 29 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


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

Podobné prezentace


Reklamy Google