Architektura počítače
Když se řekne architektura, většina si asi představí návrh budovy. U počítačů je to dost podobné. Jde o návrh, jak jsou jednotlivé součástky (obrazně ‚místnosti‘) poskládané a jak si mezi sebou předávají data (kudy vedou ‚chodby‘).
Dnes nás nebude tolik zajímat, jak vypadá bedna od počítače nebo jak barevně svítí větráčky. Půjdeme víc do hloubky. Zaměříme se na to, jak přesně přemýšlí procesor a jakým způsobem sahá pro data do paměti.
Co je to architektura počítače?
Struktura systému
Architektura počítače představuje abstraktní model a provozní popis hardwarových komponent. Zabývá se tím, jak jsou jednotlivé funkční celky navrženy a propojeny do jednoho funkčního počítače.
Procesor a paměť
Definuje především vnitřní logiku zpracování dat. Zaměřuje se na způsob práce procesoru, dekódování instrukcí, organizaci přístupu k systémové paměti a přenos signálů po sběrnicích.
Pojmy
MB
Motherboard (základní deska) – představme si jako městskou plochu, na které stojí všechny budovy a jsou propojeny – v IT se jedná o vícevrstvou deska ze sklolaminátu (laminátu se skelnými vlákny), na níž jsou vytvořeny vodivé spoje a umístěny elektronické součástky. Zajišťuje napájení a datové propojení všech hlavních komponent počítače, především procesoru, operační paměti, grafické karty, úložišť, rozšiřujících karet a vstupně-výstupních portů.
CPU
Central Processing Unit (centrální procesorová jednotka). Hlavní výpočetní jednotka počítače – většinou velmi komplikovaný integrovaný obvod, který zpracovává data prostřednictvím strojového kódu. Obsahuje typicky i malé, ale velmi rychlé paměti (cache).
ALU
Arithmetic Logic Unit (aritmeticko logická jednotka). Jedná se o výpočetní část procesoru, kromě ní se procesor skládá ještě z registrů, řadičů a cache pamětí.
CU
Control Unit (řadič). Řídí činnost procesoru (načítání strojových instrukcí z paměti, jejich dekódování, provedení a uložení).
ROM
Read-only Memory (paměť pouze pro čtení). Nevolatilní paměť, ve které je uložen firmware počítače a dalších zařízení. Uchovává programy potřebné pro spuštění a základní řízení hardwaru i po vypnutí napájení.
RAM
Random Access Memory (paměť s náhodným přístupem ke čtení nebo zápisu), také operační paměť. Volatilní paměť, slouží pro ukládání dat pro zpracování procesorem. Načítá / ukládá data z / do SSD / pevného disku. Funguje několik tisíckráte rychleji než SSD.
SSD
Solid State Drive. Zařízení pro dlouhodobé ukládání dat, které využívá polovodičovou flash paměť. Na rozdíl od klasického pevného disku (HDD) neobsahuje žádné pohyblivé části, díky čemuž je výrazně rychlejší, tišší, odolnější proti otřesům a má nižší spotřebu energie.
Bus
Sběrnice. Skupina vodičů, která slouží pro propojení a komunikaci jednotlivých obvodů na základní desce a přídavných karet. Například PCI express.
I/O
Input / Output Devices (vstupní / výstupní zařízení). Vstupní zařízení například klávesnice, myš, skener; výstupní zařízení například monitor, tiskárna. Vstupně-výstupní zařízení například dotyková obrazovka nebo tiskárna se skenerem.

Harvardská architektura
Přesuňme se do 40. let 20. století na Harvard, kde Howard Aiken staví obrovský stroj Mark I. V té době nebyly disky ani flashky. Programy se do něj nahrávaly pomocí děrných pásek. Základní myšlenkou Harvardu je oddělení. Máme dvě fyzicky oddělené paměti:
- obsahuje program (instrukce, co se má stát) = ROM
- obsahuje čistě jen data (čísla, se kterými počítáme) = RAM
Výhody jsou jasné – umožňuje paralelní přístup k oběma pamětím, což zvyšuje rychlost zpracování. Navíc umístění programu v ROM (nemodifikovatelná) zvyšuje bezpečnost celého systému.
Dnes se takto celý počítač nestaví – bylo by to neúměrně drahé a složité na propojování. Ale tento způsob dodnes používají procesory uvnitř – velmi rychlá cache paměť (obsažena přímo v procesoru) je rozdělena na část pro instrukce a část pro data.
Von Neumannova architektura
Rok 1945, matematik John von Neumann. V rámci práce na počítači EDVAC vymyslel koncept, na kterém jsou postaveny prakticky všechny dnešní počítače. Co udělal? Sloučil paměť.
Představte si jen jeden obrovský sklad, kde je uloženo všechno, co pro aktuální práci potřebujeme. Takovým skladem v počítači je operační paměť (RAM). V ní leží všechno – jak Váš kód z Visual Studia Code, tak data ze všech tabulek.
Tento přístup však má jedno úzké hrdlo – procesor si vždy sáhne pro instrukci, počká, až přijede po sběrnici, pak si sáhne do stejné paměti pro data. Zpracování je sekvenční (krok za krokem), nikoliv paralelní. Řešením této situace je přidáním právě cache pamětí již přímo do procesoru – tak nemusí komunikovat neustále pouze s operační pamětí.