1
1. PRINCÍP PRÁCE POČÍTAĆA
Pred skutočným vysvetlením princípov práce počítača je potrebné vysvetliť pojmy:
Informatika - je vedná disciplína zaoberajúca sa prijímaním, spracovávaním a ukladaním
informácii pomocou automatických strojov (počítačov).
Počítač - je univerzálny programovateľný automat pre spracovanie informácii.
univerzálny – je použiteľný v rôznych oblastiach ľudskej činnosti, v súčasnej dobe je
nenahraditeľný v kanceláriách, (písanie dokumentov, kalkulačka, spracovanie databázy), riadenie podnikov, firiem, automobilovej premávky, lodí, lietadiel, rakiet...) a ťažko
by sa hľadala oblasť, kde by sa počítač nemohol použiť.
 programovateľný – vždy pracuje podľa vybraného programu, ten sa musí umiestniť do
operačnej pamäti počítača. Program obsahuje inštrukcie, ktoré počítač vykonáva a tak
sa realizuje požadovaná činnosť. Program vytvoril programátor v nejakom programovacom jazyku. ( FORTRAN, BASIC, ALGOL, COBOL, PL/I, PASCAL, C- jazyk, a ďalšie
ako PHP, MySQL, JavaScript, Java, Python.
 automat – svoju činnosť vykonáva od určitého momentu automaticky bez zásahu človeka.
 používajúci sa na spracovanie informácii – bez prídavného zariadenia nevie vykonať
manuálnu činnosť (len spracúva informácie)

Základný koncept počítača, ktorý vykonáva postupnosť operácií na dosiahnutie konečného výsledku, je známy viac ako 150 rokov. Bol použitý v mechanických dekadických
počítacích strojoch, ktoré navrhol a čiastočne zostrojil Charles Babbagé. Jeho analytický stroj (Analytical Engine) z r. 1834 obsahuje centrálnu procesorovú jednotku
(mechanickú, s dekadickou aritmetikou), pamäť (mechanickú) a vstupnú a výstupnú
jednotku (pre dierne karty, štítky), t.j. všetky základné časti moderných počítačov.
Program a údaje pre tento stroj sú na diernych kartách, štítkoch. Samozrejme, vtedajšia
mechanická technológia nedovolila úspešnú realizáciu funkčných zariadení, takže jeho
myšlienky zostali viac ako 100 rokov nevyužité.
Až vytvorenie elektronických obvodov v 40. rokoch 20. storočia ich umožnilo zaviesť do praxe. V tomto čase John von Neumann predložil základný princíp počítača riadeného tokom inštrukcií, ktorý sa stal základom jednej triedy súčasných počítačov.
Táto trieda počítačov býva tiež označovaná ako von Neumannova architektúra počítača. Vyznačuje sa tým, že jednotlivé inštrukcie programu sa vykonávajú postupne za
sebou, tak ako sú uložené v pamäti.
1.1.
Von Neumannová, Pricentonská architektúra počítača
V roku 1946 John von Neumann a jeho kolegovia z Princenton Institute for
Advanced Studies (IAS) naprojektovali nový počítač postavený na týchto pravidlách:
1. Počítač obsahuje operačnú pamäť, ALJ, radič, V/V (vstupno - výstupné) zariadenia.
2. Predpis pre riešenie úlohy je prevedený do postupnosti inštrukcií - program.
3. Údaje a inštrukcie sú vyjadrené binárne.
4. Údaje a inštrukcie sa uchovávajú v pamäti na miestach označovaných adresami.
2
5. Ku zmene poradia inštrukcií sa používajú inštrukcie podmieneného a nepodmieneného skoku.
6. Programom riadené spracovávanie dát prebieha v počítači samočinne.
Princíp práce počítača s von Neumannovou architektúrou zobrazuje nasledujúca schéma.
Operačná pamäť
Vstupné
jednotky
ALU
Výstupné
jednotky
Riadiaca jednotka
radič
Popis signálov a čiar:
Základná, centrálna jednotka
Procesor, mikroprocesor
Riadiace príkazy
Stavové signály, informácie
Tok údajov dát
Princíp práce počítača pozostáva z nasledujúcich krokov:
 vstupná jednotka je zariadenie, ktoré do „počítača posiela vstupné informácie, ktoré sa
spracovávajú“. Vstupom môže byť klávesnica, myš, mikrofón, kamera, atď.
 základná, centrálna jednotka je napojená na vstupné a výstupné zariadenia. Je to
centrum spracovávania informácií. Skladá sa z troch častí:
operačná pamäť,
ALU (Aritmeticko – logická jednotka),
riadiaca jednotka, radič.
 operačná pamäť - je priestor, kde sú uložené spracovávané programy a údaje. Môže
sa označiť aj ako interná pamäť alebo dočasnú pamäť. Okrem internej pamäte existuje
externá pamäť (pamäťové zariadenia), ktoré slúžia najmä na ukladanie, na trvalé uloženie dát.
 ALU – aritmeticko – logická jednotka, je výkonná jednotka, ktorá robí aritmetické výpočty a logické operácie.
3
 riadiaca jednotka, radič - je miesto, ktoré riadi celý proces toku údajov pomocou riadiacich signálov a zodpovedajúcich stavových funkcií. Na každý riadiaci signál odpovedá príslušná časť poslaním stavového signálu.
Spojenie ALU a riadiacej jednotky je označované ako procesor (mikroprocesor). Von Neumannova architektúra sa vyznačuje spoločnou pamäťou pre inštrukcie aj
údaje. Z tohto vyplýva, že je potrebné zabezpečiť, aby procesor neinterpretoval údaj ako
inštrukciu a naopak. Prístup procesora k pamäti je totiž rovnaký, či sprístupňuje inštrukciu alebo údaj - používajú sa tie isté adresové, údajové i riadiace signály.
Prepojenie medzi jednotlivými časťami počítača je zabezpečená zbernicami. Tieto
zbernice majú rôznu šírku a funkciu. Šírka zbernice sa udáva v počte bitov, ktoré
zbernica dokáže naraz preniesť (8, 16, 32, 64, ...)
Zbernica v počítači predstavuje sústavu vodičov, pomocou ktorých je nejaká
jednotka spojená s procesorom, pamäťou a vstupno / výstupnými obvodmi. Je to
akási dopravná infraštruktúra, pomocou ktorej sa dopravujú údaje medzi jednotlivými prvkami počítača. Zbernica v sebe zahŕňa aj spôsob komunikácie, komunikačný protokol.
Zbernica býva vyvedená na konektor, port, pomocou ktorého je možné pripájať ďalšie zariadenia. Zbernice je možné rozdeliť podľa rôznych kritérií:
Podľa umiestnenia:
 lokálna, vnútorná zbernica - používa signály z procesora. Obvykle sa používa pre
prepojenie procesora a pamätí.
 systémová zbernica - prepája signály z mikroprocesora a periférií, prídavných zariadení. Zbernica je navonok reprezentovaná normalizovaným konektorom, tzv. slotom. Do slotov sa zasúvajú karty rozširujúcich periférnych zariadení.
Podľa funkcie:
 dátová zbernica je určená na prenos dát. Podľa toho koľko paralelných drôtov dátová zbernica obsahuje rozpoznávame triedu počítača 8, 16, 32 a 64 bitového.
 adresná zbernica vysiela identifikačný kód zariadenia. Adresovaná je každá bunka
RAM pamäte, ale aj iné hardwarové zariadenia. Adresa je však len jednou z podmienok prenosu dát. Na spustenie výmeny dát to však nestačí. Spolu s adresou
musí proces synchronizovať riadiaca zbernica.
 riadiaca zbernica dáva konečný povel k vykonaniu akcie.
Podľa smeru:
 jednosmerná zbernica - signál sa prenáša len jedným smerom,
 obojsmerné zbernica - signál sa prenáša oboma smermi.
Podľa usporiadania vodičov:
 sériová zbernica - signál sa prenáša pomocou jedného, dvoch alebo veľmi malého
počtu vodičov,
 paralelná zbernica - signál sa prenáša viacerými vodičmi, ich počet je často určený výsledkom mocniny čísla dva.
Podľa synchronizácie:
 synchrónna zbernica - synchronizovaná s taktom procesora počítača. Synchrónne
zbernice sú rýchlejšie a používajú sa na spojenie zariadení s rovnakou prenosovou
rýchlosťou,
4



multimaster zbernica - dovoľujúca tzv. busmastering, pri ktorom môže byť zbernica riadená viacerými zariadeniami.
pseudosynchronná zbernica - s oneskorením prenosu dát.
asynchrónna zbernica - jednostranne riadená. Asynchrónne zbernice sú pomalšie, pretože sa čaká na potvrdenie prenosu od pomalšieho zariadenia. Sú však
vhodné na spojenie zariadení s rôznou prenosovou rýchlosťou.
Činnosť všetkých jednotiek počítača je synchronizovaná hodinami (definujú
základný strojový takt procesora).
Dnešné počítače sa v akomkoľvek prevedení a forme a aj teoretickej rovine podobajú tejto schéme. Je samozrejmé, že evolúcia počítačov sa mierne podpísala aj pod niektoré výnimky, ktoré nie sú obsiahnuté vo von Neumannovej schéme:
 Dnešné počítače dokážu spracovávať niekoľko úloh a teda aj programov naraz –
multitasking.
 Počítač môže disponovať viacerými procesormi.
 Existujú aj takzvané vstupno/výstupné zariadenia, z a do ktorých môže byť program
a jeho výsledky zapísané a načítané.
 Program sa nemusí zaviesť do pamäti celý, stačí len jeho najdôležitejšia časť, pričom
ostatné časti sa zavedú vo chvíli keď sú potrebné
 Program sa nemusí nahrávať do pamäte cez procesor – DMA (Direct Memory Access – priamy prístup do pamäte), šetrí procesorový čas, ktorý sa vďaka tomu môže
venovať vykonávaniu programu.
Počítače von Neumannovej sa tiež radia do skupiny počítačov riadených tokom inštrukcií.
1.2.
Harvardská architektúra počítača
Architektúru takéhoto počítača zobrazuje nasledujúca schéma:
Popis signálov:
signál od radiča, stavový
signál od zariadenia k radičom
signál dátového toku
Počítače s Harvardskou architektúrou
majú oddelený adresný
priestor pre program a pre
údaje, takže situácia, aby
program prepísal sám seba, nemôže nastať. Táto architektúra sa v súčasnosti používa najmä pri niektorých jednočipových mikropočítačoch.
Základné princípy ( rozdiely proti von Neumannovovej architektúre.):

pamäť programu je oddelená od pamäti dát,
5
možnosť v rovnakom čase čítať inštrukcie z programovej pamäti a zároveň
pristupovať k dátovej pamäti,
dátová a programová pamäť môžu mať odlišnú organizáciu, pamäť typu
RAM sa používa pre dátovú pamäť, pamäť typu ROM pre programovú pamäť.

má oddelené zbernice,

riadenie procesora je oddelené od riadenia vstupných a výstupných jednotiek, vstup
a výstup nie je priamo napojený na ALU.
A tieto vlastnosti umožňujú rýchlejšie spracovanie údajov.
-
Porovnanie vlastnosti oboch koncepcií:
von Neumannová koncepcia
Výhody:
 rozdelenie pamäte pre kód programu a dáta určuje programátor,
 riadiaca jednotka procesora pristupuje do pamäte pre dáta a pre inštrukcie jednotným
spôsobom,
 používa sa jedna zbernica - jednoduchšia výroba.
Nevýhody:
 spoločné uloženie dát a kódu môže mať pri chybe za následok prepísanie vlastného
programu,
 jedna zbernica vytvára úzke miesto, spomaľovanie výpočtov.
Harvardska koncepcia
Výhody:
 program nemôže prepísať sám seba a ani dáta,
 pamäte môžu byť vyrobené odlišnými technológiami,
 každá pamäť môže mať inú veľkosť,
 dve zbernice umožňujú jednoduchý paralelizmus, dá sa pristupovať k inštrukciám aj
k dátam súčasne.
Nevýhody:
 dve zbernice požadujú vyššie nároky na vývoj riadiace jednotky procesora a zvyšujú aj
náklady na výrobu celého počítača.
 nevyužitá časť pamäte dát sa nedá použiť pre program a obrátene.
1.3.
Počítače riadené tokom údajov (data-flow systémy)
V súčasnosti existujú aj výpočtové systémy, v ktorých sa inštrukcie nevykonávajú v
poradí, v akom sú uložené v pamäti (napr. počítače riadené tokom údajov, neurónové
počítače a iné). V tomto počítači sa vykoná práve tá inštrukcia, ktorá má pripravené údaje, pričom nezáleží od jej poradia.
Tieto počítače nevykonávajú inštrukcie postupne za sebou, tak ako sú uložené v pamäti, vykoná sa práve tá inštrukcia, ktorá má pripravené údaje. Ak má viac
inštrukcií pripravené svoje údaje, tieto inštrukcie sa vykonajú paralelne. Jedná sa
teda o paralelné, viacprocesorové počítače.
6
Počítače riadené tokom údajov predstavujú osobitnú triedu paralelných počítačov.
Sú to počítače novej generácie s vysokou výkonnosťou. Ďalšou významnou vlastnosťou je, že programu sa prispôsobuje štruktúra technických výpočtových prostriedkov.
V pamäti inštrukcií sa nachádzajú všetky inštrukcie programu. Zvláštny prvok
počítača tzv. arbitračná sieť zisťuje, ktorá inštrukcia (inštrukcie) je pripravená na
vykonanie (t j. ktorá má pripravené všetky svoje vstupné údaje). Túto inštrukciu potom vyberie a pridelí ju na vykonanie niektorému voľnému procesoru z poľa procesorov.
Keď procesor vykoná príslušnú inštrukciu, pošle výsledok do distribučnej siete.
Arbitračná sieť - zisťuje, ktorá inštrukcia (inštrukcie) je pripravená na vykonanie
(t.j. ktorá má pripravené všetky svoje vstupné údaje). Túto inštrukciu potom vyberie a pridelí ju na vykonanie niektorému voľnému procesoru z poľa procesorov. Keď procesor
vykoná príslušnú inštrukciu, pošle výsledok do distribučnej siete.
Distribučná sieť - pridelí výsledok všetkým inštrukciám, ktoré v pamäti inštrukcií
na tento údaj čakajú.
Program pre počítač
riadený tokom údajov sa obyčajne zobrazuje ako orientovaný graf, v ktorom uzly reprezentujú asynchrónne aktívne
členy (operátory, inštrukcie,
úlohy) a hrany reprezentujú
komunikačné cesty na, prenos
a smerovanie správ (údajových
balíkov, operandov), generovaných uzlami počas ich aktivácie alebo prijímaných z externého prostredia počas výpočtu.
Graf sa nazýva graf programu. Na predchádzajúcom obrázku je graf programu
pre realizáciu výpočtu x := (a/b + c*d) - (a*c - d).
1.4.
Flynnová klasifikácia počítačov
Michael J. Flynn z univerzity Stanford je pracoval od roku 1951 s firmou IBM, kde pôsobil ako
vývojový pracovník počítačových systémov. Podieľal sa na vývoji prototypu počítače IBM 7090
a neskôr aj na počítačoch IBM Systém 360. Neoddeliteľnou prácou bola činnosť výučby na popredných amerických univerzitách a je držiteľom niekoľkých prestížnych cien za svoje pôsobenie
v oblasti informačných technológií.
Reprezentuje jednu z najrozšírenejších klasifikácií číslicových počítačov z roku
1966, v ktorej sa uplatňuje hľadisko architektonickej koncepcie počítačov. Podľa Flynna sa
architektúry počítačov rozlišujú v závislosti od súčasne spracúvaných údajových a inštrukčných prúdov prenášaných medzi procesorom a pamäťou pri vykonávaní výpočtového
procesu. V súvislosti s uvedeným existujú štyri základné typy počítačových architektúr:
Architektúra SISD (Single Instruction Single Data stream) - reprezentuje konvenčné
architektúry von Neumannového typu, v ktorých inštrukcie jediného prúdu (jediného prog-
IS
CPU
DS
PAMÄŤ
7
ramu) postupne vykonávajú operácie s údajmi (operandmi) jediného údajového prúdu.
Je to štandardný, pôvodný počítač. Jedna procesorová jednotka spracováva jeden prúd
údajov jedným inštrukčným prúdom. Algoritmus pre počítač SISD neobsahuje v sebe
žiadne paralelizmy. Takýto počítač má len jeden procesor.
Príklad: Vypočítať sumu A čísel a1, a2, … aN. Procesor musí pristúpiť k pamäti postupne
N-krát a vykonať N-1 súčtov. (Ako vysvetliť N-1 )
Architektúra MISD (Multiple Instruction Single Data stream) - reprezentuje tzv. zreťazené (prúdové) počítačové systémy, v ktorých jediný údajový prúd sa spracúva viacnásobným inštrukčným prúdom. Paralelizmus je dosiahnutý tak, že procesory v rovnakom
čase vykonajú rôzne funkcie s tým istým údajom. MISD počítač je vhodný pre výpočty kde
jeden vstup je spracovaný niekoľko
IS1
krát rôznym spôsobom.
V zmysle Flynnovej klasifikácie
DS
CPU1
v architektúre MISD by sa mali vykonávať súbežne inštrukcie viaceISi
rých programov s údajmi jediného
údajového prúdu, v dôsledku čoho
CPUi
DS
táto architektúra v pravom zmysle
PAMÄŤ slova predstavuje iba určitú klasifikačnú abstrakciu, ktorá z prakticISn
kého hľadiska nemá význam.
CPUn
DS
Príklad: Treba zistiť, či číslo Z je
prvočíslo. Jednoduché riešenie je
také, že vyskúšame všetky možné delenia čísla Z. Predpokladajme, že máme k dispozícii
N = Z - 2 procesorov. Každý procesor bude mať priradené jedno číslo, ktorým podelí číslo
Z. V takomto prípade môžeme na jeden krát zistiť, či je Z prirodzené číslo. Ak je N < Z - 2
potom je každému procesoru priradená skupina čísiel a výsledok získame trochu neskôr.
Priemyselne sa procesory s touto štruktúrou nevyrábajú.
Architektúra SIMD (Single Instruction Multiple Data stream) - je architektúra, v ktorej
jediný prúd inštrukcií vykonáva
operácie nad mnohonásobným
IS
prúdom údajov, čo je charakteDS1
ristické pre paralelné počítačoCPU1
vé systémy, v ktorých sa takto
realizujú vektorové, maticové
manipulačné operácie so štrukIS
túrovanými údajmi. Vzhľadom
CPUi
na uvedené architektúry SIMD
DSi
PAMÄŤ
reprezentujú
špecializované
počítačové systémy, určené na
IS
efektívne riešenie vybraného
CPUn
okruhu úloh.
DSn
Procesory pracujú synchrónne,
tj. používajú spoločné hodinové
signály. V každom kroku všetky procesory vykonajú rovnakú inštrukciu, ale každý s inými
8
údajmi. Do tejto kategórie procesorov patria maticové procesory, napr.: ICL DAP (Distributed Array Processor) a vektorové procesory, napr.: CRAY 1 & 2 a CYBER 205. SIMD počítače sú obzvlášť vhodné na riešenie úloh, ktoré majú pravidelnú štruktúru.
Príklad: Požaduje sa spočítať súčet dvoch matíc A + B = C
+
=
Ak sú k dispozícií štyri procesory, každý môže vykonať operáciu súčasne, spočítanie štyroch čísiel.
c11=a11+b11 c12=a12+b12 c21=a21+b21 c22=a22+b22
počítaču so štruktúrou SIMD úloha bude trvať jeden takt a počítaču SISD štyri takty.
Architektúra MIMD (Multiple Instruction Multiple Data stream) - je architektúra, v ktorej
viacnásobný prúd inštrukcií viacerých
IS1
programov alebo úloh spracúva mnohonásobný údajový prúd.
DS1
CPU1
Reprezentuje rôzne typy multiprocesorových a multipočítačových archiISi
tektúr, ktoré predstavujú najvýkonnejšiu skupinu počítačových systémov
DSi
CPUi
univerzálneho typu. Takýto počítač
PAMÄŤ má N procesorov, N inštrukčných
ISn
prúdov a N dátových prúdov. Každý
CPUn
DSn
procesor je riadený vlastným inštrukčným prúdom a pracuje nad vlastnými
údajmi. To znamená, že procesory pracujú asynchrónne. Ináč povedané: v rovnakom čase
môžu robiť rôzne veci nad rôznymi údajmi.
9
Hovorí sa už aj ďalších štruktúrach:
 MSIMD (Multiple SIMD) – systém, v ktorom pracuje niekoľko podsystémov SIMD
nezávisle na sebe.
 SPMD (Single Program, Multiple Data stream) – modifikácia SIMD, kde všetky
procesory vykonávajú rovnaký program, delia sa o inštrukcie, ale nezávisle na sebe, bez synchronizácie.
Okrem Flynnovej klasifikácie existuje množstvo ďalších klasifikačných prístupov
zameraných na klasifikáciu počítačových architektúr, ktoré majú význam pri klasifikácii
paralelných počítačových systémov. Spomedzi nich medzi najvýznamnejšie patria Fengova klasifikácia z roku 1972, podľa ktorej sa počítače zatrieďujú do príslušných skupín z
hľadiska počtu slov a bitov spracúvaných paralelne za vopred určenú časovú jednotku a
Händlerova klasifikácia z roku 1977, podľa ktorej sa počítače zatrieďujú do príslušných
skupín z hľadiska počtu procesorov, aritmeticko-logických jednotiek a elementárnych logických elementov v ich štruktúrnej organizácii.
Klasifikácia počítačových podľa Händlera
10
Architektúru počítačového systému možno z časti kvantitatívne charakterizovať
usporiadanou trojicou nezávislých hodnôt
T(C) = (k, d, w)
kde
k = počet procesorových riadiacich jednotiek PCU
d = počet aritmeticko-logických jednotiek ALU
w - logická zložitosť, t.j. dĺžka slova ALU alebo procesorového elementu.
Download

1. PRINCÍP PRÁCE POČÍTAĆA 1.1. Von Neumannová