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

Slides:



Advertisements
Podobné prezentace
Tento výukový materiál vznikl v rámci Operačního programu Vzdělávání pro konkurenceschopnost 1. KŠPA Kladno, s. r. o., Holandská 2531, Kladno,
Advertisements

Mikroprocesory Intel Obr. 1.
Komunikace periférii.
Operační systémy. OPERAČNÍ SYSTÉMY pomoc operátorovi, podpora vlastností reálného času, víceuživatelských a více úlohových systémů.
Otázky k absolutoriu HW 1 - 5
Procesory Filip Skulník.
Úvod. Základní úrovně: hardwarová (procesory, jádra) programová (procesy, vlákna) algoritmická (uf... ) Motivace: zvýšení výkonu redundance jiné cíle,
Principy překladačů Architektury procesorů Jakub Yaghob.
Kontakty Webpage přednášky: – Slajdy (MS PowerPoint): –ftp://ulita.ms.mff.cuni.cz/predn/PRG017 Technické.
Informatika 1_6 6. Týden 11. A 12. hodina.
Instrukční soubor PIC16Fxxx osnova: Charakteristika instrukčního souboru Rozdělení instrukcí Časové průběhy (zpracování instrukcí)
Architektura databází Ing. Dagmar Vítková. Centrální architektura V této architektuře jsou data i SŘBD v centrálním počítači. Tato architektura je typická.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_02A13 Autor Ing. Jiří Kalousek Období vytvoření duben 2014.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Pokročilé architektury počítačů (PAP_14.ppt) Karel Vlček, katedra Informatiky, FEI VŠB Technická Univerzita Ostrava.
Pokročilé architektury počítačů (PAP_02.ppt) Karel Vlček, katedra Informatiky, FEI VŠB Technická Univerzita Ostrava.
Výrok „Počítač je pouze tak inteligentní jako jeho uživatel.“ (Radek Lochman, dnes)
Databázové systémy Architektury DBS.
Informatika pro ekonomy II přednáška 10
Operační systém (OS) ICT Informační a komunikační technologie.
Pokročilé architektury počítačů (PAP_10.ppt) Karel Vlček, katedra Informatiky, FEI VŠB Technická Univerzita Ostrava.
13AMP 2. přednáška Ing. Martin Molhanec, CSc.. Stav procesu (kontext) Stav procesu je úplná informace, kterou je nutné uschovat při přerušení procesu,
Sběrnice Obr. 1.
Pokročilé architektury počítačů (PAP_02.ppt) Karel Vlček, katedra Informatiky, FEI VŠB Technická Univerzita Ostrava.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace
Pokročilé architektury počítačů (PAP_04.ppt) Karel Vlček, katedra Informatiky, FEI VŠB Technická Univerzita Ostrava.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
CZ.1.07/1.4.00/ VY_32_INOVACE_152_IT7 Výukový materiál zpracovaný v rámci projektu Vzdělávací oblast: Informační a komunikační technologie Předmět:Informatika.
Databázové systémy Informatika pro ekonomy, př. 18.
Pokročilé architektury počítačů (PAP_09.ppt) Karel Vlček, katedra Informatiky, FEI VŠB Technická Univerzita Ostrava.
Výrok „Vypadá to, že jsme narazili na hranici toho, čeho je možné dosáhnout s počítačovými technologiemi. Člověk by si ale měl dávat pozor na takováto.
Kontakty Webpage přednášky: – Slajdy (MS PowerPoint): –ftp://ulita.ms.mff.cuni.cz/predn/PRG017 Technické.
Pokročilé architektury počítačů (PAP_06.ppt) Karel Vlček, katedra Informatiky, FEI VŠB Technická Univerzita Ostrava.
Pokročilé architektury počítačů (PAP_03.ppt) Karel Vlček, katedra Informatiky, FEI VŠB Technická Univerzita Ostrava.
1/28 PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ Vlákna 06.
Univerzita třetího věku kurz Znalci Hardware 1.
doc. RNDr. Zdeněk Botek, CSc.
Pokročilé architektury počítačů (PAP_16.ppt) Karel Vlček, katedra Informatiky, FEI VŠB Technická Univerzita Ostrava.
Pokročilé architektury počítačů (PAP_05.ppt)
Pokročilé architektury počítačů (PAP_08.ppt) Karel Vlček, katedra Informatiky, FEI VŠB Technická Univerzita Ostrava.
Pokročilé architektury počítačů (PAP_11.ppt) Karel Vlček, katedra Informatiky, FEI VŠB Technická Univerzita Ostrava.
XSLT překladač Marek Běhálek Informatika a aplikovaná matematika FEI VŠB-TU Ostrava.
Pokročilé architektury počítačů (PAP_03.ppt) Karel Vlček, katedra Informatiky, FEI VŠB Technická Univerzita Ostrava.
Kontakty Webpage přednášky: – Slajdy (MS PowerPoint): –ftp://ulita.ms.mff.cuni.cz/predn/PRG017 Technické.
Multiprocesorové systémy. Multiprocesorové systémy vznikly z důvodu zvýšení výkonnosti počítačů, protože jednoprocesorové systémy svým výkonem již přestaly.
Úvod do databází zkrácená verze.
Technika počítačů 3. Mikroprocesory © Milan Keršlágerhttp:// Obsah: ●
John von Neumannova koncepce. John von Neumann  Narozen 28. prosince 1903 Budapešť Rakousko-Uhersko  Zemřel 8. února 1957 Spojené státy americké.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
PROGRAMOVÁNÍ 3ITA,3ITB Jaroslav Burdys Hlavní zdroj:
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Vývoj architektur mikroprocesorů Od 4 bitů k superskalárnímu RISC Vývoj architektur mikroprocesorů Od 4 bitů k superskalárnímu RISC Pavel Píša
Vypracoval / Roman Málek
Programování mikropočítačů Platforma Arduino
Výukový materiál zpracován v rámci projektu
Vlastnosti souborů Jaroslava Černá.
Výukový materiál zpracován v rámci projektu
Soubor Soubor v informatice označuje pojmenovanou sadu dat uloženou na nějakém datovém médiu, se kterou lze pracovat nástroji operačního systému jako.
1. ročník oboru Mechanik opravář motorových vozidel
1. ročník oboru Mechanik opravář motorových vozidel
Název školy: ZŠ Bor, okres Tachov, příspěvková organizace
Operační systémy 9. Spolupráce mezi procesy
Informatika pro ekonomy přednáška 8
Správa paměti.
1. ročník oboru Mechanik opravář motorových vozidel
Segmentace Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Informační a komunikační technologie 5. ročník
Přednášky z distribuovaných systémů
Přepínání procesů Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Transkript prezentace:

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

Ř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ů

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ů

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ů

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ů

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ů

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ů

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ů

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

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ů

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ů

Ž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ů

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ů

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ů

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ů

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ů

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ů

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ů

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ů

Úč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ů

Úč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ů

Úč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ů

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ů

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ů

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ů

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ů

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ů

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ů

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