{{indexmenu_n>5000}} ====== 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í. \\ {{courses:B4M35PAP:lectures:02_superskalarni_organizace_uvod_a4m36pap.pdf|}} \\ Měli byste znát: {{courses:B4M35PAP:lectures:05_pipelining_a4m36pap.pdf|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í.\\ {{courses:B4M35PAP:lectures: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.\\ {{courses:B4M35PAP:lectures: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. \\ {{courses:B4M35PAP:lectures: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 \\ {{:courses:b4m35pap:lectures: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. \\ {{courses:B4M35PAP:lectures:07_pamet_cast_2_koherence_a4m36pap.pdf|}} Rozšířená verze přednášky {{:courses:b4m35pap:lectures: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.\\ {{courses:B4M35PAP:lectures:08_pamet_cast_3_konzistence_a4m36pap.pdf|}} Rozšířená verze přednášky: {{:courses:b4m35pap:lectures:08-pamet_konzistence-pap.pdf|}} === 9. Přednáška - Programování paralelních systémů I === Úvodní přednáška. \\ {{:courses:b4m35pap:lectures: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ů.\\ {{courses:B4M35PAP:lectures: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ě. {{:courses:b4m35pap:lectures: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,...{{:courses:B4M35PAP:lectures:12_nehalem_a4m36pap.pdf|}} ARM, AArch64, RISC-V {{:courses:b4m35pap:lectures:12-risc-arch.pdf|}} === 13. Přednáška - Využití grafických karet pro paralelní programy === {{:courses:b4m35pap:lectures:13_gpu_a_gpgpu_pap.pdf|}} === 14. Přednáška – Pohled do historie a budoucnosti === {{:courses:b4m35pap:lectures:14_historie_a_vyhledy_pap.pdf|}} Materiál k zopakování I/O podsystému: PCIe, HyperTransport, QuickPathInterconnect {{courses:B4M35PAP:lectures:10_io_podsystem.pdf|}} /* === 13. Přednáška - Perspektivy a omezení dalšího rozvoje === {{courses:B4M35PAP:lectures:13_limity_a_vize_a4m36pap.pdf|}} */ /* === 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. \\ {{courses:B4M35PAP:lectures:01_uvodni_prednaska_a4m36pap.pdf|}} === 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. \\ {{courses:B4M35PAP:lectures:02_paralelizmus_a4m36pap.pdf|}} === 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ů. \\ {{courses:B4M35PAP:lectures:03_paralelni_programovani_a4m36pap.pdf|}} === 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). {{courses:B4M35PAP:lectures:04_gpu_a_gpgpu_a4m36pap_2013.pdf|}} \\ === 5. Přednáška - Skalární procesor === Část I.: Návrh jednocyklového procesoru a zřetězeného procesoru (řešení hazardů). \\ {{courses:B4M35PAP:lectures:05_pipelining_a4m36pap.pdf|}} \\ Část II.: Poznámky k semestrálnímu projektu. \\ {{courses:B4M35PAP:lectures:05_poznamky_k_projektu_a4m36pap.pdf|}} \\ === 6. 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í. \\ {{courses:B4M35PAP:lectures:06_superskalarni_organizace_uvod_a4m36pap_2013.pdf|}} \\ === 7. Přednáška - Superskalární techniky I - 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. \\ {{courses:B4M35PAP:lectures:07_superskalarni_techniky_predikce_vetveni_a4m36pap_2013.pdf|}} \\ === 8. Přednáška - Superskalární techniky II - Tok dat uvnitř procesoru (register data flow) === Přejmenování registrů (Tomasulův algoritmus) a datové spekulace. Podpora přesného přerušení. \\ {{courses:B4M35PAP:lectures:08_superskalarni_techniky_tok_dat_uvnitr_procesoru_a4m36pap_2013.pdf|}} \\ === 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. \\ {{courses:B4M35PAP:lectures:08_spekulace_a4m36pap.pdf|}} \\ === 9. 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. \\ {{courses:B4M35PAP:lectures:09_superskalarni_techniky_memory_data_flow_a_vliw_a_epic_a4m36pap_2013.pdf|}} === 10. 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. \\ {{courses:B4M35PAP:lectures:10_smp_a_zajisteni_koherence_a4m36pap_2013.pdf|}} === 11. 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.\\ {{courses:B4M35PAP:lectures:09_konzistence_a4m36pap.pdf|}} === 12. Doplňující materiál - Časový a prostorový paralelizmus v praxi === Ukázka vybraných partií na procesoru Intel Nehalem, AMD Optreon,... \\ {{courses:B4M35PAP:lectures:10_nehalem_a4m36pap.pdf|}} */ /* === 11. Přednáška - Časový a prostorový paralelizmus v praxi === Ukázka vybraných partií na procesoru Intel Nehalem, AMD Optreon, IBM Power4,... \\ {{courses:B4M35PAP:lectures:10_nehalem_a4m36pap.pdf|}} === 12. Přednáška - Superpočítače dnešní doby === Původní plánované téma: Masívně paralelní procesory (MPP) a clustery, Superpočítače na báze GPU; Propojovací sítě – statické a dynamické. \\ Přednášené téma: Historie superpočítačů (úvod), Propojovací sítě - statické a dynamické (přehled). \\ {{courses:B4M35PAP:lectures:11_superpocitace_historie_a4m36pap.pdf|}} \\ {{courses:B4M35PAP:lectures:interconnection_networks.pdf|}} === 13. 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. \\ {{courses:B4M35PAP:lectures:12_io2012_a4m36pap.pdf|}} === 14. Přednáška === Realizace moderního IO podsystému (NUMA architektury), HyperTransport, Quick path interconnect \\ {{courses:B4M35PAP:lectures:13_realizacesbernice2012_a4m36pap.pdf|}} === 15. Přednáška === Perspektivy a omezení dalšího rozvoje, rezerva \\ {{courses:B4M35PAP:lectures:14_limity_a_vize_a4m36pap.pdf|}} */