Pokročilé architektury počítačů
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
AD4M36PAP | Z,ZK | 6 | 14+6c | česky |
- Přednášející:
- Miroslav Šnorek (gar.), Michal Štepanovský
- Cvičící:
- Miroslav Šnorek (gar.), Michal Štepanovský
- Předmět zajišťuje:
- katedra počítačů
- 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.
- Požadavky:
-
Stránky předmětu: https://edux.feld.cvut.cz/courses/A4M36PAP/
- Osnova 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.
3.Ú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.
4.Způsoby programování paralelních systémů - užití Message Passing Interface (MPI) a Open Multi-Processing (OpenMP) pro tvorbu paralelních programů.
5.Zřetězené vykonávaní instrukcí. Hazardy detekce a jejich odstraňování. Vyvažování zřetězených stupňů a časování; Superzřetězení.
6.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í.
7.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.
8.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.
9.Vícevláknové a vícejádrové procesory. Meziprocesorová komunikace.
10.Architektura paměťového podsystému. Návrh a optimalizace paměťového podsystému, cache a virtuální paměť.
11.Pravidla pro provádění paměťových operací, zajištění sekvenční konzistence, slabší modely paměťové konzistence.
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.Rezerva
- Osnova 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.
- Cíle studia:
- Studijní materiály:
-
[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
- Poznámka:
- Rozvrh na zimní semestr 2011/2012:
-
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po Út St Čt Pá - Rozvrh na letní semestr 2011/2012:
- Rozvrh není připraven
- Předmět je součástí následujících studijních plánů:
-
- Otevřená informatika - Počítačové inženýrství_145440 (povinný předmět oboru)