Fakulta elektrotechnická

České vysoké učení technické v Praze

ČVUT v Praze

Popis předmětu - A8M36ACA

Přehled studia | Přehled oborů | Všechny skupiny předmětů | Všechny předměty | Seznam rolí | Vysvětlivky               Návod
A8M36ACA Pokročilé architektury počítačů Rozsah výuky:2+2
Garanti:  Role:PO Jazyk výuky:CS
Vyučující:  Zakončení:Z,ZK
Zodpovědná katedra:13136 Kreditů:5 Semestr:Z

Anotace:

Předmět rozšiřuje znalosti studentů v oblasti architektury moderních počítačů. Pozornost věnujeme zejména problematice paralelismu, implementaci koncepce paralelismu v hardwaru, vytváření paralelního programu, architektuře soudobých počítačů využívajících paralelismu na úrovni instrukcí a vláken, pokročilému proudovému zpracování instrukce, paměťovému a perifernímu subsystému a jejich návrhu.

Osnovy přednášek:

1. Úvod do moderní architektury počítačů; počítače řízené tokem instrukcí (control driven) a tokem údajů (data
driven a demand driven). Klasifikace počítačových architektur podle Flynna; Vícejádrové, víceprocesorové a vícepočítačové systémy, pojem paralelního zpracování. Amdahlův a Gustafsonův zákon. Výkonové metriky.
2. Paralelismus na úrovni instrukcí, vláken, programů a dat. Časový a prostorový paralelismus. Bernsteinovy
podmínky paralelismu, datová a řídicí závislost. Úvod do programování paralelních systémů. Rozvrhování programů (statické, dynamické) a meziprocesová/meziprocesorová komunikace a synchronizace. Výpočtová granularita a zrnové balení. Mapování procesů a dat.
3. Programování paralelních systémů II. - použití Message Passing Interface (MPI) a Open Multi-Processing
(OpenMP) pro tvorbu paralelních programů.
4. Programování paralelních systémů III. - využití grafických karet pro paralelní programy - GPU (Graphics
processing unit) a GPGPU (General-purpose computing on GPU).
5. Skalární procesor: Cesta instrukce a dat z vedlejší paměti až k procesoru z pohledu hierarchie pamětí, operačního
systému a procesoru.
6. Predikce, prediktory a předvýběr instrukcí: Statické a dynamické predikce; Smithův prediktor, dvou-úrovňové
prediktory s lokální a globální historií, dvou-módový prediktor, loop-counting prediktory a další.
7. Od skalárního procesoru k superskalárnímu (pokročilé techniky instrukčního toku) Superskalární procesory se
statickým, dynamickým a hybridním plánováním vykonávaní instrukcí.
8. Spelukace: Spekulativní provádění instrukcí a podpora přesného přerušení. Procesory VLIW a EPIC. Využití
datového paralelismu, SIMD a vektorové instrukce v ISA.
9. Multiprocesorové systémy a problém koherence: Architektury multiprocesorových počítačů. Systémy s distribuovanou a sdílenou pamětí (DMS, SMS). Architektury symetrických multiprocesorových počítačů (SMP).
Způsoby zajištění koherence v SMP. Pravidla pro provádění paměťových operací, zajištění sekvenční konzistence, slabší modely paměťové konzistence, directories.
10. Časový a prostorový paralelizmus v praxi: Ukázka vybraných partií na procesoru Intel Nehalem.
11. Superpočítače dnešní doby: Masívně paralelní procesory (MPP) a clustery, Superpočítače na bázi GPU;
Propojovací sítě - statické a dynamické.
12. Architektura I/O podsystému. Aktuální sběrnice. Způsoby propojení procesoru, paměti a periférií uvnitř systémů
na čipu (SoC). Vyrovnávací paměti v I/O podsystému, způsoby implementace sdíleného přístupu.
13. Realizace moderního IO podsystému (NUMA architektury), HyperTransport, Quick Path Interconnect.
14. Perspektivy a omezení dalšího rozvoje

Osnovy cvičení:

1. Úvod do moderní architektury počítačů; počítače řízené tokem instrukcí (control driven) a tokem údajů (data
driven a demand driven). Klasifikace počítačových architektur podle Flynna; Vícejádrové, víceprocesorové a vícepočítačové systémy, pojem paralelního zpracování. Amdahlův a Gustafsonův zákon. Výkonové metriky.
2. Paralelismus na úrovni instrukcí, vláken, programů a dat. Časový a prostorový paralelismus. Bernsteinovy
podmínky paralelismu, datová a řídicí závislost. Úvod do programování paralelních systémů. Rozvrhování programů (statické, dynamické) a meziprocesová/meziprocesorová komunikace a synchronizace. Výpočtová granularita a zrnové balení. Mapování procesů a dat.
3. Programování paralelních systémů II. - použití Message Passing Interface (MPI) a Open Multi-Processing
(OpenMP) pro tvorbu paralelních programů.
4. Programování paralelních systémů III. - využití grafických karet pro paralelní programy - GPU (Graphics
processing unit) a GPGPU (General-purpose computing on GPU).
5. Skalární procesor: Cesta instrukce a dat z vedlejší paměti až k procesoru z pohledu hierarchie pamětí, operačního
systému a procesoru.
6. Predikce, prediktory a předvýběr instrukcí: Statické a dynamické predikce; Smithův prediktor, dvou-úrovňové
prediktory s lokální a globální historií, dvou-módový prediktor, loop-counting prediktory a další.
7. Od skalárního procesoru k superskalárnímu (pokročilé techniky instrukčního toku) Superskalární procesory se
statickým, dynamickým a hybridním plánováním vykonávaní instrukcí.
8. Spelukace: Spekulativní provádění instrukcí a podpora přesného přerušení. Procesory VLIW a EPIC. Využití
datového paralelismu, SIMD a vektorové instrukce v ISA.
9. Multiprocesorové systémy a problém koherence: Architektury multiprocesorových počítačů. Systémy s distribuovanou a sdílenou pamětí (DMS, SMS). Architektury symetrických multiprocesorových počítačů (SMP).
Způsoby zajištění koherence v SMP. Pravidla pro provádění paměťových operací, zajištění sekvenční konzistence, slabší modely paměťové konzistence, directories.
10. Časový a prostorový paralelizmus v praxi: Ukázka vybraných partií na procesoru Intel Nehalem.
11. Superpočítače dnešní doby: Masívně paralelní procesory (MPP) a clustery, Superpočítače na bázi GPU;
Propojovací sítě - statické a dynamické.
12. Architektura I/O podsystému. Aktuální sběrnice. Způsoby propojení procesoru, paměti a periférií uvnitř systémů
na čipu (SoC). Vyrovnávací paměti v I/O podsystému, způsoby implementace sdíleného přístupu.
13. Realizace moderního IO podsystému (NUMA architektury), HyperTransport, Quick Path Interconnect.
14. Perspektivy a omezení dalšího rozvoje

Literatura:

1. Hennesy, J. L., Patterson, D. A.: Computer Architecture : A Quantitative Approach, Third Edition, San
Francisco, Morgan Kaufmann Publishers, Inc., 2002
2. Shen, J.P., Lipasti, M.H.: Modern Processor Design : Fundamentals of Superscalar Processors, First Edition,
New York, McGraw-Hill Inc., 2004
3. Grama A., Gupta, A. et al.: Introduction to Parallel Computing, Second Edition, Addison Wesley, 2003

Požadavky:

Předmět je zahrnut do těchto studijních plánů:

Plán Obor Role Dop. semestr
MPOES3 Integrované elektronické systémy PO 3


Stránka vytvořena 12.12.2017 05:47:39, semestry: L/2016-7, Z,L/2017-8, Z/2018-9, připomínky k informační náplni zasílejte správci studijních plánů Návrh a realizace: I. Halaška (K336), J. Novák (K336)
Za obsah odpovídá: doc. Ing. Ivan Jelínek, CSc.