Název:

Architektura procesorů

Zkratka:ACH
Ak.rok:2017/2018
Semestr:zimní
Studijní plán:
ProgramOborRočníkPovinnost
IT-MGR-2MBI-volitelný
IT-MGR-2MBS-povinně volitelný - skupina C
IT-MGR-2MGM2.volitelný
IT-MGR-2MIN-volitelný
IT-MGR-2MIS-volitelný
IT-MGR-2MMI-povinně volitelný - skupina C
IT-MGR-2MMM-volitelný
IT-MGR-2MPV2.povinný
IT-MGR-2MSK-volitelný
IT-MGR-2MSK2.povinně volitelný - skupina C
Vyučovací jazyk:čeština
Kredity:5 kreditů
Ukončení:zápočet+zkouška (písemná)
Výuka:
hod./sempřednáškasem./cvičenílab. cvičenípoč. cvičeníjiná
Rozsah:26001016
 zkouškatestycvičenílaboratořeostatní
Body:60100030
Garant:Jaroš Jiří, doc. Ing., Ph.D., UPSY
Přednášející:Jaroš Jiří, doc. Ing., Ph.D., UPSY
Cvičící:Bordovský Gabriel, Ing., UPSY
Jaroš Jiří, doc. Ing., Ph.D., UPSY
Kadlubiak Kristián, Ing., UPSY
Fakulta:Fakulta informačních technologií VUT v Brně
Pracoviště:Ústav počítačových systémů FIT VUT v Brně
Navazující:
Grafické a multimediální procesory (GMU), UPSY
Návrh externích adaptérů a vestavěných systémů (NAV), UPSY
Nahrazuje:
Architektury počítačů (ARP), UPSY
Rozvrh:
DenVýukaTýdenMístnostOdDoPSKSk-odSk-do
Pozkouška - řádná2018-01-15E11211:0012:501MIT
Pozkouška - řádná2018-01-15E11211:0012:502MIT
Útzkouška - Půlsemestrální test2017-11-07G20209:0009:50
Útzkouška - 1. oprava2018-01-23E10416:0017:501MIT
Útzkouška - 1. oprava2018-01-23E10416:0017:502MIT
Stzkouška - 2. oprava2018-01-31E10508:0009:501MIT
Stzkouška - 2. oprava2018-01-31E10508:0009:502MIT
 
Cíle předmětu:
  Seznámit se s architekturou nejnovějších procesorů pracujících s paralelismem na úrovni instrukcí, vláken a dat. Ujasnit si úlohu překladače a jeho spolupráci s procesorem. Získat schopnost orientovat se v nabídce mikroprocesorů, dovést je hodnotit a porovnávat. Dále se seznámit s architekturou grafických procesorů a jejich použitím pro akceleraci výpočtů (GPGPU) a s technikami použitými u nízkopříkonových procesorů pro mobilní aplikace.
Anotace:
  Předmět pokrývá architekturu univerzálních i specializovaných procesorů. Paralelismus na úrovni instrukcí (ILP) je studován na procesorech skalárních, superskalárních a VLIW. Dále jsou probrány procesory s vláknovým paralelismem (TLP). Datový paralelismus je ilustrován na SIMDových instrukcích a na grafických procesorech (SIMT).  Probírají se základní techniky paralelizace výpočtů na GPU (CUDA). Jsou vysvětleny i techniky nízkopříkonových procesorů. 
Požadované prerekvizitní znalosti a dovednosti:
  Architektura počítače typu von Neumann, hierarchická organizace paměťového systému, programování v JSI, činnost a funkce kompilátoru
Získané dovednosti, znalosti a kompetence:
  Přehled mikroarchitektury procesorů a jejich trendů, dovednost porovnat procesory a simulovat vhodnými nástroji vliv změn v jejich architektuře. Osvojit si měření výkonnosti procesorů. Znalosti o architektuře a obvodové podpoře paralelního zpracování na grafických procesorech bezprostředně využitelné pro akceleraci výpočtů.
Osnova přednášek:
 
  1. Skalární procesory: zřetězené zpracování, asistence kompilátoru.
  2. Superskalární CPU, dynamické plánování instrukcí, predikce skoků.
  3. Optimalizace toku dat přes registry a přes paměť, hierarchie pamětí cache.
  4. Optimalizace načítání instrukcí a dat. Příklady superskalárních procesorů.
  5. Procesory s podporou datového paralelismu, SIMDová a vektorizace.
  6. Procesory s podporou vláken.
  7. Architektura grafických jednotek GPU a zpracování SIMT.
  8. Programovací jazyk CUDA, model vláken a paměťový model.
  9. Synchronizace a redukce na GPU, návrh a optimalizace algoritmů pro GPU.
  10. Víceproudové zpracování, multi-GPU systémy, knihovny pro programování na GPU.
  11. Architektura akcelerátorů s mnoha jádry (MIC, Xeon Phi) a jejich programování.
  12. Procesory s velmi dlouhým instrukčním slovem (VLIW). SW řetězení, predikace, binární překlad.
  13. Techniky nízkopříkonových procesorů.
Osnova počítačových cvičení:
 
  1. Měření výkonnosti sekvenčního kódu.
  2. Vektorizace kódu pomocí OpenMP 4.0.
  3. CUDA: Paměťové přenosy, jednoduché kernely.
  4. CUDA: Práce se sdílenou pamětí.
  5. CUDA: Práce s texturní a konstantní pamětí, operace redukce.
Osnova ostatní - projekty, práce:
 
  • Měření výkonnosti a optimalizace procesorového kódu pomocí OpenMP 4.0
  • Akcelerace výpočetní úlohy pomocí CUDA 8.0
Literatura referenční:
 
  • Baer, J.L.: Microprocessor Architecture. Cambridge University Press, 2010, 367 s., ISBN 978-0-521-76992-1.
  • Hennessy, J.L., Patterson, D.A.: Computer Architecture - A Quantitative Approach. 5. vydání, Morgan Kaufman Publishers, Inc., 2012, 1136 s., ISBN 1-55860-596-7. 
  • Kirk, D., and Hwu, W.: Programming Massively Parallel Processors: A Hands-on Approach, Elsevier, 2010, s. 256, ISBN: 978-0-12-381472-2
  • Jeffers, J., and Reinders, J.: Intel Xeon Phi Coprocessor High Performance Programming, 2013, Morgan Kaufmann, p. 432), ISBN: 978-0-124-10414-3
Literatura studijní:
 
Průběžná kontrola studia:
  Vyhodnocení dvou projektů v celkovém rozsahu 13 hodin, bodovaná počítačová cvičení, půlsemestrální písemka.
Podmínky zápočtu:
  Získání 20 ze 40 bodů za projekty a půlsemestrální písemku.