Architektury počítačů

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.

Kód
AD4B35APO
Semestr
letní
Forma studia
kombinované
Rozsah
14+6c
Obsazeno
0
Počet kreditů
6
Zakončení
zápočet a zkouška
Jazyk výuky
čeština
Poznámka
Computer architectures Rozsah výuky v kombinované formě studia: 14p+6c
Obsah 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.

Náplň 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