4 - Architektura poítae a základní principy jeho innosti Z koncepního hlediska je mikropoíta takové uspoádání logických obvod umožující provádní logických i aritmetických operací podle posloupnosti povel (programu) nad programem urenými vstupními veliinami za úelem získání výstupních hodnot na programem urených výstupech. Architektura vtšiny dnešních mikropoíta se zakládá na koncepci stanovené ve 40. letech Johanem von Neumannem, kdy program i data jsou uloženy v jedné operaní pamti. Architektura mikropoíta se sice v detailech od sebe znan odlišuje, mžeme však u každého vysledovat následující bloky (subsystémy): Operaní pam uchovává vstupní a výstupní data a program (posloupnost povel - instrukcí) ve form binárních ísel adi dekóduje postupn instrukce programu uložené v operaní pamti a generuje signály zajišující innost ostatních blok mikropoítae Aritmeticko-logická jednotka provádí aritmetické a logické operace podle (ALU) signál adie nad adiem urenými veliinami. Nkdy je doplnna registry pro uložení mezivýsledk operace (RALU) Vstupní a výstupní jednotka zabezpeuje komunikaci mikropoítae vnjším (I/0) okolím pomocí pídavných zaízen umožujících komunikaci s mikropoítaem, nap.klávesnice, tiskárna apod. Blok registr - aritmeticko-logická jednotka (RALU) spolu s adiem tvoí tzv. procesor systému. Je-li obsažen v jednom nebo nkolika integrovaných obvodech velké integrace oznaujeme jej jako mikroprocesor ( m P). Propojení blok je provedeno pomocí systému sbrnic. Principielní propojení sbrnicemi je uvedeno na obr. Adresová sbrnice je jednosmrná, slouží k adresování pamového místa v operaní pamti nebo vstupních a výstupních jednotek. Další datová sbrnice je obvykle obousmrná a slouží k penosu dat mezi bloky. Tetí sbrnice je ídící, která slouží k penosu povel (signál) z adie zajišujících programem stanovenou innost jednotlivých blok. V následujících odstavcích probereme podrobnji principielní zapojení a innost jednotlivých blok.
Operaní pam V souasné dob se pevážn u mikropoítaových systém používají polovodiové pamti. Polovodiové pamti mžeme zhruba rozdlit do dvou skupin: a) Pamti, kde do libovolného místa ureného adresou mžeme bu zapsat data v binární form nebo v pamti uložená data peíst. Tyto pamti oznaujeme obvykle zkratkou RAM, což je zkratka anglického názvu "Random Access Memory". b) Pam s nemnným zápisem dat neboli pamti konstant. Z tchto pamtí bhem innosti mikropoítae je možno pouze íst binární data. Oznaujeme je obvykle zkratkou ROM, což je zkratka anglického názvu "Read Only Memory". Z hlediska závislosti uchování informace na napájecím naptí se u pamti typu RAM informace odpojením napájecího naptí ztrácí, zatím co u pamtí typu ROM zstane zachována. Pamti typu ROM Pamti typu ROM jsou pamti konstant u kterých jsou data trvale uložena. Data jsou v nich uložena bu pímo výrobcem nebo u pamti typu PROM (Programable Read Only Memory) je možné napíklad pomocí tavných spojek podle požadavk uživatele do jednotlivých míst pamti data v binární form jednou pro vždy zapsat. V souasné dob existují pamti oznaované zkrácen EPROM, u kterých je možno speciálním technologickým postupem zapsaná data vymazat a zapsat nová. Rychle se též zaínají uplatovat tzv. EEPROM (E 2 PROM, Flash), tj. pamti, do nichž lze zapsat i vymazat data elektrickou cestou a pesto zstanou zachována po vypnutí napájení. Známé aplikace jsou napíklad Flash BIOS u základních desek osobních poíta, rozšiující karty do notebook nahrazující diskovou pam apod. Pamti typu RAM Pamti typu RAM jsou pamti, kdy do libovolného místa mžeme bu data v binární form zapisovat nebo uložená data peíst. Do pamti RAM mžeme zapisovat program,vstupní data, mezivýsledky apod. Jednotlivé pamové buky jsou obvykle uspoádány maticov, nap. v organizaci N x M. Buku, do které chceme provést zápis nebo tení jejího obsahu, aktivujeme pomocí ádkových a sloupcových adresových vodi buzených dekodéry 1/N a 1/M. Vstupní slova dekodér pak tvoí adresu buky. Vstupy a výstupy pamových bunk jsou vedeny ke tecím a zapisovacím zesilovam. Pro zápis nebo tení celého slova najednou se musí použít pro každý bit samostatné tecí a zapisovací zesilovae. tení a zápis je ízen logickým obvodem ovládaným povely z adie. Jako pamová buka by mohl být použit klopný obvod (sekvenní) typu D.Z dvod dosažení velké integrace obvod na jednom polovodiovém ipu se zapojení v buce zjednodušuje, piemž se používají jak tranzistory unipolární tak bipolární. Pro pamové buky byla vyvinuta celá ada zapojení.
Von Neumanova a Hardvardvská koncepce poítae Americký matematik maarského pvodu John von Neumann definoval v roce 1945 základní koncepci poítae EDVAC (Electronic Discrete Variable Automatic Computer). Byl to výsledek výzkumu týmu odborník Univerzity státu Pensylvánie ve Filadelfii, kteí tak položili základ koncepce poítae ízeného obsahem pamti. Od té doby se objevilo nkolik rzných modifikací i odlišných model, ale v podstat se poítae, tak jak je známe v dnešní dob, konstruují podle tohoto modelu. Jednotlivé ásti a jejich vzájemné propojení je na obrázku 1. Ve svém projektu si von Neumann stanovil uritá kritéria a principy, které musí poíta splovat, aby byl použitelný univerzáln. Mžeme je ve strunosti shrnout do následujících bod: 1. Poíta se skládá z pamti, ídící jednotky, aritmetické jednotky, vstupní a výstupní jednotky. 2. Struktura poítae je nezávislá na typu ešené úlohy, poíta se programuje obsahem pamti. 3. Následující krok poítae je závislý na kroku pedchozím. 4. Instrukce a operandy (data) jsou v téže pamti. 5. Pam je rozdlena do bunk stejné velikosti, jejich poadová ísla se využívají jako adresy. 6. Program je tvoen posloupností instrukcí, ty se vykonávají jednotliv v poadí, v jakém jsou zapsány do pamti. 7. Zmna poadí provádní instrukcí se provede instrukcí podmínného í nepodmínného skoku. 8. Pro reprezentaci instrukcí, ísel, adres a znak, se používá dvojková íselná soustava. Nkolik let po von Neumannovi, pišel vývojový tým odborník z Harvardské univerzity s vlastní koncepcí poítae, která se sice od Neumannovy píliš nelišila, ale odstraovala nkteré její nedostatky. V podstat jde pouze o oddlení pamti pro data a program. Abychom si mohli ob koncepce porovnat, mžeme vycházet ze zjednodušených schémat.
Základním nedostatkem obou koncepcí je sekvenní vykonávání instrukcí, které sice umožuje snadnou implementaci systému, ale nepovoluje dnes tolik potebné paralelní zpracování. Paralelizmy se musí simulovat až na úrovni operaního systému. Úzké místo systému je také ve sbrnicích, které nedovoluj í pistupovat souasn do více míst pamti souasn a navíc dovolují v daném okamžiku penos dat jen jedním smrem. Porovnání vlastností obou koncepcí jednotliv: von Neumann Výhody: - rozdlení pamti pro kód a data uruje programátor, - ídící jednotka procesoru pistupuje do pamti pro data i pro instrukce jednotným zpsobem, - jedna sbrnice - jednodušší výroba. Nevýhody: - spolené úložení dat a kódu mže mít pi chyb za následek pepsání vlastního programu, - jediná sbrnice tvoí úzké místo. Harvardská koncepce Výhody: - oddlení pamti dat a progamu pináší výhody: - program nemže pepsat sám sebe, - pamti mohou být vyrobeny odlišnými technologiemi, - každá pam mže mít jinou velikost nejmenší adresovací jednotky, - dv sbrnice umožují jednoduchý paralelizmus, kdy lze pistupovat pro instrukce i data souasn. Nevýhody: - dv sbrnice kladou vyšší nároky na vývoj ídící jednotky procesoru a zvyšují i náklady na výrobu výsledného poítae, - nevyužitou ást pamti dat nelze použít pro program a obrácen Pokroilejší architektury. Základním nedostatkem jednoprocesorových poíta je jejich pomalost, podmínna sériovým zpsobem innosti. Takový procesor postupn te instrukci, potom operandy, a pak vykonává píslušnou operaci a ukládá výsledek. Teprve potom te další instrukci. Odstranní tohoto nedostatku nabízejí rzné architektury s využitím více procesor pro jednu úlohu. Jako takové mohou být: - -etzené procesory, - -paralelní soustava procesor (multiprocesory), - -procesorová pole (maticové procesory). Pesahování a etzení. Pesahování (overlapping) spoívá v tom, že vykonávání nkterých instrukcí se v procesoru dokonuje v dob náležející již další instrukci. etzení (pipelining) lze chápat jako pesahováni v procesoru, který se skládá z ady sériov azených subprocesor. Jde o pokroilejší architekturu etzených procesor. Multiprocesory a procesorová pole Multiprocesor je centráln ízený systém s více procesory se spolenou hlavní pamtí a spoleným souborem periferních zaízení. Procesorové pole (maticový procesor) je sestaveno ze stejných subprocesor propojených mezi sebou i centrálním adiem. Každý subprocesor je schopen vykonávat základní operace s uložením v jeho vlastní pamti, ale data se mohou pesouvat mezi sousedy v matici.
RISC a CISC architektura Zkratky RISC a CISC pedstavují dv rozdílné architektury CPU (Central Processor Unit) - centrálníprocesorová jednotky. CISC (Complex Instruction Set Computer) má instrukní soubor s takovými instrukcemi,které pod jedním operaním kódem vykonají složité operace s variabilitou rzných adresovacích mód.toto se provádí za cenu zpracování tchto instrukcí ve strojových cyklech. Druhá koncepce RISC(Reduced Instruction Set Computer) je založena na pedpokladu, že frekvence používání nkterých složitých instrukcí je tak malá, že se nevyplatí pro n plýtvat plochou na ipu a v pípad potebyjsou nahrazeny posloupností jednoduchých instrukcí. Istrukní sada obsahuje malý poet jednoduchých instrukcí (cca 30).Díky tomu jsou jednodušší ídící obvody CPU a zkracuje se doba zpracování instrukcí. ídící obvodyu CISC-architektury zabírají na ipu pibližn 60% místa, kdežto u RISC-architektury je to pouze6-10% a výkon instrukce s vyjímkou komunikace s pamtí je jeden strojový cyklus. Pro dosaženíco nejvyšší rychlosti omezené pístupy do pamti se u RISC-architektury ušetené místo na ipu využije pro soubory registr, k nimž je jednocyklový pístup.