Architektura počítačů
Co je architektura obecně: souhrn znalostí o prvcích, ze kterých se skládá nebo dá složit nějaký celek o způsobech, kterými lze tyto prvky využít pro dosažení požadovaných vlastností celku dále se omezíme na architekturu počítačů
Systém (1) soubor prvků, mezi kterými existují určité vztahy nebo vazby prvky systému neexistují osamoceně, jsou součástí mnohem rozsáhlejší množiny (např. vesmíru) všechny ostatní entity, které nepatří do systému, označujeme jako okolí systému vzájemné vazby mezi prvky systému jsou obvykle silnější než vazby mezi prvky systému a prvky okolí vazby mezi prvky systému a prvky okolí způsobují, že mezi systémem a okolím existuje interakce. Abychom rozlišili směr působení při interakci, používáme pojmy vstup a výstup systému
Systém (2)
Systém (3) hranice systému určují, které prvky do systému patří a které ne obvykle existují přirozené hranice systému, dané vazbami mezi prvky např. atom, molekula, součástka, modul... kde leží hranice systému z hlediska jeho pozorování určuje pozorovatel přirozené hranice systému pro nás nejsou závazné hranice systému můžeme volit podle okamžité potřeby pozorovatel systému může volit rozlišovací úroveň a tím velikost a počet rozlišovaných prvků při přechodu na nižší rozlišovací úroveň splyne několik prvků rozlišitelných na vyšší rozlišovací úrovni do jediného prvku počítač můžeme vnímat jako množinu jednotek, modulů, registrů, hradel, součástek
Systém (4) u systému můžeme studovat interakce s okolím vnitřní strukturu systému interakci systému s okolím označujeme jako chování systému chování se snažíme popsat algoritmem, vyjadřujícím závislost výstupu (odezev, akcí) na vstupu (podnětech, stimulech) vnitřní strukturu systému můžeme popsat objektivně detailním popisem jeho prvků a vazeb pomocí modelu podobnost modelu a modelovaného systému na určité úrovni rozlišení posuzujeme podle podobnosti jejich chování (izomorfismus, homomorfizmus).
Stroj každý stroj má vstup zpracovávané suroviny výstup zpracované suroviny funkci (způsob zpracování vstupní suroviny na výstupní) důležitým atributem stroje je jeho ovladatelnost člověkem zpracování suroviny probíhá podle záměrů člověka řízení stroje může být přímé (typické pro jednoduché stroje a nástroje) člověk působí na ovládací prvky stroje a dosahuje tak požadovaného výsledku nepřímé (typické pro složité stroje) způsob zpracování suroviny je jednoznačně určen konstrukcí a nastavením stroje, který pak již pracuje automaticky, bez zásahu člověka oba způsoby řízení lze kombinovat
Počítač počítač můžeme definovat jako stroj na zpracování informací vstupem i výstupem počítače jsou informace řízení počítače je převážně nepřímé (programem) ale může být i přímé (interaktivní ovládání) program je předpis, jednoznačně určující způsob odvození výstupních dat z dat vstupních jeden program lze použít opakovaně pro zpracování různých kolekcí vstupních dat program počítače lze změnit a tak způsob zpracování dat přizpůsobit okamžitým potřebám
Kybernetika věda o řízení v neživých a živých systémech základy položil Norbert Wiener knihou Cybernetics: or, Control and Communication in the Animal and the Machine (1948) kybernetika studuje systémy z hlediska toku a zpracování informací její vztah k pojmu informace je podobný jako vztah matematiky k pojmu číslo, fyziky k pojmu hmota...
Kybernetický systém průběžně vyhodnocuje vstupní informace (podněty) a reaguje na ně výstupní aktivitou (odezvou), která je dána určitými pravidly chování pokud má systém paměť, může do ní ukládat historii, tj. časový záznam podnětů a odezev odezvy systému s pamětí mohou být závislé nejen na aktuálních podnětech, ale také na historii vazby mezi vyhodnocovacím a paměťovým blokem tvoří uzavřenou smyčku, tzv. zpětnovazební vazba mezi vyhodnocovacím blokem a blokem pravidel chování umožňuje systému měnit na základě získaných zkušeností pravidla chování (optimalizace, učení)
Schéma kybernetického systému
Schéma počítače co je zde? není náhoda, že (až na názvy bloků) je shodné se schématem kybernetického systému
Chování počítače v kybernetickém systému je v pozici? blok pravidel chování u smysluplně reagujících systémů se obvykle jedná o nějakou formu dlouhodobé paměti zkušenost, genetická paměť... souhrn pravidel, umožňujících systému řešit "informační situace", do kterých se dostane během své existence pravidla chování lze většinou vyjádřit ve tvaru děje-li se (stalo-li se) to a to, reaguj tak a tak
Program a programátor nejvhodnějším způsobem ovládání počítače je vkládání a modifikace pravidel chování jestliže místo přímého řízení systému dokážeme do systému vložit pravidla chování, můžeme určit nejen jeho okamžité chování (jako např. při řízení automobilu), ale také jeho chování kdykoliv v budoucnosti blok? je tedy vhodné implementovat jako paměť, jejíž obsah program bude určovat člověk programátor pokud do bloku zahrneme program i programátora, jsou obě schémata zcela shodná pokud programátora vyčleníme mimo systém, objeví se na tomto místě nový typ interakce systému s okolím - vstup programu
Schéma počítače program vstup programu programátor
Program počítače program je zvláštní formou vstupních dat formálně se od vstupních dat nijak neliší jeho úloha v počítači je specifická tím, že program není zpracováván ale prováděn pokud neuvažujeme strojový překlad programu jinak řečeno, představuje pokyny, podle kterých počítač postupuje při zpracování vstupních informací počítač těmto pokynům pochopitelně musí rozumět a program proto musí být napsán podle určitých pravidel, kterým říkáme programovací jazyk rozdíl mezi programem a vstupními daty je také v tom, že jeden program může být použit opakovaně pro zpracování různých kolekcí dat srovnáme-li proces zpracování dat v počítači s chemickými procesy, hraje program podobnou roli jako katalyzátor vstupuje do procesu transformace vstupních dat na data výstupní, ale z procesu vyjde nezměněn a lze ho opakovaně použít.
Role počítače počítač je velmi vhodný pro roli univerzálního řídícího prvku automatizace, vestavěné systémy, robotika... počítač je téměř ideálním prostředkem pro simulaci jakéhokoliv kybernetického systému počítače umožňují novou interpretaci rozsáhlých kolekcí dat, které by člověk jinak nedokázal zpracovat a vyhodnotit počítače umožnily řadu významných objevů ve fyzice, chemii, biologii, astronomii...
Harwardské schéma historicky starší koncepce používá pro program a pro data dvě nezávislé paměti označení podle počítače Harward Mark I, uvedeného do provozu na Harwardské univerzitě (1943)
Von Neumannovo schéma dnes nejrozšířenější architektura program i data jsou uloženy ve společné paměti (Stored Program Computer) označení podle autora této koncepce (1945)
Von Neumannovo schéma Operační paměť slouží k uchování prováděného programu a zpracovávaných dat Aritmeticko-logická jednotka (ALU, Arithmetic-Logic Unit) provádí podle pokynů řadiče požadované operace s daty (aritmetické výpočty, logické operace) Řadič postupně čte z operační paměti jednotlivé instrukce programu a interpretuje (provádí) je generuje řídící signály pro ovládání ostatních částí počítače umožňuje počítači reagovat na stavové informace z ostatních částí počítače a synchronizovat návaznost jednotlivých akcí Vstupní zařízení zajišťují vstup programu a dat Výstupní zařízení zajišťují výstup dat (výsledků)
Porovnání Harwardského a Von Neumannova počítače Harwardské schéma dnes se používá u specializovaných procesorů signálové procesory, jednočipové počítače... výhody: vysoká bezpečnost (paměť programu je typu ROM, takže program ji nemůže přepsat) u paměti programu lze použít jinou šířku slova (počet bitů) než u paměti dat nevýhody: vyšší cena hardware (dvě paměti) malá pružnost systému (program lze změnit jen obtížně nebo vůbec ne)
Porovnání Harwardského a Von Neumannova počítače Von Neumannovo schéma používá se u univerzálních počítačů (PC) výhody: nižší cena systému (jedna paměť) vysoká pružnost systému (program lze snadno měnit a zpracovávat jako data) nevýhody: je nutný kompromis mezi šířku toku programu a dat program může být nežádoucím způsobem ovlivněn (chybami v programu, viry)
Změny terminologie řadič a ALU dnes vnímáme jako jeden celek procesor (CPU, Central Procesing Unit) ALU se dnes považuje spíše za stavební prvek nižší úrovně (jako registr, multiplexor ) pro vstupní zařízení a výstupní zařízení se používá společný název vnější (periferní) zařízení alternativně I/O zařízení (Input/Output Device), V/V zařízení (vstup/výstup), periferie řada periferních zařízení je obousměrná, tj. slouží pro vstup i výstup dat (disky, terminály ) způsob připojení a ovládání vnějších zařízení se sjednotil
Další vývoj architektury v počítačích se vystřídalo několik generací prvků relé, elektronky, tranzistory, integrované obvody MSI, LSI, VLSI Von Neumannova koncepce získala převahu výhoda větší pružnosti převážila nad nevýhodami V průmyslových a vestavěných systémech obě koncepce koexistují přibyly nové architektonické prvky a řešení sběrnice, přerušovací systém, DMA, hierarchická paměť, zřetězené zpracování instrukcí (pipelining), multiprocesorové systémy došlo k výraznému pokroku v programování programovací jazyky, operační systémy, objektové programování
Další témata (1) základní stavební prvky logické obvody invertor, hradlo NAND,hradlo NOR... stavební prvky vyšší úrovně registr, multiplexor, sčítačka,... sběrnice paměti paměťové technologie hierarchická paměť technologie RAID periferní zařízení princip činnosti periferních zařízení I/O moduly, přerušovací systém a DMA přenos dat
Další témata (2) programování počítačů algoritmus, program a proces programovací jazyky a vývojová prostředí objektové programování operační systémy zřetězené zpracování instrukcí (pipelining) CISC a RISC multiprocesorové systémy distribuované systémy a počítačové sítě