13. Paralelní architektury SISD, SIMD, MISD, MIMD. Obsah 13. Paralelní architektury SISD, SIMD, MISD, MIMD. ............................................................ 1 13.1 Základní koncepce paralelismu ...................................................................................... 2 13.2 Rozdělení paralelních systému ....................................................................................... 2 13.2.1 Flynnova klasifikace .................................................................................................... 3 13.2.2 Obecná klasifikace .................................................................................................... 3 13.2.3 Stupně paralelismu ................................................................................................... 5 13.3 Význam paralelizace ...................................................................................................... 6 13.4 Využití paralelních systému ............................................................................................ 6 13.5 Rychlost paralelního systému ......................................................................................... 6 13.6 Amdahlův zákon ............................................................................................................. 8 13.7 Paralelizace algoritmů ................................................................................................... 9 13.8 Systémy VLIW ............................................................................................................... 10 13.9 Zálohované systémy...................................................................................................... 11 13.10 Závěr........................................................................................................................... 11 13.11 Literatura ................................................................................................................... 11 Klíčová slova ........................................................................................................................ 12 Slovník .................................................................................................................................. 12
Časová náročnost kapitoly: 160 minut Systém, v němž může probíhat několik procesů současně označujeme paralelní. Paralelismu se především používá k zvýšení výkonu číslicového systému, kdy se nespoléháme na zvyšování úrovně technologie výroby součástek a obvodů pro sekvenční zpracování, ale vhodným rozdělením úkolu mezi jednotlivé složky paralelního systému můžeme provést několik operací současně. Tím se zkracuje doba pro vykonání zadaného úkolu a tak dochází k růstu výkonu celého systému. Paralelismu se používá též ke zvýšení spolehlivosti nebo bezpečnosti systému. Paralelismus je však třeba též chápat jako základní a zcela přirozenou vlastnost mnoha numerických i nenumerických algoritmů, jejichž sériové provádění na jednoprocesorovém počítači vede k nárůstu doby potřebné k vyřešení zadaného úkolu. V této souvislosti stojí za zmínku, že pro analogové počítače, z nichž se číslicové počítače vyvinuly, je paralelismus naprostou samozřejmostí. Proto stále víc podnětů při hledání nových forem paralelismu v číslicových systémech přichází právě z oblasti analogové a hybridní výpočetní techniky. Při studiu paralelních systémů nás naopak budou zajímat procesy až od určitého stupně složitosti. Orientační hierarchie úrovní složitosti těchto procesů si můžeme prohlídnout na obr. 13.1. Znázorněné úrovně, označované též jako úrovně granularity (zrnitosti) paralelního procesu, vyjadřují, jak velké celky (úseky zpracování informace) probíhají současně. Nejjemněji je granulován proces na úrovni l, nejhruběji na úrovni 5. 1
5 Nezávislé úlohy a programy 4 Části úloh a programů 3 Podprogramy 2 Cykly, iterace 1 Příkazy, instrukce Obr. 13.1 Úrovně granularity procesů Všeobecně můžeme říci, že vývoj postupoval od nižších úrovní granularity k vyšším. V nejnižší úrovni granularity se stále vzrůstající míře používá (především v počítačích RISC) superskalární režim, to znamená současné čtení několika instrukcí z paměti a jejich současné zpracování v několika jednotkách tvořících dohromady jeden procesor. Speciálním typem paralelního zpracování můžeme považovat proudové, které využívá tzv. časového paralelismu a vyznačuje se tím, že operandy postupně procházejí několika sekcemi (elementárními funkčními jednotkami). Tento typ paralelismu bývá označován také jako vnitřní, protože operandy vstupují do systému postupně, ale uvnitř se zpracovává několik operandů současně (paralelně). Pro vymezení pojmu paralelní systém je důležité rozlišit od sebe paralelní a distribuovaný systém. Charakteristikou paralelního systému je fakt, že procesory jsou umístěné v malém prostoru a to má za následek minimální časové ztráty spojené s přenosem informací. V případě, že jednotlivé výkonné jednotky jsou od sebe fyzicky vzdáleny, vzniká distribuovaný (rozložený) systém zvaný též počítačová sít'.
13.1 Základní koncepce paralelismu Časová náročnost kapitoly: 10 minut Prvotním úkolem paralelismu je zvýšit výkonnost výpočetního systému. Nejsamozřejmější cestou jak učinit počítače rychlejšími, je zkrácení hodinového cyklu. Přestože je tato možnost koncepčně nejsnadnější, její technická realizace je obtížná. Elektrony v mědi nebo světlo ve vláknu se pohybuje relativně předvídatelnou rychlostí, která se může blížit rychlosti světla ve vakuu. Chceme-li učinit oběh rychlejším, je třeba použít rychlejší vypínače a zkrátit vzdáleností mezi nimi. Energetický rozptyl a sdružování jsou značným problémem a přírodní zákony limitují tento typ řešení. Moderní superpočítače mají časový cyklus v rozsahu od 2 do 9 ns a rozsáhlá zdokonalení momentálně nejsou předvídána, neboť designéři očekávají extrémní složitost při dosažení časového cyklu pod 1 ns.
13.2 Rozdělení paralelních systému Časová náročnost kapitoly: 60 minut 2
13.2.1 Flynnova klasifikace
Časová náročnost kapitoly: 20 minut Z doposud publikovaných klasifikací paralelních systémů je nejznámější Flynnova(r.1966). Její hlavní nevýhoda je, že je přílišně hrubá (definuje jen dvě prakticky použitelné kategorie paralelních systémů). Dobře se pamatuje, a asi proto že je tak jednoduchá. SISD (Single Instruction stream, Single Data stream) je počítač,zpracovávající data sériově podle jednoho programu. Typickým představitelem je klasický počítač von Neumannova typu. SIMD (Single Instruction stream, Multiple Data stream) je počítač používající větší množství stejných jednotek (procesorů) řízených společným programem. Přitom data zpracovávaná v jednotlivých procesorech jsou různá, takže každý procesor zpracovává jinou hodnotu, ale všechny procesory provádějí současně stejnou instrukci. MIMD (Multiple Instruction stream, Multiple Data stream) je multiprocesorový systém, v němž každý procesor je řízen samostatným programem a pracuje s jinými daty než ostatní procesory. MISD (Multiple Instruction stream, Single Data stream) je kategorie počítačů, která vznikla uměle na základě této klasifikace, a rozhodně není v praxi běžná. Předpokládá totiž použití řetězce procesorů pracujících podle různých programů na společných datech, která si postupně předávají. MSIMD (Multiple Single Instruction stream, Multiple Data stream) je systém, v němž pracuje několik podsystémů SIMD nezávisle na sobě. Každý podsystém provádí jiný program, což vyžaduje řízení analogické systému MIMD. SPMD (Same Program, Multiple Data stream) je další modifikace systému SIMD, v níž všechny procesory sice provádějí stejný program, ale nezávisle na sobě, tedy bez synchronizace. Každý procesor tedy musí být vybaven svým řadičem, který určuje rychlost přísunu instrukcí a jejich provádění.
13.2.2 Obecná klasifikace Časová náročnost kapitoly: 20 minut Jelikož Flynnova klasifikace je příliš hrubá, bylo mnoho pokusů vytvořit jemnější klasifikaci paralelních systému. Ty však nebyly všeobecně přijmuty zejména, protože vývoj počítačů je velmi rychlý a navrhované třídění než vstoupily v známost byla již zastaralá. Proto vznikla jemnější Flynnova klasifikace, jejímž třídícím kritériem je způsob řízení systému oproti Flynnově třídění pomocí toků instrukcí a toků dat. Toto rozbělení je zobrazeno na obr. 13.2. 3
PARALÉLNÍ SYSTÉM
ŘÍZENÍ POMOCÍ TOKU INSTRUKCÍ
ŘÍZENÍ POMOCÍ TOKU UDÁLOSTÍ
TOKEM
TOKEM SISD
BEZ CENTRÁLNÍHO ŘÍZENÍ
VLI ZÁLOHOVA
MIMD
SIMD
VOLNĚ VÁZAN TĚSNĚ VÁZAN S LOKÁLNÍ PAMĚTÍ S GLOBÁLNÍ Ě Í
S ADRESOVANÝ S ASOCIATIVNÍM
Obr. 13.2 :Klasifikace číslicových systémů Nejvíce propracovanou větví co do počtu úrovní tak i do počtu reprezentantů je klasická von Neumannova koncepce, která je založena na řízení pomocí toků instrukcí. Zatím stále převládá jako základ většiny typů systémů. Do této větve spadají všechny kategorie které jsou zavedeny v Flynnově klasifikaci, tedy i SISD. To může na první pohled působit překvapivě, protože při zpracování jednoho toku dat jedním programem obvykle nelze mluvit o paralelismu. Přesto byly i v této kategorii vytvořeny paralelní struktury, které jsou na obr. 13.2 rozděleny do dvou typů. Zkratkou VLIW se označují počítače s velmi dlouhým instrukčním slovem (Very Long Instruction Word), v nichž se každá instrukce používá pro řízení většího počtu jednotek v jednom procesoru. Do druhé větve systémů SISD jsou umístěny zálohované systémy používající několik procesorů pro zlepšení bezpečnosti a případně i spolehlivosti. Zálohované systémy, jako např. duplexní, biduplexní nebo TMR, zpracovávají ve všech procesorech jeden tok instrukcí a jeden tok dat, takže do kategorie SISD patří. Přitom se v nich též využívá paralelismu, který však neslouží k zvyšování výkonů jak u ostatních systémů. V rozdělení na obr. 13.2 ve větvi systémy řízené tokem instrukcí jsou ještě dvě 4
kategorie MIMD a SIMD, které se dále děli podle toho, zda jsou jednotlivé procesory vybaveny vlastní (lokální) pamětí nebo sdílejí společnou (globální) paměť. U systémů MIMD se pro tyto kategorie používá též označení volně vázané a těsně vázané systémy. V systémech SIMD se sdílenou pamětí se někdy namísto adresného přístupu do paměti s výhodou využívá asociativního výběru, což je výběr podle obsahu paměti, čímž vznikají asociativní počítače. Jako systémy řízené tokem událostí se označující všechny způsoby řízení, při nichž k provedení určité operace dochází v okamžiku, kdy to okolnosti umožňují anebo vyžadují, tudíž operace neprobíhají na základě pořadí instrukcí. Sem spadají počítače řízené tokem dat a tokem požadavků(redukční počítače). Poslední skupinou třídění podle obr. 13.2 jsou systémy bez centrálního řízení. V nich neexistuje program ani řadič, v kterém by tento program mohl být prováděn. Nejrozšířenějším příkladem systémů bez centrálního řízení jsou systolické systémy používané především jako jednoúčelové, protože operace, které se v nich mají provádět, jsou jednou provždy určeny jejich vnitřní strukturou. Proto nedosahují vysokých výkonů jako u jiných systémů řízených prostřednictvím programu. Sem také řadíme počítače sestavené jako model neuronové sítě. Ty se již von Neumannově koncepci vzdalují velmi významně, takže v nich přestávají existovat takové objekty jako procesor, paměť', řadič, apod.
13.2.3 Stupně paralelismu Časová náročnost kapitoly: 20 minut Dále můžeme paralelismus klasifikovat podle těchto čtyř tříd: 1) Pracovní stupeň paralelismu Pracovní stupeň paralelismu je využíván uvnitř jednoduchého počítače při poskytování činnosti či několika činností jako souboru nezávislých úkolů. Např. některé činnosti mohou sídlit v paměti v tu samou dobu, přičemž pouze jedna činnost se provádí v daný čas. Když činnost vyžaduje některé I/O služby (např.čtení z disku), operace je inicializována, činnost vyžadující službu je pozastavena a další činnost je zařazena do stavu výkonu. 2) Programový stupeň paralelismu Nastane, když je jednoduchý program rozdělen na části. Např. maticový výsledek C=A*B může být vypočten rozdělením matice C do kvadrantů a následného vypočtení jednotlivých kvadrantů z korespondujících sekcí A a B čtyřmi procesory, kdy každý procesor vypočte jeden kvadrant. Celý výsledek bude vypočten přibližně čtyřnásobně rychleji, než kdyby každý procesor pracoval nezávisle na ostatních. 3) Instrukční stupeň paralelismu Programátoři se nemusí starat o to jak upravit své algoritmy, jelikož tento stupeň paralelismu klade důraz na perfektní zpracování překladače. Ten reorganizuje průběh překladu programu a využívá tak možného paralelismu. 5
4) Aritmetický a bitový stupeň paralelismu Nejnižší stupeň, který je zaměřen zejména na designéry aritmeticko-logických jednotek.
13.3 Význam paralelizace Časová náročnost kapitoly: 5 minut Díky neustále se zmenšujícím se rozměrům, energetické spotřebě ale i ceně jednotlivých prvků se nám otevírá možnost uplatnění paralizace, bez které se v budoucnu určitě neobejdeme.
13.4 Využití paralelních systému Časová náročnost kapitoly: 5 minut Po dobu existence paralelních systémů se nám osvědčili oblasti ve kterých se osvědčila paralelizace. Jelikož se jedná o finančně náročnou oblast jsou tyto projekty hrazeny především vládními nebo průmyslovými organizacemi. Cílem těchto projektů je ověřit zda konkrétní problém je vhodný pro paralelní řešení. Oblasti využívání paralelních systémů: • • • • • • •
Vojenská technika Přírodní vědy Automatizace v inženýrství Umělá inteligence Zkoumání energetických zdrojů Zpracování signálů Zdravotnictví
13.5 Rychlost paralelního systému Časová náročnost kapitoly: 20 minut
6
Hlavním problémem při vytváření paralelních systémů je zvyšování výkonnosti celého systému v závislosti na počtu jednotek (procesorů), na jejich vlastnostech a způsobu provedení. Snažíme se dosáhnout toho, aby výkonnost rostla lineárně.Ve skutečnosti však lineárního růstu není snadné dosáhnout. Tomu brání především ztráty vznikající při komunikaci mezi procesory, jejich nevyvážené vytížení (doprovázené například požadavkem synchronizace, kdy jeden procesor musí čekat na druhý) a také současná neznalost dokonalých algoritmů pro paralelní zpracování. Způsob růstu výkonnosti paralelního systému můžeme sledovat na obr. 13.3, na němž jsou zakresleny tři možné průběhy tohoto růstu. 3
Výkonno st systém
2 1
4 3 2 1
1
2
3
4
Počet Obr. 3: Růst výkonnosti paralelního systému
Na vodorovné ose je nanášen počet procesorů a na ose svislé relativní výkonnost celého systému vzhledem k jednomu procesoru. Křivka číslo 1 jenž má nasycovací ( přibližně logaritmický) průběh, odpovídá nejčastěji naměřeným výsledkům při nichž se projevily všechny dříve zmiňované ztráty. Vlivem těchto ztrát dochází k tomu, že při zvyšování počtu procesorů se snižuje růst výkonnosti, což způsobí, že od jisté hranice je další přidávání procesorů do systému z ekonomického hlediska nevhodné. Přímka číslo 2 znázorňuje pro nás ideální lineární růst výkonnosti, kdy všechny procesory jsou plně vytíženy. K tomuto dochází málokdy, ale občas přece. Pro některé typy algoritmů a architektury systémů je možné pro některé části výpočtu lineárního růstu výkonnosti dosáhnout. Takže ve většině případů, kdy výrobce například uvádějí, že systém s 1024 procesory, z nichž každý má výkonnost 1 MIPS, má výkonnost 1024 MIPS, je třeba tento údaj brát s rezervou. I když se to zdá na první pohled nemožné tak se stává, že systém s N procesory dosáhne více než N-násobného zvýšení výkonnosti oproti výkonu jednoho procesoru. Tento růst výkonnosti se nazývá „superlineární“ a je popsán křivkou číslo 3. Jde zde však o zvlášť speciální případ, kde při dodržení výše uvedených podmínek pro lineární růst lze správnou volbou algoritmu navíc ušetři některé pomocné úkony (především u přesouvání dat), jež 7
nadměrně zdržovaly chod jednoprocesorového systému a tím rapidně zkrátit dobu výpočtů.
13.6 Amdahlův zákon Časová náročnost kapitoly: 20 minut Úloh, které jsou čistě určené pro paralelní zpracování od začátku až do konce je velmi málo. Praxe ukázala, že nejčastěji se vyskytují úlohy v nichž se střídají úseky vhodné k paralelnímu zpracování a úseky, které lze zpracovávat jen sekvenčně (sériově). Proto abychom mohli rozhodnout která úloha je vhodná či nevhodná k paralelnímu zpracování je zapotřebí použít nějakého analytického vztahu. Výsledek tohoto hodnocení úloh nám do určité míry napomůže k správnému rozhodnutí. Příkladem takového vztahu je Amdahlův zákon. Tento vztah byl odvozen Gene Amdahlem, bývalým konstruktéra firmy IBM a autora řady počítačů System/360 a také je po něm jak je vidět pojmenován. Cílem odvození bude najít poměr doby, která by byla potřebná, kdyby celý výpočet probíhal na jednom procesoru, k době potřebné při částečné paralelizaci. Tento poměr označíme jako součinitel zrychlení výpočtu Sz. Označme symbolem fs podíl délky části, kterou je třeba provádět sériově, k celkové délce výpočtu. Obdobně symbolem fp označíme podíl paralelizovatelné části výpočtu, takže platí fs-fp=1. Jestliže celkovou dobu sériově prováděného výpočtu označíme t, pak doba výpočtu sériové části je t.fs a doba výpočtu paralelizovatelné části na jednom procesoru je t.fp. Použijeme-li při výpočtu p procesorů, klesne délka výpočtu paralelizovatelné části na t.fp/p, takže pro součinitel zrychlení výpočtu dostaneme Sz =
t 1 = t. f s + t. f p / p (1 − f p ) + f p / p
Růst hodnoty součinitele zrychlení Sz v závislosti na fp je graficky znázorněn na obr. 13.5, kde se počet procesorů p mění jako parametr od 2 do 64. Na vodorovnou osu jsou nanášeny hodnoty fp od 0 do 1. Z toho vyplývá, že na levém okraji je popsán výpočet, který není vůbec paralelizovatelný a pravý okraj představuje výpočet, který neobsahuje žádnou sériovou část, tzn. je plně paralelizovaný. Pro fp=0 samozřejmě dostáváme Sz=1 pro všechny hodnoty p, protože žádný z přidaných procesorů nelze použit. Na pravém okraji naopak však dostáváme maximální zrychlení, tedy Sz=p, protože vykonání celého úkolu se může stejnoměrně rozdělit na všechny procesory.
8
Zrychle p=6
64
48
32
p=3
16 p=8 p=2
0 0,2
0,4
0,6
0,8
1
f Obr. 5: Amdahlův zákon V grafu na obr. 5 je vidět že průběh Sz především pro vyšší hodnoty p je tento průběh pro nás zajímavý. Významného zrychlení lze respektive dosáhnout teprve pro hodnoty fp blížící se jedné, zatímco pro hodnoty fp=0.9 a nižší je použití většího počtu procesorů problematické. Jak vidno z grafu vyplývá, že i pro 50% možnost paralelizace úlohy nemá použití více procesorů smysl.
13.7 Paralelizace algoritmů Časová náročnost kapitoly: 10 minut
Většina algoritmů popisujících zpracovávání dat je ve své podstatě paralelní. Především se jedná o složité úkoly, jako například jsou operace s vektory, maticemi nebo grafy. Do určité míry lze však totéž prohlásit i o těch nejjednodušších operacích, jako je například sčítání několikamístných čísel. Jednotlivé cifry jednoho sčítance lze totiž přičíst současně k cifrám druhého sčítance (musí korespondovat v indexech) a teprve přenosy musíme přičíst postupně od nižších řádů k vyšším. Jelikož se člověk nedokáže soustředit na tak velkou spoustu elementární operací, musí je proto vykonávat postupně. Počítač k sečtení dvou několikamístných čísel používá běžně paralelní sčítačku, kterou je dnes prakticky vybaven každý počítač. Složitější úkony, jako je násobení, dělení, výpočet odmocniny nebo goniometrických funkcí, se však provádějí sériově jako posloupnost elementárních úkonů (převážně součtů). Stejný způsob zpracovávání (sekvenční) libovolně složitých výpočtů používají 9
jednoprocesorové počítače, protože jsou vybaveny jen jednu aritmetickou jednotku a jedením řadičem. Automatická Abychom mohli použít automatickou paralelizaci sériového algoritmu je třeba vytvořit speciální překladač, kterému nadefinujeme jako vstupní parametry vlastnosti použitého paralelního systému. To znamená například počet procesorů a případně jejich vlastnosti. Takovéto kompilátory jsou již vytvořeny a zkušenosti s jejich použití nám ukázaly, že tento způsob převodu je prakticky využitelný. Ruční Bezesporu nejlépe může rozhodnou o částech programů jenž mají být paralelně zpracovávány programátor, který zná charakter řešené úlohy i vlastnosti použitého systému. Ke pohodlnému zápisu muže použít některý z jazyků, umožňujících zápis paralelních algoritmů, jako je např. Concurrent Pascal, Modula II, Ada nebo Parallel C. Tyto jazyky obsahují konstrukty, jimiž programátor může jednak označit ty úseky výpočtu, které mohou být prováděny paralelně nebo určit místo, kde má být výpočet opět synchronizován.
13.8 Systémy VLIW Časová náročnost kapitoly: 10 minut Mezi paralelní systémy se řadí také systémy VLIW (Very Long Instruction Word), což jsou systémy s velmi dlouhou instrukcí a na počátku byli zařazeny do skupiny SISD. Systém je složen s desítek aritmetických jednotek, propojovacích jednotek a jednotek pro styk s pamětí. Jedna instrukce v systému VLIW se skládá z několika polí, v nichž jsou zaznamenány operační znaky pro ovládání každé jednotky samostatně. Zároveň se ovládají také přenosové cesty a přesuny dat po nich. Instrukce se podobně jako ve von Neumannově počítači zpracovávají po jedné v přesně předepsaném pořadí. Veškeré operace zapsané v jedné instrukci se provádějí paralelně. Řídící instrukce jsou sestavovány kompilátorem, který je sestavuje na základě požadavků na synchronizaci dějů v systému. Paměť pro programy není na rozdíl od jiných systémů společná avšak rozdělena do několika bloků z nichž každý je určen jednomu procesoru a je v ní uložena posloupnost operačních znaků příslušejících pouze pro tento procesor. Avšak v každém cyklu čtou všechny procesory instrukci synchronně ze stejné adresy, čímž odpadají ztráty komunikacemi v systému a synchronizací (tj.čekáním na výsledek v jiné jednotce). Základní výhody systému VLIW: možnost snadno přizpůsobit architekturu zvolené aplikaci rychlá reakce na vstup vysoká výkonnost za cenu poměrně jednoduché struktury procesoru jednoduché programování ve srovnání s ostatními typy paralelních systémů. Možnost simultánního řízení většího počtu prostředků
10
13.9 Zálohované systémy Časová náročnost kapitoly: 10 minut Zálohovanému systému se říká systém, jenž obsahuje některé důležité části v nadbytečném množství. Toto se týká například procesorů, modulů paměti, periferních zařízení a i přenosových cest. Podle míry využití záložních prostředků v čase, rozlišujeme nejčastěji dva typy zálohy, a to statickou a dynamickou. Statická záloha je v chodu nepřetržitě po celou dobu vykonávání funkce systému a je neustále připojena na vstupy i výstupy systému. Na rozdíl od toho dynamická záloha začíná svou činnost teprve v případě nutnosti, tedy při poruše některé části systému. Nejčastěji se konfigurace zálohovaných systémů označují podle počtu procesorů použitých pro provádění stejného programu. Systémy s dvěma procesory se označují jako duplexní, se třemi jako třímodulově redundantní (TMR) a se čtyřmi procesory jako biduplexní.
13.10 Závěr
Zde jsme měli možnost se seznámit s nejvýznamnějšími paralelními architekturami, jako jsou např. SISD, SIMD a další dle Flynnovy klasifikace. Kromě toho jsme si ukázali využití a význam paralelních systémů a jiných. Dále jsme se věnovali systému VLIW a zálohovacím systémům. Tuto problematiku jsem se snažil popsat tak, abyste si vytvořili celkovou představu o paralelních systémech. I zde bych doporučil pro ty, kteří si chtějí o tomto více přečíst, aby si prostudovali skripta Computer architecture prof. Hlavičky z ČVUT. Prověření nabytých znalostí si ověříme na následujících příkladech, kde se pokusíme provést charakteristiku paralelních architektur: 1. SISD, SIMD, MISD a MIMD. 2. Význam paralelizmu. 3. Systémy VLIW. 4. Popište paralelní systém využíván v praxi (např. na VŠB TUO atd.).
13.11 Literatura 1. Přednáška 2. Bílek, Šnorek, Záček: Mikroprocesorová technika,skriptum FEL ČVUT. 3. Blatný J., Dábek V.: Standardizace číslicových rozhraní, skriptum, Brno 1990. 4. Grafické karty, Chip 9/92. 5. Hlavička: Architektura počítačů, skriptum FEL ČVUT, 1994, 1999. 6. Hlavička: Computer architecture, skriptum FEL ČVUT, 1999. 7. Internet 8. Kunzel, Žáček: Mikroprocesorová technika, ČVUT. 9. Ličev L.: Architektura počítačů, skriptum FEI VŠB TUO, 1996. 10. Ličev L.: Architektura počítačů I, skriptum FEI VŠB TUO, 1999. 11. Ličev L.: Architektura počítačů II, skriptum FEI VŠB TUO, 1999. 11
12. Valášek: Monolitické mikroprocesory a mikropočítače, SNTL, Praha 1989.
Klíčová slova architektury Flynn koncepce klasifikace paralelní rychlost SIMD SISD stupně systémy VLIW zálohované
Slovník A Amdahlův zákon tento vztah byl odvozen Gene Amdahlem, bývalým konstruktém firmy IBM F Flynnova klasifikace je z doposud publikovaných klasifikací paralelních systémů nejznámější (r.1966). Její hlavní nevýhoda je, že je přílišně hrubá. M MIMD Multiple Instruction stream, Multiple Data stream MISD Multiple Instruction stream, Single Data stream MSIMD Multiple Single Instruction stream, Multiple Data stream S SIMD SISD SPMD
Single Instruction stream, Multiple Data stream Single Instruction stream, Single Data stream Same Program, Multiple Data stream
V VLIW
Very Long Instruction Word
12