460-2034/03 – Architektury počítačů a paralelních systémů (APPS)
Garantující katedra | Katedra informatiky | Kredity | 6 |
Garant předmětu | Ing. Petr Olivka, Ph.D. | Garant verze předmětu | Ing. Petr Olivka, Ph.D. |
Úroveň studia | pregraduální nebo graduální | Povinnost | povinný |
Ročník | 2 | Semestr | letní |
| | Jazyk výuky | čeština |
Rok zavedení | 2019/2020 | Rok zrušení | |
Určeno pro fakulty | FEI | Určeno pro typy studia | bakalářské |
Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi
Cílem předmětu je seznámit studenty se základním technickým vybavením počítačů a principem činnosti jejich jednotlivých částí. Vybrané principy jsou demonstrovány na mikropočítačích, osobních počítačích a GPU (dostupné architektury).
Absolvováním kurzu získají studenti znalosti o základních komponentách počítače a pochopí obecné principy jejich fungování. Během praktické části kurzu si studenti osvojí schopnost vyvíjet programy pro mikropočítače, víceprocesorové počítače a programování GPU. Seznámí se také se základy programování v jazyce symbolických instrukcí.
Vyučovací metody
Přednášky
Cvičení (v učebně)
Experimentální práce v laboratoři
Anotace
Studenti v předmětu získají znalosti o základních komponentách počítače a pochopí obecné principy jejich fungování.
Povinná literatura:
[1] Olivka P.: Studijní materiály v elektronické verzi pro předmět APPS (česky), http://poli.cs.vsb.cz/edu/apps/osnova.html
[2] Olivka P.: Programování ve jazyce symbolických instrukcí, elektronická verze studijních materiálů, http://poli.cs.vsb.cz/edu/soj
[3] Olivka, P., Seidl, D.: Návody do cvičení, elektronická verze, http://poli.cs.vsb.cz/edu/apps/
[3] Ličev L.: Architektury počítačů, 2010, Elektronický sborník přednášek k předmětu Architektury počítačů.
[4] Patterson, D.: The Top 10 Innovations in the New NVIDIA Fermi Architecture, and the Top 3 Next Challenges. 2009.
Doporučená literatura:
Další studijní materiály
Forma způsobu ověření studijních výsledků a další požadavky na studenta
Praktické znalosti jsou ověřovány při laboratorních cvičeních a jednotlivé úkoly jsou hodnoceny bodováním.
Teoretické znalosti jsou ověřeny při zkoušce.
E-learning
Další požadavky na studenta
Programování v jazyce C, základní znalosti programování v C++.
Prerekvizity
Korekvizity
Předmět nemá žádné korekvizity.
Osnova předmětu
Přednášky:
1. Architektura počítače dle von Neumanna a harvardská, základní vlastnosti a principy činnosti.
2. Monolitické počítače, požadavky na konstrukci, vlastnosti a použití, typické integrované periférie.
3. Základní principy komunikace s perifériemi, sběrnice, V/V brány, programové řízení a využívání přerušení. Princip DMA.
4. Procesory RISC a CISC, základní rysy, důvody vzniku. Zřetězené zpracování instrukcí, predikce skoků, druhy hazardů.
5. Nejrozšířenější procesory RISC a jejich vlastnosti.
6. Procesory Intel, historie vývoje, architektura posledních procesorů.
7. Organizace pamětí v počítačích, paměťová hierarchie. Vnitřní paměti statické, dynamické, organizace virtuální paměti.
8. Pevné disky a optické disky. Principy činnosti, způsob ukládání dat, organizace dat na médiu.
9. Zobrazovací jednotky počítačů, CRT, LCD, OLED, E-Ink.
10. Pokročilé architektury počítačů GPU, historie výpočtů, technologie CUDA.
11. Moderní trendy architektur počítačů. Architektury paralelních systémů a počítačů.
12. Strojové instrukce, základní způsoby adresování, registry procesoru Intel v 64bitovém režimu.
13. Celočíselná jednotka procesoru, volání funkcí - navrátové hodnoty a předávání parametrů.
14. Organizace dat na zásobníku, lokální proměnné, práce s čísly s plovoucí desetinnou tečkou.
Laboratorní cvičení:
1. Bezpečnostní školení, seznámení s vývojovým Kitem mikropočítače a programovacím prostředím, programování jednoduché aplikace.
2. Princip pulzně šířkové modulace, ovládání LED, jednoduchá animace.
3. Pulzně šířková modulace,paralelní ovládání LED, skládání RGB barev, ovládání pomocí tlačítek.
4. Ovládání LCD grafického displeje, skládání barev, zpracování bitmapového fontu.
5. Ovládání LCD, zobrazení grafických i textových informací, jednoduchá aplikace ovládaná tlačítky.
6. I2C sběrnice, ovládání expandéru a LED.
7. I2C sběrnice, ovládání FM rádiového modulu, zobrazení RDS informací.
8. Technologie CUDA, základní koncepce programu, programování aplikace využívající vektory a matice.
9. Technologie CUDA, zpracování digitálních obrázků, programování základních transformací.
10. Technologie CUDA, vytváření jednoduchý animací.
11. Základy programování v jazyce symbolických instrukcí (JSI), spojování s jazykem C, adresování, použití globálních proměnných.
12. Základní instrukce ALU, volání funkcí JSI z jazyka C, předávání parametrů, lokální proměnné.
13. Předávání parametrů s plovoucí desetinnou tečkou.
14. Možnosti využití jednotky SSEx.
Podmínky absolvování předmětu
Výskyt ve studijních plánech
Výskyt ve speciálních blocích
Hodnocení Výuky