- Úvod do logických systémů, logické výrazy, booleovské funkce, hradla, kombinační a sekvenční obvody, základní funkční bloky, aritmetické operace.
- Výkonnost počítače a procesoru, základní metriky a jejich omezení, porovnávání výkonnosti počítačových architektur.
- Implementace architektury počítače, jednocyklová datová cesta a řízení, vícecyklová datová cesta a řízení, obvodová a mikroprogramová implementace řadiče, zpracování výjimek.
- Zřetězené zpracování instrukcí, skalární pipeline, hazardy při zřetězeném zpracování instrukcí, forwarding/bypassing, predikce skoků, zpracování výjimek.
- Superskalární architektury, statické a dynamické pipelines, zpracování instrukcí mimo pořadí (out-of-order), spekulativní zpracování instrukcí, příklady architektur současných procesorů.
- Architektura paměťového subsystému, latence a propustnost, konstrukce statických a dynamických pamětí, princip a uspořádání cache, mapování paměti do cache, koherence cache.
- Paralelní zpracování a víceprocesorové systémy, Flynnova taxonomie, Amdahlův zákon, vektorové operace pro multimédia, vícejádrové a grafické procesory.
Cílem předmětu je seznámit studenty s návrhem a vnitřní organizací počíta če a procesoru na takové úrovni, aby jako budoucí profesionálové v oboru nevnímali počítač jako černou skříňku, která nějakým blíže neurčeným způsobem vykonává program. K tomu je nutné si osvojit základní princip uspořádání počítače a procesoru na
úrovni funkčních komponent, jich chování, vzájemné komunikaci a vlivu na výkon počítače. Pochopení základních principů moderních architektur je základním předpokladem k efektivnímu použití programovacích jazyků při vývoji počítačových programů.