Architektura počítače
Architektura počítačů je technický obor zaměřený na návrh a konstrukci zařízení na zpracování dat. Zahrnuje stanovení vnitřní reprezentace dat, operací, které se s nimi budou provádět, specifikaci funkčních bloků počítače a jejich propojení, formát strojových instrukcí. Přitom se zabývá především způsobem, jak pracuje CPU a jakým způsobem přistupuje k paměti.
Architektura počítače je konkrétní způsob realizace počítače.
Za referenční architekturu lze považovat Von Neumannovo schéma počítače publikované v roce 1945, které definuje základní strukturu a principy počítače řízeného programem uloženým v paměti. Moderní počítače z tohoto schématu vycházejí, ale v různých detailech se od něj odchylují.
Struktura počítače
[editovat | editovat zdroj]Základní strukturu počítače lze dobře popsat na příkladu von Neumannovy architektury.
Von Neumannova architektura
[editovat | editovat zdroj]Podle von Neumannova schématu se počítač skládá z řadiče, aritmeticko-logické jednotky, (vnitřní) paměti, vstupních a výstupních zařízení a vnější paměti. Ve vnitřní paměti jsou uložena data i program. Program se skládá z jednotlivých strojových instrukcí. Činnost von Neumannova počítače je přísně sekvenční a je řízena řadičem. Řadič načítá jednu instrukci po druhé, dekóduje je a postupně je provádí. Každou instrukci lze rozdělit na jednodušší operace. Způsob, jak je instrukční sada implementována nazýváme mikroarchitektura.
Sběrnice
[editovat | editovat zdroj]Sběrnice (anglicky bus) je sada vodičů propojujících jednotlivé části počítače. Sběrnici lze rozdělit na tři části:
- datová sběrnice – slouží k přenosu dat mezi jednotlivými částmi počítače; její šířka (počet vodičů) je nejčastěji rovna velikosti slova
- adresní sběrnice – slouží k předávání adresy při adresování vnitřní paměti nebo zařízení; na její šířce závisí maximální rozsah adresovatelné paměti
- řídicí sběrnice – slouží k přenosu řídicích signálů, např. čtení/zápis, paměť/vstupně výstupní zařízení, signalizace přerušení, akceptování přerušení
Jednotka přístupu k paměti
[editovat | editovat zdroj]Jednotku přístupu k paměti (anglicky Memory management unit, MMU) používají vyspělejší procesory pro převod logické (virtuální) adresy na adresu fyzickou. MMU umožňuje používat pokročilé metody správy paměti jako je stránkování, segmentace a stránkování na žádost. Někdy se jedná o samostatný obvod, v některých procesorech je vestavěna.
Aritmeticko-logická jednotka
[editovat | editovat zdroj]Aritmeticko-logická jednotka je schopna zpracovávat data omezené velikosti – tak zvané slovo. Moderní počítače pracují s daty ve dvojkové soustavě o velikosti od několika bitů po desítky bitů, některé starší počítače pracovaly v desítkové soustavě a rychlost práce s desítkovými daty závisela na počtu desítkových řádů operandů.
Centrální procesorová jednotka
[editovat | editovat zdroj]Řadič, aritmeticko-logická jednotka a velmi rychlá paměť malého rozsahu (několik bytů až stovky bytů) někdy nazývaná zápisníková paměť, častěji sada registrů, zpravidla tvoří jeden celek nazývaný centrální procesorová jednotka (anglicky Central processing unit, CPU), krátce procesor. Architektura procesoru je významně ovlivňuje architekturu celého počítače. Jedná se především o následující parametry:
- Velikost slova procesoru
- Způsob adresování paměti a vstupně-výstupních zařízení
- Instrukční sada
- Způsob komunikace mezi řadiči vstupně-výstupních zařízení a procesorem
- Existence dalších zařízení, které řídí přístup k sběrnici
Harvardská architektura
[editovat | editovat zdroj]Současné počítače se od von Neumannovy architektury v mnoha směrech odchylují. Jednou z odchylek je harvardská architektura, která používá oddělenou paměť pro program a pro data. Tím se jednak odstraní úzké místo, které tvoří přístup procesoru k paměti, jednak zabrání přepsání a přečtení programu. Harvardská architektura se často používá u jednočipových mikropočítačů.
Přímý přístup k paměti
[editovat | editovat zdroj]Přímý přístup k paměti (anglicky Direct Memory Access, též Bus mastering) je metoda urychlení přenosu dat mezi pamětí a vstupně/výstupními zařízeními, kdy přenos neřídí procesor, ale jiná část počítače. Mohou ji používat řadiče disků (příp. magnetických pásek), síťové adaptéry, videoadaptéry a zvukové karty. Při přímém přístupu k paměti buď řadič na určitou dobu převezme řízení sběrnice od procesoru nebo využívá hodinové cykly, při kterých procesor nepřistupuje k paměti (tzv. kradení cyklů, anglicky cycle stealing, díky pipeliningu není použitelné na moderních procesorech).
Víceprocesorové architektury
[editovat | editovat zdroj]Pro zvýšení výkonu počítače se používají počítače s více procesory. Může se jednat o univerzální (CPU) nebo specializované procesory (např. numerický procesor, vstupně/výstupní procesor, grafický procesor apod.).
Instrukční sada
[editovat | editovat zdroj]Řadič načítá instrukci po instrukci, každou instrukci dekóduje a poté vykoná.
Instrukce lze rozdělit do několika skupin:
- Instrukce pro přesuny dat
- Aritmetické a logické instrukce
- Řídicí instrukce