Čo je počítač?

       Je to stroj ktorého základom je binárny kód tvorený dvomi stavmi KLOPNÉHO OBVODU - logická jednička (1, HIGH, TRUE, PRAVDA) a logická nula (0, LOW, FALSE, NEPRAVDA). Stav klopného obvodu môžeme monitorovať obyčajnou žiarovkou (pardón buďme modernejší) LED diodou a to tak že hodnota 1 znamená že SVIETI a hodnota 0 že NESVIETI. 

Klopný obvod predstavuje základnú pamäťovú jednotku - BIT (bit). Viac bitov spolu vytvára pamäťový prvok nazývaný REGISTER. Tento má svoje bity označené pozíciou 0 prvý bit úplne napravo a smerom doľava sú označované 0,1,2,...N-1.  Prvé počítače používali registre s N=8 t.j. 8 bitové počítače. Ich dátové slovo (obsah registra) sa nazýval BYTE (bajt) a predstavuje 8 bitov. Každý bajt mohol obsahovať 8 bitový binárny kód tlačiteľného znaku na tlačiarni, alebo elementárny 8 bitový číselný údaj - binárne celé číslo.  Súčasné bežné počítače majú N=64. Do jedného slova sa zmestí 8 znakov alebo elementárne 64 bitové binárne celé číslo. 

Dve základné operácie, ktoré počítače vykonávajú sú prenosové operácie a operácie aritmeticko-logickej jednotky. Prenosové operácie prenášajú obsahy registrov medzi sebou. Na to slúžia elektrické drôty ktoré vytvárajú tzv. ZBERNICU. Zbernica predstavuje N vodičov, ktorých poradie a pozícia je rovnako číslovaná ako čísla bitov registrov, ktoré musia byť v zhode. Táto zbernica sa nazýva DÁTOVÁ ZBERNICA a na ňu sú paralelne napojené všetky komponenty počítača (predstavte si ju ako všetky cesty pre autá, vlaky a všetky možné dopravné prostriedky)

Organizáciu komunikácie medzi zariadeniami riadi tzv. RIADIACA JEDNOTKA (predstavte si centrálny dispečing v jadrovej elektrárni) a na tento účel používa tzv. RIADIACU ZBERNICU (predstavte si telefónnu, rádio komunikačnú a Internetovú sieť), ktorá obsahuje riadiaci vodič ku každému riadenému komponentu v počítači . Koľko ich je - veľa. Jej úlohou je počas vykonávaných operácií riadiť prístup komponentov k spoločnej zbernici, nakoľko v jenom čase môžu medzi sebou komunikovať vždy len dve zariadenia. Každý komponent môže byť raz vysielačom dát inokedy prijímačom dát, preto každé zariadenie je pripojené na spoločnú dátovú zbernicu aj svojim vstupom, ale aj svojim výstupom. 

Ako bolo povedané druhá najčastejšia operácia v počítači je operácia aritmeticko-logickej jednotky (ALJ = ALU Arithmetical and Logical Unit). Jej princíp spočíva  v tom, že na vstupe má dva registre vstupné a na výstupe jeden register výstupný. Okrem toho z riadiacej jednotky má napojené riadiace vodiče, ktoré spúšťajú logické operácie Booleovej algebry AND, OR, NOT a aritmetické operácie SÚČET, ROZDIEL, NÁSOBENIE a DELENIE

Operácia sčítania prebieha napríklad tak, že sa prenesie prvý operand do prvého vstupného registra, následne druhý operand do druhého registra, potom sa spustí operácia sčítania, ktorá zapíše výsledok do výstupného registra. Následne sa tento výsledok premiestni na inštrukciou určené miesto buď v registri alebo veľkokapacitnej pamäti. 

Pre funkciu počítača v zmysle mysliaceho stroja je dôležitý STAVOVÝ REGISTER pripojený na spomenutú Aritmeticko-Logickú Jednotku. Výsledok operácií (stav výsledku vo výstupnom registri) nastavuje príznakové bity stavového slova (PSW - Program Status Word), ktoré signalizujú také stavy ako je nulový výsledok, alebo záporný výsledok. Tieto údaje procesor a jeho RIADIACA JEDNOTKA môže využiť pri rozhodovaní ako v programe ďalej pokračovať (Spomeňte si, ako sa asi rozhodujete, ak chcete si kúpiť niečo v obchode a vo vrecku máte len 10 korún. V hlave každého určite prebehne operácia vyhodnocujúca rozdiel hodnôt na cenovke a sumy v peňaženke)

Otázka je, kde je vlastne program? Bol to nápad matematika VON NEUMANA, ktorého napadlo že program umiestni do veľkokapacitnej pamäte tzv. OPERAČNEJ PAMÄTE obsahujúcej tisíce pamäťových registrov, ktoré sa dajú použiť jednak na uchovávanie dát a jednak na uchovávanie aj kódov strojových inštrukcií. 

Táto veľkokapacitná pamäť má svoj vstup aj výstup napojenú na dátovú zbernicu, naviac však obsahuje v sebe dekodér adresy, ktorý len jeden z týchto registrov v jednom čase napojí na dátovú zbernicu. Poradové číslo tohto registra prenáša tzv. ADRESNÁ ZBERNICA ktorá je poslednou zo zberníc (tu si predstavte mechanizmus telefónnej ústredne ktorá prepája zariadenia na základe adresy telefónu daného telefónnym číslom ), ktoré používajú počítače a ktorú sme ešte nespomenuli. Zvyčajne obsahuje DVOJNÁSOBOK počtu bitov DÁTOVEJ ZBERNICE. Vychádza z ADRESNÝCH registrov (nazývaných aj  index registre) ktorých obsah sa naplňuje po dátovej zbernici na dva krát. Najprv jedna polovica adresného registra, a potom druhá. Niektoré adresné registre adresujú dáta, ale je jeden špeciálny - PROGRAM COUNTER, ktorý  adresuje v Operačnej pamäti INŠTRUKCIE. Sú to v podstate dáta (VON NEUMANOVSKÁ koncepcia nerozlišuje formálne či obsah operačnej pamäte sú dáta alebo príkazy) obsiahnuté buď v jednom, dvoch resp. troch slovách operačnej pamäti (záleží na konkrétnej inštrukcii) obsahujúce príkazy pre riadiacu jednotku. Príkaz má vždy minimálne dve (alebo tri) časti:  OPERAČNÝ KÓD a identifikátor jedného (alebo dvoch) OPERANDOV.  Operačný kód sa nachádza vždy v prvom slove príkazu a zodpovedá operácii ktorú má procesor vykonať. Operand môže byť unárny - t.j. operácia sa vykoná nad jediným operandom (Napr.: zvýš/zníž obsah registra o 1 = inkrementuj / dekrementuj),  resp. duálny,  t.j. operácia sa vykonáva nad dvomi operandami (napr.: sčítaj obsah Akumulátora s registrom B a výsledok ulož do Akumulátora - inak povedané pripočítaj k hodnote Akumulátora obsah B registra ). Výsledok zvyčajne končí v jenom z nich nazývaného AKUMULÁTOR (- register v ktorom sa akumulujú výsledky ALJ). OPERAND je objekt nad ktorým sa vykonáva operácia. V inštrukcii ho môže identifikovať adresa slova v operačnej pamäti, alebo názov špeciálneho registra obsahujúceho údaj, môže to byť adresa registra obsahujúceho adresu operandu (t.j. index register - resp. pointer), no môže to byť aj údaj - konštanta - priamo v inštrukcii. 

Inštrukcia sa vykonáva počas tzv. INŠTRUKČNÉHO CYKLU. To je elementárna sekvencia (postupnosť) operácii riadiacej jednotky počas ktorej sa vykoná práve jedna inštrukcia, a to tá na ktorú pred jej začatím smerovala adresa v PROGRAM COUNTERI. Počas tohto cyklu sa najprv použije obsah PC registra na výber počiatočného slova inštrukcie (obsahuje OPERAČNÝ KÓD INŠTRUKCIE) a tento sa prenesie do špeciálneho INŠTRUKČNÉHO REGISTRA, ktorý je priamo napojený na VSTUP RIADIACEJ JEDNOTKY. Táto od tej chvíle začne vykonávať postupnosť elementárnych operácií daných operačným kódom tejto inštrukcie. Počas toho sa určia operandy (inštrukcia obsahuje ich identifikáciu), a tieto sa prenesú na potrebné miesta (napr. pomocné pracovné registre ALJ) a nakoniec sa nad nimi vykoná požadovaná operácia a uloží sa výsledok na inštrukciou požadované miesto (vid. AKUMULÁTOR). Obsah PC registra sa medzitým mení buď len jednoduchými operáciami +1 (zvýš o jedna), alebo sa skokovo zmení kompletne jeho obsah a to tak, že keď sa dokončí inštrukčný cyklus aktuálnej inštrukcie, už ukazuje na adresu budúcej inštrukcie. Toto je kúzlo a tajomstvo činnosti počítačov. 

To o čom sme doteraz hovorili bola tzv. CENTRÁLNA PROCESOROVÁ JEDNOTKA (CPU - Central Processor Unit ).

Ako určite viete počítače obsahujú množstvo prídavných zariadení ako sú HARD DISKY, FLOPPY DISKY, CD a DVD, klávesnice, monitory a kamery, .... Všetky tieto zariadenia v princípe komunikujú s CPU cez spomenuté 3 základné zbernice a na ten účel obsahujú sústavu vlastných registrov, ktoré vytvárajú tzv. INTERFACE - jednotku medzistyku - medzi periférnym zariadením a CPU. Aj tieto zariadenia ovláda Riadiaca jednotka cez RIADIACU ZBERNICU, ale neriadi ich detailne, na to majú periférie často vlastné procesory, ktoré zabezpečujú autonómne operácie. 
Vysvetlíme si to na príklade HARD DISK-u, ktorý má svoju riadiacu jednotku - zvanú RADIČ. Program, ktorý pomocou CPU komunikuje s HARD DISKOM - DRIVER-  ovláda činnosť HD dohodnutým protokolom pre daný INTERFACE HARD DISKU (Je to obdobné ako keď v reštaurácii objednáte jedlo a nezaujíma vás ako ho pripravujú- Interface je čašník ktorý sa spýta čo chcete a po obsluhe vyinkasuje peniaze)
Tak teraz už viete o princípoch počítačov skoro všetko. Odporúčam animáciu v PowerPointe Cojepocitac2.pps