Architektury počítačů
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
AD4B35APO | Z,ZK | 6 | 14KP+6KC | česky |
- Garant předmětu:
- Přednášející:
- Cvičící:
- Předmět zajišťuje:
- katedra řídicí techniky
- Anotace:
-
Předmětem studenty seznámí 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 Struktury počítačových systémů, ve kterém se studenti seznámili
s kombinačními, sekvenčními obvody a základu stavby procesorů. Po úvodním
přehledu funkčních bloků počítače je podrobněji popsána stavba
procesoru, jejich propojování, 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 důrazný zřetel na ozřejmení 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 naopak zaměřena na softwarový pohled na počítačový
systém, kdy studenti postupně přecházejí od výuky základů
multithreadového programování k přímé obsluze portů
a hardware.
- Požadavky:
-
Přiměřená znalost jazyka C, základní orientace v oblasti logických
a sekvenčních obvodů. 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á.Stránky předmětu: https://moodle.dce.fel.cvut.cz/
- Osnova přednášek:
-
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. Vývoj koncepcí a technik CPU. Porovnaní přístupů RISC (load-store)
CISC procesorů. Pipeline, predikce skoků a super-skalární CPU.
3. Sítě procesorů, paralelní systémy a propojovací sítě.
Topologie, komunikace. Symetrický multiprocesing, NUMA architektury.
4. Hierarchický koncept pamětí, správa paměti a MMU, konsistence dat,
protokoly MSI až MOESI, speciální instrukce a atomické operace.
5. Vstupní a výstupní podsystém počítače, řízení vstupů a výstupů.
Periferie, řadič periferie, DMA, řešení konzistence dat při DMA
operacích.
6. Počítačový systém, technické a organizační prostředky.
Zpracování vnějších událostí (přerušení), výjimek, obvody reálného času.
7. Sítě počítačů, topologie sítí, komunikace. Sítě typu LAN, MAN, WAN,
sítě řídicích počítačů.
8. 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í.
9. 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.
10. Klasická registrově orientovaná architektura s kompletní
instrukční sadou. Principy jsou demonstrovány na architektuře
FreeScale M68xxx/ColdFire. Ukázka realizace MMU, cache, sběrnice
a atd.
11. 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).
12. Krátký přehled architektur RISC a procesorů používaných pro vestavěné
aplikace ARM, ColdFire a PowerPC.
13. Standardní systémové a I/O sběrnice počítačových systémů (ISA,
PCI, PCIexpress, USB, SCSI, SATA, VME,.). Hlavní důraz na důvody
přechodu od paralelních k vícekanálovým sériovým sběrnicím s
paketovou komunikací. Výhody a nevýhody tohoto přístupu pro
reálné řízení.
14. Prostředky pro styk s technologickým procesem, analogové a
diskrétní I/O, sběr a zpracování dat.
- Osnova cvičení:
-
1. Program cvičení, bezpečnost, provozní řád, řízení v reálném čase (RT).
2. Charakteristika a práce v OS Linux,
Úloha 1 - procvičení tvorby algoritmů v jazyku C.
3. Úloha 2 - Procesy, signály.
4. Úloha 3 - Vlákna
5. Úloha 4 - Sockety
6. Úloha 5 - Seriová komunikace
7. Rezerva na řešení úloh 1 - 5.
8. Zadání hlavní úlohy - regulace otáček a polohy motoru. Snímání pomocí IRC,
generování PWM, vizualizace.
9. Test. 3 teoretické otázky z témat probíraných na cvičení a praktická část
ve formě programu.
10. Samostatné řešení hlavní úlohy.
11. Samostatné řešení hlavní úlohy.
12. Samostatné řešení hlavní úlohy.
13 Odevzdání hlavní úlohy, opravný test.
14. Zápočet
- Cíle studia:
-
Předmět seznamuje s architekturou počítačů a studenti poznají funkcionalitu jeho typických podsystémů.
- Studijní materiály:
-
[1] Hennessy, J. L., and D. A. Patterson. Computer Architecture: A
Quantitative Approach, 3rd ed. San Mateo, CA: Morgan Kaufman, 2002.
ISBN: 1558605967.
[2] Hennessy, J. L., and D. A. Patterson. Computer Architecture: A
Quantitative Approach, 2nd ed. San Mateo, CA: Morgan Kaufman, 1995.
ISBN: 1558603727.
[3] Patterson, D. A., and J. L. Hennessy. Computer Organization and
Design: The Hardware/Software Interface, 3rd ed. San Mateo, CA: Morgan
Kaufman, 2004. ISBN: 1558606041.
[4] Pinker, J.: Mikroprocesory a mikropočítače, BEN
http://www.ben.cz/_e/all/121158_mikroprocesory-a-mikropocitace.htm
[5] Hyde, R.: The Art of Assembly Language, 2003, 928 pp.
ISBN-10 1-886411-97-2
ISBN-13 978-1-886411-97
http://webster.cs.ucr.edu/AoA/
[7] Bach., M., J.: The Design of the UNIX Operating System,
Prentice Hall, 1986
[8] Bayko., J.: Great Microprocessors of the Past and Present
- Poznámka:
-
Computer architectures Rozsah výuky v kombinované formě studia: 14p+6c
- Další informace:
- Pro tento předmět se rozvrh nepřipravuje
- Předmět je součástí následujících studijních plánů: