Subject description - B0B35APO
Summary of Study |
Summary of Branches |
All Subject Groups |
All Subjects |
List of Roles |
Explanatory Notes
Instructions
| B0B35APO | Computer Architectures | ||
|---|---|---|---|
| Roles: | P | Extent of teaching: | 2P+2L |
| Department: | 13135 | Language of teaching: | CS |
| Guarantors: | Píša P. | Completion: | Z,ZK |
| Lecturers: | Píša P., Štěpán P., Šusta R. | Credits: | 5 |
| Tutors: | Too many persons | Semester: | L |
Web page:
https://cw.fel.cvut.cz/wiki/courses/b35apo/Anotation:
Předmět studenty seznámí s architekturou soudobých počítačových systémů, především se základními stavebními prvky, jejich funkcí a vzájemným propojením. Předmět přistupuje k výkladu od popisu hardware a klade důraz na porozumění součinnosti programovací jazyk - assembler - hardware. Po úvodním přehledu funkčních bloků počítače je podrobněji popsána stavba procesoru, paměťový a vstupně výstupní subsystém až po přehledové seznámení s různými síťovými topologiemi a sběrnicemi. Během výkladu je brán zřetel na provázanost hardwarových a softwarových komponent, především nejnižších vrstev operačních systémů, ovladačů zařízení a virtualizačních technik. Obecné principy jsou 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.Study targets:
Předmět seznamuje s architekturou počítačů a studenti poznají funkcionalitu jeho typických podsystémů.Course outlines:
| 1. | Architektura počítače, struktura, organizace a podsystémy. Reprezentace, zobrazení a přenos informace (především čísel, IEEE-754) v počítači. | |
| 2. | Procesor - ALU, von Neumannova architektura, formát instrukcí, jednocyklový procesor, řadič a řízení | |
| 3. | Paměť - hierarchický koncept, technologie pamětí, vyrovnávací paměti - cache, konzistence dat, disková úložiště, zabezpečení dat a RAID | |
| 4. | Paměť - virtuální paměť, správa paměti, MMU | |
| 5. | Zřetězené vykonávaní instrukcí, hazardy, vyvažování stupňů zřetězení a časování; Superzřetězení | |
| 6. | Vstupní a výstupní podsystém počítače, sběrnice, dvoubodové spoje, sítě, PCI a PCI express sběrnice, souvislý režim, HyperTransport, Quickpath Interconnect | |
| 7. | Vstupní a výstupní podsystém počítače z pohledu software | |
| 8. | 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 | |
| 9. | Sítě procesorů a počítačů, topologie sítí, komunikace - sítě typu LAN, MAN, WAN, sítě řídicích počítačů | |
| 10. | Předávání parametrů funkcím a virtuálním instrukcím operačního systému. Zásobníkové rámce, registrová okna, přepínání režimů a realizace systémových volání. | |
| 11. | Klasické registrově orientované architektury s komplexní instrukční sadou. Ukázka realizace MMU, cache, sběrnice. | |
| 12. | 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). | |
| 13. | Přehled vývoje architektury a koncepcí CPU (RISC/CISC) - procesory ARM, ColdFire, SPARC a PowerPC a procesory pro vestavné aplikace | |
| 14. | Mnohaúrovňová organizace počítače, virtuální stroje. Konvenční architektura a implementačně závislá mikroarchitektura. Přenositelný bytecode a virtuální programovací prostředí (Java, C#/.Net). Virtualizační techniky (např XEN, VMWARE) a paravirtualizace. |
Exercises outline:
Literature:
| [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. |
Requirements:
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á. Subject is included into these academic programs:| Program | Branch | Role | Recommended semester |
| BPKYR_2016 | Common courses | P | 2 |
| BPOI1_2016 | Computer and Information Science | P | 2 |
| BPOI_BO_2016 | Common courses | P | 2 |
| BPOI4_2016 | Computer Games and Graphics | P | 2 |
| BPOI3_2016 | Software | P | 2 |
| BPOI2_2016 | Internet of Things | P | 2 |
| BPOI_BO_2018 | Common courses | P | 2 |
| BPOI4_2018 | Computer Games and Graphics | P | 2 |
| BPOI3_2018 | Software | P | 2 |
| BPOI2_2018 | Internet of Things | P | 2 |
| BPOI1_2018 | Artificial Intelligence and Computer Science | P | 2 |
| Page updated 14.12.2025 17:51:52, semester: L/2026-7, L/2024-5, Z,L/2025-6, Z/2026-7, Send comments about the content to the Administrators of the Academic Programs | Proposal and Realization: I. Halaška (K336), J. Novák (K336) |