Přednášky

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.
01_introduction_b4m35pap.pdf

2. Přednáška - Od skalárního procesoru k superskalárnímu (základní organizace superskalárního procesoru)

Superskalární procesory se statickým, dynamickým a hybridním plánováním vykonávaní instrukcí.
02_superskalarni_organizace_uvod_a4m36pap.pdf
Měli byste znát: pipelining_a4m36pap.pdf

3. Přednáška - Superskalární techniky I - Tok dat uvnitř procesoru (register data flow)

Přejmenování registrů (Tomasulův algoritmus) a datové spekulace. Podpora přesného přerušení.
03_superskalarni_techniky_tok_dat_uvnitr_procesoru_a4m36pap.pdf

4. Přednáška - Superskalární techniky II - Spekulativní vykonávání (řídicí spekulace)

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, a další. Zotavení po nesprávné predikci.
04_superskalarni_techniky_spekulace_a_predikce_vetveni_a4m36pap.pdf

5. Přednáška - Superkalární techniky III - Memory data flow, a Procesory VLIW a EPIC

Tok dat z/do paměti. Load bypassing a Load forwarding. Spekulativní load. Některé další způsoby redukce latence paměti. Procesory VLIW a EPIC. Využití datového paralelismu, SIMD a vektorové instrukce v ISA. Loop unrolling a Software pipelining - vykonání na WLIV a superskalárním procesoru.
05_superskalarni_techniky_memory_data_flow_a_vliw_a_epic_a4m36pap.pdf

6. Přednáška – Pamětový subsystém

Neblokující cache, Victim cache, Virtuální pamět a cache
06-pamet_uvod-pap.pdf

7. Přednáška - Multiprocesorové systémy a problém koherence paměti

Architektury multiprocesorových počítačů. Systémy s distribuovanou a sdílenou pamětí (DMS, SMS). Architektury symetrických multiprocesorových počítaču. Způsoby zajištění koherence v SMP.
07_pamet_cast_2_koherence_a4m36pap.pdf

Rozšířená verze přednášky 07-pamet_koherence-pap.pdf

8. Přednáška - Multiprocesorové systémy a problém konzistence paměti

Pravidla pro provádění paměťových operací, zajištění sekvenční konzistence, modely paměťové konzistence.
08_pamet_cast_3_konzistence_a4m36pap.pdf

Rozšířená verze přednášky: 08-pamet_konzistence-pap.pdf

9. Přednáška - Programování paralelních systémů I

Úvodní přednáška.
09_paralelizmus_pap.pdf
Způsoby programování paralelních systémů - použití Message Passing Interface (MPI) a Open Multi-Processing (OpenMP) pro tvorbu paralelních programů.
09_paralelni_programovani_a4m36pap.pdf

10. Přednáška - Programování paralelních systémů II

Synchronizace. Přednáška zatím nezařazena.

11. Přednáška - Propojovací sítě

Statické a dynamické propojovací sítě. 11_propojovaci_site_pap.pdf

12. Přednáška - Časový a prostorový paralelizmus v praxi

Ukázka vybraných partií na procesoru Intel Nehalem, Haswell, AMD Optreon, IBM Power4,…12_nehalem_a4m36pap.pdf

ARM, AArch64, RISC-V 12-risc-arch.pdf

13. Přednáška - Využití grafických karet pro paralelní programy

13_gpu_a_gpgpu_pap.pdf

14. Přednáška – Pohled do historie a budoucnosti

14_historie_a_vyhledy_pap.pdf

Materiál k zopakování I/O podsystému: PCIe, HyperTransport, QuickPathInterconnect 10_io_podsystem.pdf