Von Neumannova architektúra

Takmer všetky počítače, či už sú to obyčajné stolové počítače, či servery, palubné počítače v aute, mobilné telefóny alebo PDA zariadenia pracujú na princípe, ktorý popísal už v roku 1945 americký matematik židovského pôvodu narodený v Maďarsku John von Neumann.



Architektúra, ktorá je dnes najrozšírenejšia je pomenovaná podľa svojho tvorcu, teda Von Neumannova architektúra.

Von Neumannova schéma predstavuje v súčasnosti blokový popis počítača. Blok v čase jej vzniku predstavoval časť zariadenia v samostatných skriniach s objemom niekoľkých metrov kubických. V súčasnosti to môže byť niekoľko milimetrov kubických v rámci dosky plošného spoja. Každopádne ale princíp celkov a ich prepojenia je zachovaný do dnes.

Von Neumannova schéma:

Sú pre ňu charakteristické tieto vlastnosti:

  • počítač sa skladá z procesora, pamäte a vstupno-výstupných zariadení
  • program je uložení v pamäti počítača
  • procesor vykonáva inštrukcie programu postupne
  • údaje sa spracovávajú v dvojkovej sústave




ALU – Aritmeticko-Logická jednotka – jednotka vykonávajúca všetky aritmetické a logické operácie. Obsahuje bloky určené na aritmetické operácie ako sčítanie, odčítanie, násobenie a delenie a bloky na logické operácie ako porovnávanie a pod. Úlohou ALU je krok po kroku vykonávať program uložený v pamäti.


Operačná pamäť – slúži ako skladisko pre samotný program, dáta programu, dočasné skladisko pre medzivýpočty a samotné výsledky. V operačnej pamäti sa nachádzajú miesta na uloženie dát, ktoré je možné adresovať a tým čítať a zapisovať z a do ľubovoľného miesta v pamäti. Najzákladnejšou bunkou pamäte je jeden bit, ktorý reprezentuje logický stav 0 alebo 1. Množina ôsmich bitov sa nazýva jeden bajt a je to najzákladnejšia a najmenšia adresovateľná jednotka v pamäti. Keďže jeden bajt je pomerne malá jednotka, pre potreby vyčíslenia väčších pamäťových kapacít sa používajú násobky kilo, mega, giga a najnovšie aj tera, pričom sa tieto násobky mierne odlišujú od bežných metrických násobkov v číselnom vyjadrení. Zatiaľ čo napr. kilogram má 1000 gramov, kilobajt obsahuje 1024 bajtov. Je to dané tým, že číslo 1000 nie je mocninou dvojky a najbližšie číslo, ktoré túto podmienku spĺňa je 210=1024.

Teda:
1 kilobajt = 210 bajtov = 1024 bajtov
1 megabajt = 1024 kilobajtov = 220 bajtov = 1 048 576 bajtov
1 gigabajt = 1024 megabajtov = 230 bajtov = 1 073 741 824 bajtov
1 terabajt = 1024 gigabajtov = 240 bajtov = 1 099 511 627 776 bajtov

Okrem bajtov sa v počítačovej terminológii používa aj pojem word (slovo). Veľkosť jedného slova je daná hardvérom a operačným systémom a pohybuje sa od 1 až do 4 bajtov.


Radič – riadiaca jednotka počítača, ktorá riadi jeho celú činnosť. Toto riadenie sa uskutočňuje pomocou riadiacich signálov, ktoré predáva každému zariadeniu. Reakciou na riadiace signály sú stavové hlásenia radiča, ktoré sú mu posielané na spracovanie a následné rozhodnutie nad ďalším krokom.


Vstupné zariadenie – zariadenie, ktoré slúži na vstup programu a dát
Výstupné zariadenie – zariadenie, ktoré slúži na výstup spracovaných dát


Medzi týmito blokmi počítačovej schémy prebieha neustála komunikácia, ktorá sa dá rozdeliť na tri časti:

Riadiace signály radiča – týmito signálmi predáva radič informácie ostatným zariadeniam svoje požiadavky.
Stavové hlásenia pre radič – tieto signály sú v podstate odpoveďou na riadiace signály. Zariadenie nimi dáva informácie radiču o úspešnej/neúspešnej vykonaní požadovanej operácie, poprípade poskytne dodatočné informácie požadované radičom.
Dátový tok – predstavuje samotné dáta prúdiace zo vstupných zariadení cez ALU do pamäte alebo výstupných zariadení.


Počítač, ktorého metódy spĺňajú metódy von Neumannovej schémy pracuje nasledovne:

  1. Do pamäte sa cez ALU zapíše program (postupnosť inštrukcií, ktoré sú postupne vykonávané ALU) zo vstupných zariadení. Takýmto spôsobom sa zapíšu do pamäte aj vstupné dáta, ktoré program požaduje.
  2. Prebehne vlastný výpočet, ktorý postupne vykonáva ALU. Táto jednotka je riadená radičom, pričom si medzivýsledky ukladá do pamäte.
  3. Po ukončení programu sú výsledky kontrolovane poslané na výstupné zariadenie.




Dnešné počítače sa v akomkoľvek prevedení a forme v 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.