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] Hennessy, J. L., and D. A. Patterson. Computer Architecture: A Quantitative Approach, 4rd ed. Morgan Kaufman, 2006. ISBN: 0123704901.
[2] Patterson, D. A., and J. L. Hennessy. Computer Organization and Design: The Hardware/Software Interface, 4rd ed. Morgan Kaufman, 2011. ISBN: 0123747503.

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
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
BPKYR_2016 Common courses 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 19.4.2024 12:51:18, semester: Z,L/2023-4, Z/2024-5, Send comments about the content to the Administrators of the Academic Programs Proposal and Realization: I. Halaška (K336), J. Novák (K336)