Počítač slouží jako fyzická platforma pro vykonávání programů a je jednou z možných reálných implementací Turingova stroje. V zájmu zachování obecnosti je počítačem myšlen jakýkoliv stroj, jehož primárním účelem je výpočet výsledku na základě vstupních dat.
Základními stavebními bloky počítačů (a také všech elektronických zařízení) jsou analogové součástky a z nich sestavená logická hradla. Na úrovni logických hradel se začíná pracovat s binární logikou, kterou lze dobře modelovat pomocí Booleovy algebry.
Z hradel jsou sestaveny kombinační obvody, ze kterých po přidání paměťových bloků vznikají obvody sekvenční. Tyto obvody se skládají do stále větších a větších celků, přičemž poslední a nejvyšší celek je možné nazývat „počítač“.
| Úroveň | Model |
|---|---|
| Tranzistory | fyzikální rovnice a modely |
| Logická hradla | pravdivostní tabulky |
| Kombinační obvody | Booleova algebra |
| Sekvenční obvody | konečné automaty Moore, Mealy |
| Procesor | ISA, jazyky symbolických instrukcí |
| Firmware | systémové programovací jazyky |
| Operační systém | systémové programovací jazyky |
| Aplikační software | aplikační programovací jazyky |
Von Neumannovská (někdy také Stanfordská) architektura je pojmenovaná podle slavného američana maďarského původu Johna von Neumanna. V této architektuře jsou instrukce i data uloženy v téže paměti a nejsou nijak explicitně rozlišeny. Paměť je organizována lineárně na buňky stejné velikosti, které jsou adresovatelné celými čísly. Data jsou reprezentována binárně a jejich datové typy se implicitně nerozlišují. Instrukce se provádí jednotlivě a to postupně tak, jak jsou zapsány v paměťi, dokud není toto pořadí ovlivněno speciální instrukcí (např. skoky). Von Neumannovská architektura najde využití všude tam, kde je požadována univerzálnost a jednoduchost.
von Neumannovská architektura
Hlavním rysem harvardské architektury je fyzické oddělení dat a instrukcí. Proto Harvardská architektura umožňuje, aby data i instrukce měly různou reprezentaci a implementaci. Paměť obsahující instrukce se často realizuje jako ROM, tedy paměť určená pouze pro čtení. Výhodou této architektury je také možnost přistupovat do obou paměti současně. Harvardská architektura se používá hlavně tam, kde se program téměř nikdy nemění (např. malá věstavěná zařízení).
Harvardská architektura