Popis předmětu - AD4M36PAP

Přehled studia | Přehled oborů | Všechny skupiny předmětů | Všechny předměty | Seznam rolí | Vysvětlivky               Návod
AD4M36PAP Pokročilé architektury počítačů Rozsah výuky:14KP+6KC
Garanti:  Role:Z,PO,V Jazyk výuky:CS
Vyučující:  Zakončení:Z,ZK
Zodpovědná katedra:13136 Kreditů:6 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.

Výsledek studentské ankety předmětu je zde: AD4M36PAP

Výsledek studentské ankety předmětu je zde: A4M36PAP

Osnovy přednášek:

1. Úvodní přednáška
Ú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. Přednáška - Paralelismus a programování paralelních systémů I 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. Přednáška - Programování paralelních systémů II
Způsoby programování paralelních systémů - použití Message Passing Interface (MPI) a Open Multi-Processing (OpenMP) pro tvorbu paralelních programů.
4. Přednáška - 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. Přednáška - 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. Přednáška - 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. Přednáška - 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. Přednáška - 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. Přednáška - 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. Přednáška - Časový a prostorový paralelizmus v praxi
Ukázka vybraných partií na procesoru Intel Nehalem.
11. Přednáška - Superpočítače dnešní doby
Masívně paralelní procesory (MPP) a clustery, Superpočítače na báze GPU; Propojovací sítě - statické a dynamické.
12. Přednáška
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. Přednáška
Realizace moderního IO podsystému (NUMA architektury), HyperTransport, Quick path interconnect
14. Přednáška
Perspektivy a omezení dalšího rozvoje, rezerva

Osnovy cvičení:

I. část - Verilog a popis hardwaru počítače
1. Úvod do jazyka Verilog - zopakovaní, seznámení s prostředím Xilinx ISE, popis kombinačního obvodu a jeho simulace;
2. Základní stavební bloky počítače (multiplexor, demultiplexor, dekodér, komparátor, sčítačka, registr, paměť,...), synchronní konečný automat; popis ve Verilog-u;
3. Návrh jednoduché řídicí jednotky procesoru.
4. Návrh paralelní dvojkové 64-bitové sčítačky se zrychlenými přenosy a předvídáním (Carry Look-Ahead). Zadání prvního seminárního projektu - Návrh jednoduchého výpočtového systému - ALU, RJ, paměť; simulace základního instrukčního cyklu (odevzdání v 8. týdnu).
II. část - Programovaní paralelných systémů
5. Praktické seznámení s OpenMP, jednoduché paralelní programy pro SMS.
6. Praktické seznámení s MPI, jednoduché paralelní programy pro DMS.
7. Procvičování technik vytváření paralelních programů kombinací OpenMP a MPI pro vícepočítačové systémy s vícevláknovým vykonáváním v každém uzlu. Zadání druhého seminárního projektu - tvorba paralelního programu pro vybraný problém (odevzdání v 9. týdnu).
III. část - Samostatná práce a prezentace výsledků seminárních projektů
8. Kontrola prvního seminárního projektu. Zadání třetího seminárního projektu - rešerše na téma paralelismus v současných počítačích (odevzdání v 12. a 13. týdnu formou prezentace).
9. Samostatná práce; Průběžná kontrola třetího seminárního projektu.
10. Kontrola druhého seminárního projektu - krátká prezentace zvoleného postupu řešení a vytvořeného programu; Průběžná kontrola třetího seminárního projektu.
11. Samostatná práce.
12. Prezentace a odevzdání třetího seminárního projektu.
13. Dokončení prezentací a odevzdávaní třetího seminárního projektu.

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:

Stránky předmětu: https://edux.feld.cvut.cz/courses/A4M36PAP/

Webová stránka:

https://edux.feld.cvut.cz/courses/A4M36PAP/

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

Plán Obor Role Dop. semestr
MKEEM1 Technologické systémy V 3
MKEEM5 Ekonomika a řízení elektrotechniky V 3
MKEEM4 Ekonomika a řízení energetiky V 3
MKEEM3 Elektroenergetika V 3
MKEEM2 Elektrické stroje, přístroje a pohony V 3
MKKME1 Bezdrátové komunikace V 3
MKKME5 Komunikační systémy V 3
MKKME4 Sítě elektronických komunikací V 3
MKKME3 Elektronika V 3
MKKME2 Multimediální technika V 3
MKOI2 Počítačové inženýrství PO 3
MKKYR4 Letecké a kosmické systémy V 3
MVT01N-D Výpočetní technika Z 1
MVT04N-D Výpočetní technika Z 1
MKKYR1 Robotika V 3
MKKYR3 Systémy a řízení V 3
MKKYR2 Senzory a přístrojová technika V 3


Stránka vytvořena 11.12.2019 14:50:24, semestry: Z,L/2020-1, L/2018-9, Z,L/2019-20, 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.