Popis předmětu - B4B35APO
| B4B35APO | Architektura počítačů | ||
|---|---|---|---|
| Role: | P | Rozsah výuky: | 2P+2L |
| Katedra: | 13135 | Jazyk výuky: | CS |
| Garanti: | Píša P. | Zakončení: | Z,ZK |
| Přednášející: | Píša P., Štěpán P. | Kreditů: | 6 |
| Cvičící: | Kočí K., Lenc M., Píša P., Štěpán P. | Semestr: | L |
Webová stránka:
https://cw.felk.cvut.cz/wiki/courses/b35apo/Anotace:
Předmět seznamuje studující se stavebními prvky počítačových systémů. Předmět přistupuje k výkladu od popisu hardware a tím navazuje na předmět Počítačové a systémy, ve kterém se studující seznámili s kombinačními, sekvenčními obvody a základy stavby procesorů. Po úvodním přehledu funkčních bloků počítače je podrobněji popsána stavba procesoru propojením bloků, paměťový a vstupně výstupní subsystém. Ten je dále přiblížený na příkladech od paralelních sběrnic pro propojení zásuvných karet i subsystémů na čipu. Vysvětlený je i důvod přechodu na rychlé sériové linky. Během výkladu je brán důrazný zřetel na ozřejmění provázanosti hardwarových komponent s podporou SW, především nejnižších vrstev operačních systémů, ovladačů zařízení a virtualizačních technik. Obecné principy jsou v další části přednášek rozvedeny na příkladech několika standardních procesorových architektur. Cvičení jsou v první části zaměřena na detailní seznámení s činností procesoru. Od programování na úrovni procesoru pak postupují k přímé obsluze portů a hardware s využitím programovacího jazyka C.Cíle studia:
Předmět seznamuje s architekturou počítačů od základních principů a subsystémů až po jejich propojení s vnějším světem, programovým vybavením a nižšími vrstvami operačních systémů.Osnovy přednášek:
| 1. | Architektura počítače, struktura, organizace a podsystémy. Opakování logických hradel, sčítačky a násobení. | |
| 2. | Procesor - ALU, von Neumannova architektura, formát instrukcí, jednocyklový procesor, řadič a řízení. | |
| 3. | Paměť - hierarchický koncept, technologie pamětí, správa paměti, vyrovnávací paměti cache, konzistence dat. | |
| 4. | Virtualizace paměti, MMU. Zřetězené vykonávání instrukcí, hazardy, vyvažování stupňů zřetězení a časování. | |
| 5. | Superskalární architektura, statické (in-order) a dynamické (out-of-order) vykonávání instrukcí v superskalárních procesorech, Tomasulův algoritmus a přechod k přístupu s přejmenováním registrů. | |
| 6. | Zpracování paměťových instrukcí, spekulativní načítání dat z paměti. Paměťová koherence a konzistence na vícejádrovém CPU. | |
| 7. | Dynamický instrukční paralelismus. Predikce skoků. Statická predikce, dynamická predikce, Smithovy prediktory, perceptrony. | |
| 8. | Vstupně-výstupní podsystém počítače, sběrnice, dvoubodové spoje, sítě, PCI a PCI express sběrnice. | |
| 9. | Vstupně-výstupní podsystém z pohledu software, vestavných systémů a systémů na čipu. | |
| 10. | Technické a organizační prostředky - vnější události, výjimky, reálný čas, přímý přístup do paměti, autonomní kanál. | |
| 11. | Základy překladačů, předzpracování, syntaktická, sémantická analýza, mezikód. | |
| 12. | Předávání parametrů funkcím. Zásobníkové rámce, registrová okna, přepínání režimů a realizace systémových volání. Mnohaúrovňová organizace počítače. | |
| 13. | Procesorová rodina INTEL x86, Od 8086 k EMT64. Hlavní zaměření na 32-bit a 64-bit režimy s krátkým vysvětlením komplikací způsobených nutností zachování kompatability s 16-bit 8086 a 80286 segmentového přístupu a proč ho současné OS používají v co nejvíce minimalizované formě. Příklad SIMD instrukcí (MMX, SSE). | |
| 14. | Přehled vývoje architektury a koncepcí CPU (RISC/CISC) - procesory RISC-V, ARM, ColdFire, SPARC a PowerPC a procesory pro vestavné aplikace |
Osnovy cvičení:
| 1. | Seznámení s učebnou. | |
| 2. | Reprezentace dat v paměti a plovoucí řádová čárka. | |
| 3. | Instrukční sada procesoru a přepis algoritmu. | |
| 4. | Hierarchický koncept pamětí, cache - 1. část. | |
| 5. | Hierarchický koncept pamětí, cache - 2. část. | |
| 6. | Pipeline a hazardy. | |
| 7. | Predikce skoků, optimalizace kódu. | |
| 8. | I/O prostor mapovaný do paměti a PCI sběrnice. | |
| 9. | Přístup k HW z jazyka C s ohledem i na HW pro semestrální práci. | |
| 10. | Práce na projektu. | |
| 11. | Práce na projektu. | |
| 12. | Práce na projektu. | |
| 13. | Práce na projektu. | |
| 14. | Odevzdání projektu. |
Literatura:
| [1] | Patterson, D. A. and Hennessy, J. L.. Computer organization and design RISC-V edition: the hardware/software interface. Second Edition. Cambridge: Elsevier, 2021. ISBN 978-0-12-820331-6 | |
| [2] | Hennessy, J. L., and Patterson, D. A. Computer Architecture, A Quantitative Approach, 6th Edition, Morgan Kaufman, 2017. ISBN: 978-0-12-811905-1. |
Požadavky:
Během druhé půle semestru je potřebná přiměřená znalost jazyka C. Programování v jazyce C lze studovat paralelně s tímto předmětem. Základní znalost práce s příkazovou řádkou a kompilátorem v prostředí splňujícího standard POSIX (např. Linux) je vítaná.Poznámka:
| Stránky předmětu: https://cw.felk.cvut.cz/wiki/courses/b35apo/ . |
Předmět je zahrnut do těchto studijních plánů:
| Plán | Obor | Role | Dop. semestr |
| BPOI_BO_2025 | Před zařazením do oboru | P | 2 |
| BPOI4_2025 | Počítačové hry a grafika | P | 2 |
| BPOI3_2025 | Software | P | 2 |
| BPOI2_2025 | Internet věcí | P | 2 |
| BPOI1_2025 | Základy umělé inteligence a počítačových věd | P | 2 |
| Stránka vytvořena 20.4.2026 05:50:37, semestry: Z,L/2026-7, Z,L/2028-9, L/2029-30, Z,L/2027-8, Z,L/2025-6, připomínky k informační náplni zasílejte správci studijních plánů | Návrh a realizace: I. Halaška (K336), J. Novák (K336) |