You are on page 1of 14

Raunala

1
Uvod
to je uope raunalo?
Raunalo je stroj koji, u skladu sa uputama definiranim u programu, izvodi 4 osnovne
operacije: unos podataka, obradu, prikaz rezultata i pohranjivanje podataka.
Program je skup instrukcija sloenih odreenim redoslijedom u skladu sa kojima raulalo
izvodi gore navedene operacije sa ciljem izvoenja odreenog zadatka.

Unos podataka (input):

Pri unosu podataka, raunalo prihvaa podatke predstavljene na nain na koje ih raunalo
moe razumijeti. U ovom kontekstu podatak (data) odnosi se na bilo kakav neorganizirani,
sirovi materijal, sastavljen od rijei, brojeva, slika ili njihovih kombinacija.

Obrada (processing): Kod obrade, raunalo izvodi aritmetike ili usporedbene (logike)
operacije sa predstavljenim podacima. Te operacije su uistinu jako jednostavne. U biti
veina stvari koje mikroprocesor (srce raunala) stvarno izvodi temelji se na operaciji
zbrajanja ili usporeivanja dvaju brojeva. Ono to raunalo uzdie na prijestolje je brzina
kojom izvodi te informacije (milijune u sekundi). Druga injenica koja je bila presudna za
prodor raunarstva bila jeupravo pouzdanost u izvoenju obrade. ak i najjeftinija raunala
mogu godinama izvoditi nekoliko milijuna operacija u sekundi bez greke uzrokovane
funkcioniranjem hardverskih komponenti. (Gotovo sve "pogreke raunala" uzrokovane su
logikom u programiranju ili pogrenim podacima kojima ljudi opskrbljavaju raunalo).

Izlaz (output): Trea operacija ima za cilj predstaviti rezultate obrade na nain razumljiv
ljudima. Obraeni podaci proslijeuju se kao informacija.

Pohranjivanje (storage): Pri pohranjivanju, raunalo sprema rezultate kako bi se mogli
kasnije koristiti. Koliina podataka koju moe spremiti i dobaviti jeftinije raunalo mogla bi
se usporediti sa enciklopedijom tiskanom u 32 volumena.

Ove 4 operacije jednim imenom zovemo ciklus obrade informacije i to je zapravo "sve" to
raunalo moe i zna raditi.

to raunalo (jo) moe?
injenica je da raunalo pretvara podatke u informacije. Raunalo ne moe, primjerice voziti
biciklu, osim ako netko ne napie program koji oponaa ovu sloenu ljudsku aktivnost
pomou jednostavnih, ponovljivih postupaka obrade organiziranih u proceduru napisanu u
obliku "korak po korak", koju zovemo algoritam.

Dakle, cilj algoritma je pronai jedinstveni skup instrukcija koje nam govore kako emo
rijeiti razliite varijante problema istog tipa. Nakon to otkrijemo algoritam za rijeavanje
tog zadatka ne treba nam vie razumijevanje nego samo provoenje instrukcija. Iz toga se
moe zakljuiti da je ono to podrazumijevamo pod pojmom inteligencije iskodirano u
algoritmu. Ukoliko stroj izvodi algoritam, stroj poprima znaajke inteligencije ali samo u
mjeri koja je ograniena dosezima algoritma. Zbog svega toga neki autori raunarstvo
(Computer Science) smatraju znanou o algoritmima.

S tim u vezi, uvid u irinu spoznaja temeljem kojih je nastalo raunarstvo i grana koje su se
razvile na tim spoznajama, moemo dobiti razmatranjem samo nekih aspekata koji su
openito utjecali na razvoj algoritma. Primjerice, koncentriramo li se na nain na koji
algoritmi nastaju-traimo zapravo odgovor na pitanje kako openito rijeiti bilo koji
problem, jer otkriti algoritam za neto ekvivalentno je pronalasku rijeenja. Studije iz ovih
podruja okoristile su se spoznajama iz psihologije rjeavanja ljudskih problema i teorije
obrazovanja.
Raunala
2

Kada je algoritam otkriven moramo ga predstaviti na nain razumljiv stroju-koncepciju
algoritma pretvaramo u skup instrukcija, a instrukcije deklariramo jednoznano
(nedvosmisleno). Znanja iz ovog podruja preuzeta su od lingvista i gramatiara, pa su tako
nastali programski jezici, koji se temelje na razliitim pristupima procesu programiranja
objedinjenih pod pojmom koji je u literaturi poznat kao programska paradigma.
Kako se raunarska tehnologija primjenjivala na sve vie i vie sloenih problema, spoznalo
se da za projektiranje velikih softwerskih sustava treba daleko vie od obinog algoritma za
izvoenje dane aktivnosti. U tom smislu mora se voditi rauna o tome kako pojedine
komponente meusobno djeluju, pa su raunarci posegnuli za spoznajama iz dobro
utemeljenog podruja inenjerstva u potrazi za alatima pomou kojih e doi do rijeenja.
Tako je nastala grana raunarstva poznata pod imenom softwersko inenjerstvo.
Arhitektura raunala moemo definirati kao granu raunarstva koja se bavi projektiranjem i
konstrukcijom strojeva za izvoenje algoritama. Pri upoznavanju sa arhitekturom nije nam
cilj ovladati detaljima iz kojih se vidi kako su organizirane elektronike komponente od kojih
je sastavljeno dananje raunalo (otili bi u podruje elektronikog inenjerstva). Bitno je
primijetiti da su nekadanji kalkulatori na zupanike ustupili mjesto dananjim elektronikim
i da ovi isto tako mogu pokleknuti pod naletom novih tehnologija (optika?). Cilj je razumjeti
zastupljenost tehnologije u dananjim raunalima i smjernice daljnjeg razvoja. Idealno bi
bilo i arhitekturu predstaviti kao posljedicu znanja o algoritmima, a ne kao rezultat
tehnologije. Kako tehnologija napreduje ova naizgled besmislena tvrdnja postaje logiki i te
kako osnovana. Danas je mogue izgraditi stroj koji dozvoljava sa se niz instrukcija u
sekvenci kojom predstavljamo algoritam izvede istovremeno ili prema nekom uzorku kojim
se naznaava veza izmeu procesorskih jedinica, ba onako kako i na um predstavlja
informaciju - kao veze izmeu odreenih neurona.
Konkretno, dananja praksa je pokazala da za razliku od hardvera koji je iznimno pouzdan,
kompjutorski program kojim predstavljamo algoritam, predstavlja izvor razliitih pogreaka
koje se javljaju pri njegovom izvoenju. Mnogi programi sadre vie milijuna linija. Npr:
PROGRAM BROJ LINIJA KODA
Upravljanje zranim prometom 900,000
Microsoft Office 97 10 miliona
Microsoft Office 98 18 miliona
Microsoft Office 2000 27 miliona


Openito, svaka linija programa uputa je raunalu, npr. da zbroji dva broja ili da ih
usporedi. Sa porastom broja linija koda, neizbjeno je pojavljivanje i pogreaka koje
ponekad nisu ni uoljive, pa se ni ne uklanjaju. U prosjeku, komercijalni programi sadre od
14-17 pogreaka na svakih 1000 linija koda. Najbolji programi kao to je to primjerice
NASA-in software za space shutle, rauna se da ima samo 1 pogreku na svakih 1000 linija
koda. Kreiranje programa sa tako niskim postotkom greke je jako skupo. Dodavanjem
novih linija koda, program postaje sloeniji pa raste i vjerojatnost pojavljivanja, detekcije i
otklanjanja pogreke. Ta injenica da svaki program za raunalo ima greaka znai da
koritenje bilo kojeg raunala povlai za sobom i odreeni nivo rizika. "BUG" moe iskrsnuti
onda kada mu se najmanje nadamo i uzrokovati u najmanju ruku gubitak unesenih
podataka ili odreenog broj linija koda.






Raunala
3

NEKI INTERESANTNI "BUGOVI":
Raunalo u Parizu optuilo je 41000 ljudi koji su izbjegli plaanje
parkinga za puno ozbiljniji kriminal kao to je prostitucija, raspaavanje
droge i ubojstvo.
Zbog buga u britanskom sustavu bankovnih isplata grekom se je
prebacilo, u roku od 1 sata, $2 biliona dolara na raune korisnika
Zbog softverske omake, Japanski su bankari precijenili odreene
investicije zbog ega su izgubili $83 miliona.
Mars Polar Lender je zbog softwerske pogreke iskljuio prerano sustav
koenja, pa je nastala teta od $139 miliona (prebrojivo) i daljnjim
kanjenjem u razumijevanju naeg planetarnog susjedstva
(neprebrojivo).
Menageri tedionice u Los Angelesu koristili su model za prognozu
ulaganja s ciljem odrivosti mirovinskog fonda. Kako je model bio
potkopan nedetektiranom grekom, na kraju je ustanovljen manjak od
$1.2 biliona.
U lancu robnih kua sruio se novi kompjuterizirani sustav za registar
kase, ba dan nakon Dana zahvalnosti, kojeg karakterizira najvei
shopping utrak, uzrokujui gubitak od 20% uobiajenih prihoda.
Nakon to se dva razliita isporuitelja softwarea nisu iskoordinirali svoje
izmjene u programu, US zrakoplovstvo izgubilo je $39 miliona na
prototipu bespilotne zrane letjelice.


Raunarski sustav

esto se u svakodnevnom govoru koristi rije "raunarski sustav" ili samo "sustav" i taj
pojam ima ire znaenje od pojma raunalo. Raunarski sustav obuhvaa skup
odgovarajuih komponenti projektiranih da zajedno rade usklaeno, a obuhvaa:
HARDWARE pod tim pojmom podrazumijevamo sve fizike komponente
raunala, ukljuujui samo raunalo i pridodane periferne ureaje.
SOFTWARE Programi koji se izvode na raunalu. U irem smislu tim
pojmom obuhvaen je sav pisani materijal kojeg koristimo u radu sa
raunalom, primjerice upute za instalaciju ili koritenje programa i slino.


Takvo je dananje stanje stvari, kako je to bilo nekad pria "povijesni pregled".






Raunala
4


Povijesni pregled
to bi bilo da je....?

U svojoj knjizi "Diferencijalni stroj" (Difference engine-tako je C.Babbage nazvao svoj stroj
za raunanje) autor William Gibson i Bruce Streling postavljaju slino pitanje: to bi se
dogodilo da je u 19. stoljeu izumitelj Charles Babbage uspio u realizaciji svoje ideje o
prvom raunalu na svijetu jer, kako danas stvari stoje, povijest priznaje ispravnost
Babbagove ideje, s tim to tadanja tehnologija nije bila dorasla izvoenju tog nauma.
Autori, iz zabave, pekuliraju sa moguim odgovorom: moda bi, uz pomo jakih raunala,
Britanci postali prva svjetska tehnoloka supersila. Moda bi u amerikom graanskom ratu
stali na stranu Juga, pa bi slika Amerike danas bila sasvim drugaija od dananje, a u Evropi
bi, ve poetkom 20. stoljea ljudi izlazili na kraj sa nekim od znaajki dananjice kao to su
kreditne kartice, oklopna vozilia, restorani brze hrane i sl.

Iako su alternativne povijesti smijene, povijest kao znanost je vrlo cijenjena i pametno je
izvlaiti korisne pouke iz povijesnih injenica. Nisu samo povijesniari ti koji ukazuju na
potrebu da se studira povijest, nego i zaposleni u raunarskoj industriji skreu pozornost na
vanost poznavanja povijesnih injenica jer su na vlastitim pokuajima i neuspjesima nauili
jako puno, stiui iskustvo koje im je nebrojeno puta nakon toga pomagalo u slinim
situacijama.
I sama povijest analognih raunala zanimljiva je sama po sebi, ali je (s dananje toke
razvoja) smatramo samo karikom u nizu dogaaja koji su rezultirali pojavom dananjeg
digitalnog raunala. Ova pria zapoinje ekvivalentima dananjeg raunala u davnoj
prolosti u to spadaju mehaniki kalkulatori i njihovi veliki elektromehaniki izdanci kreirani
na poetku II svjetskog rata.
Pojavom nove tehnologije elektronike, izgraen je ENIAC stroj kojeg danas smatramo
uspjenim elektronikim raunalom. Nakon njega slijedi itav niz elektronikih digitalnih
raunala, podijeljenih na 5 generacija, ovisno o primijenjenoj tehnologiji izgradnje ureaja.
U tom kontektu Internet predstavlja kategoriju za sebe sa brojnim mogunostima i
nepredvidivim granicama razvoja. Krenimo redom, izborom samo nekih od vanijih
dogaaja za koje se smatra da su utjecali na formu onoga to smatramo raunalom
dananjice.

Jedan od prvih pomagala za obavljanje osnovnih aritmetikih operacija je abak (engl.
abacus), za kojeg se zna da je u upotrebi ve 5000 godina. Konstrukcija mu je vrlo
jednostavna: sastoji se od kuglica nanizanih na tapie. Kako se kuglice pomiu gore dolje,
njihov poloaj predstavlja pohranjenu vrijednost. Za izvoenje algoritma neophodan je
ovjek, pa zato abakus smatramo sustavom za pohranu podataka. Na Dalekom istoku ostao
je u upotrebi do dananjih dana, dak su ga Europljani "izbacili" iz upotrebe potkraj 17.
stoljea uvoenjem arapskih brojeva i raunanjem na papiru. Zanimljivost predstavlja i
natjecanje u brzini raunanja odrano 1946. godine izmeu Japanca K.Matzukaia koji je
raunao pomou abaka i elektronikog raunala. Matzukai je glatko pobijedio.

Kasnijih godina, strojevi za raunanje temeljili su se na tehnologiji zupanika. Meu
izumiteljima takvih strojeva istie se Blaise Pascal (1623-1662). Svoj je kalkulator izumio
1642. i patentirao ga 1649. godine. Kalkulator, priblinih dimenzija 50x10x7.5 cm razvio je
elei pomoi svom ocu koji je, radei kao dravni porezni dunosnik, mnogo vremena
troio na izraunavanje poreza. Naelo djelovanja Pascalova kalkulatora temeljilo se na
napravi za mjerenje prijeenog puta koije koju je u 2.st. opisao Heron iz Aleksandrije. Na
istom naelu rade i brojila prijeena puta u automobilima. Mana mu je bila nedovoljna
preciznost zbog ogranienja tadanje tehnologije koja nije omoguavala preciznu i
pouzdanu izradu mehanikih dijelova kao to su to zupanici, precizni prijenosni elementi i
Raunala
5
sl.


G.W. Liebnitz (1646.-1716.) unaprijedio je Paskalov izum dodavanjem stupnjevastih
bubnjeva koji su omoguili strojno mnoenje. Ni njegov nije bio prrecizan, opet zbog
nesavrene tehnologije. Liebnitza povijest pamti i kao znanstvenika koji je prvi prouavao
binarni brojevni sustav, koji se danas primjenjuje u raunalima.

Mehaniki kalkulatori ostali su gotovo nepoznati sve do 1820 godine, kada je Thomas de
Colmar razvio komercijalno uspjean mehaniki kalkulator koji je mogao izvoditi etiri
osnovne aritmetike operacije. Proizvod je nazvan arithmometer i prodavao se narednih sto
godina. Zajednika karakteristika Pascalovog, Liebnitzovog i Colmarovog izuma bio je nain
prikaza izlaznih vrijednosti koje su se oitavale ovisno o poloaju zupanika.

Projekt prvog bitno drugaijeg kalkulatora izradio je Charles Babbage (1792.-1871. ) u
Engleskoj. Pria kae da je frustriran pogrekama na koje je nailazio u proraunima
Kraljevskog astronomskog drutva poelio da se takve kalkulacije izvode na paru. Tako je
zapoelo razdoblje automatizacije raunanja. 1812 godine uoio je usklaenost izmeu
matematike i strojeva: strojevi su se pokazali najboljima kod obavljanja repetitivnih
zadataka dok je matematika, a pogodovo slaganje matematikih tablica, esto zahtijevala
ponavljanje jednostavnih koraka. Problem se sveo na prilagoavanje sposobnosti strojeva
potrebama matematike. Njegov prvi pokuaj rjeavanja ovog problema rezultirao je
"diferencijalnim strojem" (differential engine). Pokretan parom i velik kao lokomotiva, stroj
je imao pohranjen program i mogao je rjeavati diferencijalne jednadbe. Prvi
pojednostavljeni prototip bio je predstavljen 1822 godine, a od 1823 poela ga je financirati
vlada, jer je trebao posluiti za izradu pomorskih navigacijskih karata. Na kraju se ipak, sve
skupa pokazalo jako skupo, pravi stroj nikada nije dovren, a na temelju 7000 stranica na
kojima je Babbage uredno vodio zabiljeke o svom radu, 1853. godine stroj su izradili
veani (posao je vodio P.G.Sheutz). Stroj je na jednom testu za 80 sati izraunao 10000
logaritama i na Svjetskoj izlobi u Parizu 1855 godine dobio zlatnu medalju.

Babbage je, nakon 10 godina rada na diferencijalnom stroju, iznenada dobio ideju za izradu
analitikog stroja. Babbage radi na svom stroju slijedeih 35 godina, sve do kraja ivota, ali
ga zbog nedostatka financijske potpore nikada nije dovrio. Po svojoj grai, stroj je imao
sve elemente suvremenih raunala: memoriju, sredinju jedinicu za obradu podataka i
program na buenim karticama. Stroj je imao vie od 50000 dijelova i kao prvi
programabilni kalkulator predstavlja preteu dananjih modernih raunala.
Iz povijesnih podataka iznesenih do sada korisno je uoiti da se kvalitet stroja moe
vrijednovati kroz sposobnost izvoenja razliitih algoritama. Pascal-ov stroj mogao je samo
zbrajati na temelju algoritma predstavljenog jednom sekvencom os nekoliko koraka. Na isti
je nain i Leibnitzov stroj algoritam imao ugraen u svojoj strukturi samo to je
konstrukcija stroja (savrenija) dozvoljavala izvoenje vie aritmetikih operacija.
Babbageov diferencijalni stroj bio je projektiran tako da se mogao prilagoditi izvoenju
itavog niza instrukcija, a analitiki stroj trebao je imati mogunost itanja itavog niza
instrukcija preko buenih kartica-dakle bio je programabilan (Ada Byron-prvi programer).
Inae ideja o ispisu algoritma preko buenih kartica nije originalno bila Babbageova.
Preuzeo ju je od Joseph Marie Jacquarda (1752-1834) koji je 1801. izumio tkalaki stroj na
kojem su uzorci tkanja bili predstavljeni nizom buenih kartica.
I izum Hermana Holeritha oslanja se na Jacquardove buene kartice. Osnovna namjera
njegovog patenta, kojeg je prijavio 1884. godine bila je svrstavanje buenih kartica sa
podacima o popisu stanovnitva. Dotadanja obrada podataka popisa trajala je 10-tak
godina, a sa Holerithovim izumom vrijeme obrade bilo je smanjeno na est tjedana. Od
Holerithove tvrtke nastao je dananji IBM.


Raunala
6


Tadanja tehnologija nije bila dorasla zamislima dotadanjih izumitelja, meutim stvari se
bitno mijenjaju sa razvojem elektronike. Meu vanijim imenima/ datumima istiu se:
Aiken i Mark I
Eckert i EINAC
John von Neumann
Stephen Wozniak i Steve Jobs-Apple
1981, IBM osobno raunalo
Pohranjivanje podataka
Ono to je zajedniko svim operacijama koje izvodi raunalo jest manipulacija sa podacima.
Kod unosa, raunalo ita podatke, tj. pohranjuje ih u radnu memoriju. Tijekom obrade sirovi
podaci dohvaaju se iz memorije, te podvrgavaju aritmetikim i logikim operacijama i
pretvaraju u korisnu informaciju koja, tijekom operacije prikazivanja poprima formu
razumljivu korisniku. Odluimo li podatke pohraniti, raunalo ih sprema na odabrani medij
za trajnu pohranu. Pri svakoj od navedenih operacija, raunalo uvijek barata sa podatkom
predstavljenim nizom bitova.

Bitovi. Definicija. Pohranjivanje.

"BIT" (binary digit binarna znamenka) moe poprimiti jedan od dva znaka: 0 ili 1; za
sada ih smatrajmo simbolima bez numerikog znaenja. tovie, cilj je pokazati da smisao
bita ovisi o primjeni. Ponekad nam niz bitova predstavlja numeriku vrijednost, ponekad
slovo ili simbol, a moe ak predstavljati sliku ili zvuk. Pohranjivanje bita u stroju
podrazumijeva postojanje ureaja koji moe biti u jednom od dva stanja kao to je prekida
(upaljen ili ugaen), relej (otvoren ili zatvoren) ili zastavica (podignuta ili sputena). Jedno
se stanje koristi za predstavljanje nule, a drugo za jedinicu. Promotrimo neke od naina na
koje bitove moemo pohraniti u "stroju".

Vrata i bistabili

Da bismo objasnili funkcionalnost vrata/ bistabila, najprije uvedimo operacije: AND, OR i
XOR na nain predstavljen tablicom:
ULAZ 1 ULAZ 2 AND OR XOR
0 0 0 0 0
0 1 0 1 1
1 0 0 1 1
1 1 1 1 0


Ove operacije sline su aritmetikim operacijama PLUS i PUTA po tome to kao rezultat
dvaju uparenih vrijednosti nastaje nova. U ovom sluaju uparene vrijednosti su operacijski
ulazi, a nova vrijednost je operacijski izlaz. Za razliku od aritmetikih operacija, operacije
AND, OR i XOR manipuluraju sa samo dvije znamenke na ulazima: nula ili jedan. U tom
kontekstu, poistovjetimo li nulu sa neistinom, a 1 sa istinom, tada operacije AND, OR i XOR
postaju Booleove operacije (Georges Boole 1815-1864).
Booleova algebra, ili algebra logike je sustav dvolane algebre kojom predstavljamo
logike odnose i operacije. Engleski logiar i matematiar, George Boole, prvi je primijenio
ove algebarske tehnike na logike procese, tvrdei da bilo kojoj izjavi moemo pridruiti
binarnu vrijednost, kao to su to, primjerice vrujednosti: istina/la, ili da/ne. 1854 godine
napisao je "Ispitivanje zakonitosti u mislima" u kojoj je predstavio nain na koji se mogu
Raunala
7
komplicirane logike veze svesti na jednostavne izjave jednakosti, nejednakosti, inkluzije i
ekskluzije. Boole je pokazao i nain na koji se ove izjave predstavljaju simboliki,
koritenjem binarnog (two values) koda i smislio je algebarska pravila pomou kojih
dobivamo tone logike veze. Ova veza izmeu matematike i logike poznata je pod imenom
Booleova algebra.
Promotrimo to na konkretnom primjeru. Neka je zadana sloena izjava: P AND Q, gdje P
predstavlja jednu, a Q drugu izjavu. Primjerice: Tom je maka i (AND) Jerry je mi. Ulazi u
ovu AND operaciju predstavljaju istinu ili neistinu ovisno o dijelovima sloene izjave, a izlaz
je istina odnosno neistina same sloene izjave. Kako je izjava tipa P AND Q istinita onda i
samo onda ako su istinite izjave P i Q, zakljuujemo da e samo 1 AND 1 biti 1, a sve ostale
kombinacije binarnih znamenaka bit e 0, to je sukladno s tablicom. Na isti nain
objanjavamo OR ili XOR operacije. I operacija negacije je jo jedna Booleova operacija.
Razlikuje se od prethodne tri po tome to ima samo jedan ulaz. Izlaz je suprotan izlazu.
Ureaj koji generira izlaz Booleovih operacija zove se vrata. Za konstrukciju se mogu
koristiti razliite tehnologije kao to su zupanici, releji, optiki ureaji. U dananjim
ureajima vrata su obino predstavljena elektronikim sklopom kod kojeg se znamenke 0 i
1 interpretiraju naponskim nivoima. Za objanjavanje funkcionalnosti posluit emo se
samo simbolikim oznakama tih sklopova prokazanim na slijedei nain:
SKLOP OZNAKA ULAZ 1 ULAZ 2 IZLAZ
I VRATA
0
0
1
1
0
1
0
1
0
0
0
1
ILI VRATA
0
0
1
1
0
1
0
1
0
1
1
1
NOT VRATA
0
1

1
0


Ureaji (sklopovi) predstavljeni gornjim simbolima temeljni su sastavni dijelovi od kojih je
izgraeno itavo raunalo. Znaajan korak u razumijevanju ove tvrdnje predstavljen je
funkcionalnou bistabila
sklop koji ima dva stabilna stanja, a izgraen je iskljuivo od osnovnih vrata. Sklop
generira ili nula ili jedan i tu vrijednost dri konstantno na svom izlazu sve dok impuls sa
drugog sklopa ne promijeni mu stanje. Drugim rijeima, sklop preklapa na jednu od dvije
mogue vrijednosti upravljan vanjskom pobudom.

Promotrimo detaljnije:
Da bi realizirali sklop koji nam predstavlja memoriju, moramo usvojiti pojam "povratne
veze". Openito, taj se pojam koristi ukoliko signal (ili dio signala) sa izlaza dovodimo na
ulaz istog sklopa. Najjednostavniji je primjer predstavljen slikom:



Ako je izlaz Q bio u stanju 1, u tom stanju e i ostati, tj trajno e ga pamtiti. Ostvarimo li
sklop sloenijeg oblika sastavljen od dvaju NAND vrata, tada funkcionalnost sklopa moemo
predstaviti tablicom:
R S Q Q'
0 0
Nedozvoljeno
stanje
Nedozvoljeno
stanje
0 1 1 0
1 0 0 1
1 1 Pamti prethodno Pamti prethodno
Raunala
8
stanje stanje





Ono to je zapisano u tablici moemo interpretirati kao:
Ako su R i S suprotni, onda Q slijedi S ulaz, a Q' je suprotan Q
Ako se R i S istovremeno upale u 1, sklop pamti prijanje stanje
Ako se R i S istovremeno upale u 0, izlaz nema smisla, pa mogunost takvog ulaza
moramo zaustaviti (sprijeiti) dodatnom logikom
Predstavimo li ulaz D kao ulaz putem kojeg se upisuju podaci (DATA), a ulaz E kao ulaz koji
omoguava ili brani unos novih podataka (ENABLE) dobili smo sklop koji moe pamtiti bit i
kontrolirati vrijeme izmjene. Sklop poput bistabila pamti odreeno stanje na svom izlazu.
Upravo takvi sklopovi ine osnovne elemente odreenih vrsta memorije koje koriste
dananja raunala.
Pohranjivanje podataka
Radna memorija-organizacija Memorija, o kojoj je ovdje rije, ugraena je u samo
raunalo. To je ona memorija koju procesor (CPU) koristi za neposrednu pohranu i dobavu
podataka. Dok je raunalo ukljueno i dok obrauje podatke, ti podaci i programi nalaze se
u radnoj memoriji. Zbog potrebe uvanja podataka, raunala sadre ogromne koliine
sklopova koji uvaju jedan jedini bit. Taj priuvnik bitova u biti je radna memorija. Sklopovi
glavne memorije raunala organizirani su u jedinice kojima moemo pristupati, a zovu se
elije (lokacije) tipine duine od 8 bita. U stvari, skup od 8 bitova postao je toliko
popularan da se je termin BYTE uobiajilo koristiti kao izraz koji oznaava skup bitova te
veliine. Memorijske lokacije moemo zamisliti kao niz pretinaca, od kojih svaki ima svoju
adresu. I ne samo da svaka memorijska jedinica ima svoju adresu, nego i unutar pojedinog
bytea zna se toan redoslijed bitova prema vanosti. Krajnje lijevi bit u byteu je bit najvee
vanosti, a onaj krajnje desni je najmanje znaajan bit. Kao bitnu posljedicu oznaavanja
(adresiranja) byteova i bitova u njima, itavu glavnu memoriju moemo predstaviti jednim
dugakim redom. Dijelovi tog dugog reda mogu se iskoristiti za pohranjivanje uzorka bitova
koji je dulji od 1 bytea. Obino ga spremamo u string koji je cjelobrojni viekratnik osnovne
memorijske elije. Osim toga, ovakav nain organiziranja memorije omoguava nam
dobavljanje sadraja sa svake memorijske lokacije posebno. Stoga se podacima moe
pristupati preko reda, bez obzira gdje su (kaotino random) pa se ovakve memorije zovu
RAM-ovi (random access memory). Osim tih vrsta memorije, glavnu memoriju ine i ROM-
ovi (memorije koje slue samo za itanje). Kapacitet memorije mjeri se ukupnim brojem
bajtova koji se mogu u nju pohraniti. Dananja raunala imaju 128 MB, 256 MB kapacitet
glavne memorije.

Jo malo openito o kapacitetu:
Obiaj je projektirati memorijski sustav tako da ukupan broj lokacija moemo izraziti kao
potenciju broja 2. Suprotno tome, veliina memorije kod starijih sustava esto se mjerila
jedinicom od 1024 bita (2 na 10). Kako je 1024 otprilike jednako 1000, drutveno je
prihvaen prefiks kilo kao dodatak osnovnoj jedinici. Stoga je termin kilobajt (KB)
oznaavao 1024 bita, a za stroj sa 4096 adresnih lokacija govorilo se da ima 4 KB
memorije. Kako je memorija postajala sve glomaznija, u upotrebu je doao termin mega
(2na20) i giga. Primjena ovih prefiksa pogreka je u odnosu na terminologiju (km, MHz...),
pa je negdje izazivala nesporazume. Jedan od novijih pomirljivih prijedloga predlae
upotrebu "kibi"-ja, kao skraenicu za kilobinary, pa bismo kapacitet izraavali sa, primjerice
256 MebiByte-a (????).
Raunala
9

Memorija-vrste
RAM-memorija je upisno ispisna memorija u koju se mogu upisivati podaci i iz nje itati
onoliko puta koliko elimo. Pohranjeni podaci ostaju u ovoj memoriji dok ih raunalo
namjerno ne promijeni ili dok se ne prekine napajanje memorije elektrinom energijom.
Dakle RAM gubi svoj sadraj prestankom napajanja, pa se naziva i nepostojana memorija
(engl. Volatile)
Glavne znaajke RAM-a su kapacitet i brzina rada. Poeljno je da RAM bude to veeg
kapaciteta kako bi se pohranilo to vie podataka. Neki RAM usporeuju sa radnim stolom:
to je vei to nam je dostupnija i preglednija vea koliina razliitih papira, pa je logino
da e raunalo sa veim RAM-om biti ugodnije (bre) za koritenje. Brzina rada RAM-a
odreene je brzinom kojom ova memorija pohranjuje i izdaje podatke. Za itanje nekog
podatka iz memorije potrebno je navesti adresu memorijske lokacije na kojoj se nalazi
podatak. Vrijeme koje protekne od trenutka kada se na adresnim sabirnicama pojavi adresa
treenog podatka do trenutka kada se na podatkovnim sabirnicama pojavi sam podatak
zove se vrijeme pristupa memoriji (access time). Vrijeme pristupa ograniava brzinu kojom
se mogu itati podaci iz memorije i upisivati u nju, pa moe ograniiti brzinu rada cijelog
raunala. RAM-ovi dananje tehnologije imaju vrijeme pristupa 10.tak nanosekunda.
Suvremeni RAM-ovi izgraeni su u poluvodikoj tehnologiji i razlikujemo dvije vrste:
statiki
dinamiki.

SRAM-statiki RAM; vrsta je radne memorije kod koje je svaki bit pohranjen u jednom od
bistabilnih sklopova smjetenim u memorijskom integriranom sklopu. Prednosti SRAM-a su
jednostavnost grae, jednostavnost pogona i veoma brz pristup memoriji. Nedostatak su
mu relativno velike dimenzije bistabilnog sklopa, to ograniava broj bistabila koji se mogu
smjestiti na jednu ploicu poluvodia. SRAM-ovi su znatno manjeg kapaciteta od dinamikih
memorija, a znatno su vee cijene. U SRAM-u se pohranjuje mala koliina podataka (npr.
Pohrana karakteristinih parametara raunala, cache-brza priruna memorija)
DRAM dinamiki RAM; vrsta je radne memorije kod koje je svaki bit pohranjenkao naboj
u minijaturnom kondenzatoru smjetenom u memorijskom integriranom sklopu. Zbog
nesavrenosti dielektrika u kondenzatoru, naboj pohranjen u kondenzatoru postepeno se
gubi, pa se time gubi i podatak. Kako se to ne bi dogodilo, potrebno je naboj obnoviti prije
nego li se kondenzator potpuno isprazni. Obnavljanje se obavlja pomou posebnih sklopova
koji najprije itaju podatke, a zatim obnavljaju naboj svakog kondenzatora sukladno
oitanoj vrijednosti. Obnavljanje naboja (memory refreshing) provodi se svakih nekoliko
milisekunda ili ee, to znatno usporava i komplicira komunikaciju DRAM-a s okolinom.
Prednosti su malene dimenzije kondenzatora koji pohranjuje bit vrijednosti, pa je mogue
smjestiti mnogo takvih kondenzatora na jednu ploicu poluvodia. Nedostatak DRAM-a je
potreba za reletivno sloenim pogonskim sklopom i sporost u radu uzrokovana
obnavljanjem memorije. Cijena mu je nia od cijene statikih memorija, tako da je DRAM
uobiajena radna memorija u suvremenim osobnim raunalima. ROM memorija (read
only memory) ispisna je memorija, tj. Memorija u koju se podatak moe upisati samo
jednom. Nakon upisa podatak se moe itati onoliko puta koliko se eli, ali ne i mijenjati,
brisati ili upisivati novi podatak. Zato je primjena ove memorije ograniena na pohranu
podataka koji su uvijek jednaki i nepromijenjeni. Takvi su primjerice podaci u svezi s
prikazom slova na ekranu, dijelovima operacijskog sustava, itd. Takvih, nepromijenjivih
podataka ima relativno malo, pa je ugraeni ROM malog kapaciteta (128 KB). Brza priruna
memorija cache; Izmeu memorije i CPU-a postoji nerazmjer u brzini....

Heksadecimalno oznaavanje
Kada promatramo unutarnju aktivnost u raunalu, baratamo sa nizovima bitova koji mogu
biti prilino dugi. Takvi se nizovi zovu stream-ovi. Na alost, ljudski mozak nije prilagoen
baratanju sa stream-ovima. Samo prepisivanje uzorka od desetak nula i jedinica je zamorno
i podlono pogrekama. Zbog toga, da bismo sve skupa pojednostavnili koristi se
heksadecimalno oznaavanje

Raunala
10








Centralna jedinica za obradu
U prethodnom dijelu panja je bila posveena pohranjivanju podataka i organizaciji same
memorije u raunalu. Jednom kada su podaci pohranjeni, stroj mora moi manipulirati sa
tim podacima u skladu sa naredbama algoritma. Stroj, dakle mora imati ugraenu
sposobnost:

- izvoenja operacija i
- koordiniranja redoslijedom izvoenja operacija

Ovi zadaci se izvode u CPU, pa je glavna tema ovog dijela usko vezana uz nain
funkcioniranja centralne jedinice za obradu podataka (central processing unit CPU).

ARHITEKTURA RAUNALA

Dijelovi raunala koji izvode operacije nad podacima (primjerice zbrajanja i oduzimanja nisu
direktno vezani na memorijsku strukturu. Ti sklopovi ine zaseban funkcionalni dio raunala
- CPU (ili obino procesor), sastavljen od dva osnovna dijela: aritmetiko logike jedinice u
kojoj su sklopovi za manipulaciju sa podacima i upravljake jedinice koja koordinira
aktivnostima unutar raunala. Za privremeno uvanje podataka CPU koristi registre tzv.
ope i posebne namjene. Registri ope namjene slue kao privremeni priuvnici podataka
koji se obrauju unutar CPU. U ovim registrima uvaju se vrijednosti koje ulaze u
aritmetiko logiku jedinicu i uvaju se rezultati koji se iz AL jedinice tamo poalju. Da bi se
izvela operacija nad podacima iz RAM-a, upravljaka jedinica mora:

1. voditi rauna o tome da odgovarajui podaci dou u registre ope namjene
2. informirati AL jedinicu u kojim registrima su podaci
3. aktivirati odgovarajue sklopove unutar AL jedinice i
4. uputiti AL jedinicu gdje e pohraniti rezultat

Da bi mogli izmijenjivati podatke, CPU i RAM povezani su skupom ica BUSom. Preko
BUSa, CPU moe dohvatiti ili proitati podatke iz RAM-a proslijeivanjem adrese
odgovarajue memorijske lokacije i signala za itanje. Na isti se nain podaci mogu upisati u
memoriju postavljanjem na BUS adrese lokacije odredita, postavljanjem podatka i signala
za pisanje. Slijedom ovih uputa, zadatak zbrajanja dvaju pohranjenih vrijednosti iz RAM-a
ukljuuje puno vie od provoenja same operacije zbrajanja. Proces ukljuuje koordiniranu
akciju upravljake jedinice koja upravlja prijenosom informacija izmeu radne memorije i
registara unutar CPU-a i aritmetiko logike jedinice koja izvodi operacije zbrajanja u
trenutku kada joj upravljaka jedinica da znak da ih izvede. Cjelokupan postupak zbrajanja
dvaju vrijednosti pohranjenih u memoriju, mogao bi se predstaviti procedurom
sastavljenom od 5 koraka:

Korak 1: Uzmi prvu vrijednost koja se zbraja i pohrani je u registar
Korak 2: Uzmi drugu vrijednost koja se zbraja i pohrani je u drugi registar
Korak 3: Aktiviraj sklopove za zbrajanje sa vrijednostima koje su pohranjene u registrima
tijekom prva dva koraka.
Korak 4: Rezultat operacije pohrani u memoriju.
Korak 5: Stani.


Ukratko, podaci se moraju prenijeti iz memorije u CPU, a rezultat se na kraju ponovno
Raunala
11
pohranjuje u memoriju. Starija raunala nisu nudila fleksibilnost koja se dobila ovakvim
organiziranjem CPUa. Sklopovi koji su upravljali i izvodili operacije bili su sastavni dijelovi
stroja, ni na koji nain organizirani u posebnu funkcionalnu jedinicu. Drugaije
funkcioniranje stroja, od onog za koje je bilo konstruirano, moglo se, u najboljem sluaju,
dobiti prespajanjem dijelova CPUa preko upravljakog pulta. Do bitog pomaka prema
fleksibilnijem raunalu dolo se sa arhitekturom koja je nudila mogunost da se program,
isto kao i podaci, pohrani u radnu memoriju.

Upravo je John von Neumann-u pripala sva zasluga za definiranje arhitekture ovakvog tipa
iako je, i prije nego to je on svoj rad objavio, Eckert-ov stroj izgraen na tim naelima,
uspjeno funkcionirao. U njegovom je stroju, ba kao i u dananjim raunalima, upravljaka
jedinica dohvaala program iz memorije, dekodirala instrukcije i izvodila ih, a namjena
raunala mijenjala se u skladu sa pohranjenim programom.

STROJNI JEZIK

Da bi se realiziralo raunalo koje radi u skladu sa pohranjenim programom, CPU mora
prepoznavati instrukcije kodirane nizom bitova. Ovaj skup instrukcija kodiranih binarnim
nizovima predstavljaju strojni jezik.
Instrukcijski skup Moda iznenaujue zvui injenica da je tipian instrukcijski skup
kojeg CPU moe dekodirati i izvoditi jako malen. Kada i ako je dobro definiran, dodavanjem
novih instrukcija ne poveavaju se teoretske mogunosti stroja nego ga se eventualno
prilagoava tekuim potrebama. Razliiti pristupi u projektiranju instrukcijskog skupa
rezultirali su razliitim karakteristikama arhitektura dananjih procesora: RISC i CISC.
Argumenti koji idu u prilog RISC arhitekturi (reduced instruction set computer) je efikasnost
i brzina izvoenja velikog broja jednostavnih instrukcija. S druge strane, zagovornici CISC
arhitekture (complex instruction set computer) smatraju da sloeniji instrukcijski skup prua
vee mogunosti jer e se sa jednom instrukcijom rijeiti vei dio zadatka, makar neke od
tih instrukcija bile redundantne. Iako se danas efikasnijim smatraju RISC procesori, u
vrijeme kada je nastala, CISC arhitektura imala je opravdano puno zagovornika. Sloeniji
instrukcijski skup zahtijevao je manji memorijski prostor, to je tada predstavljalo znaajnu
utedu zbog skupoe memorije. S vremenom, cijena memorije je padala, a istraivanja su
pokazala da se tijekom 90% vremena u kojem se izvodi program, koristi samo 10% naredbi
iz instrukcijskog skupa CISC procesora, dok je kod RISC procesora iskoristivost daleko vea.
Time se polazna pretpostavka koja je ila u prilog utedi memorijskog prostora pokazala
potpuno pogrenom. Danas na tritu postoje procesori temeljeni i na jednoj i na drugoj
arhitekturi. Pentiumovi procesori, koje je razvio Intel, tipini su primjeri CISC arhitekture,
za razliku od PowerPC serije procesora koje su razvili AppleComputer, IBM i Motorola i koji
su tipini predstavnici RISC arhitekture. Openito. Instrukcije procesora mogu se svrstati u
tri osnovne kategorije:
- instrukcije za prijenos podataka,
- aritmetiko-logike instrukcije i
- upravljake instrukcije.

Instrukcije za prijenos podataka:
U ovu grupu spadaju instrukcije koje zahtijevaju pomicanje podataka sa jednog na drugo
mjesto. U gornjem primjeru koraci 1,2 i 4 spadali bi u ovu grupu. Instrukcije pomicanja
kopiraju (a ne premjetaju) vrijednosti iz radne memorije u odgovarajue registre
procesora. Pri tom, koristi se izraz LOAD kojim se naznaava da je rije o upravo toj akciji,
a za obrnutu proceduru pohranjivanja vrijednosti iz registara u radnu memoriju, uobiajeni
je termin STORE. U spomenutom primjeru, instrukcije 1 i 2 primjeri su LOAD operacija, a
istrukcija u 4. koraku naznaava STORE operaciju. U ovu kategoriju spadale bi i instrukcije
kojima podatke iz radne memorije pohranjujemo na neku od vanjskih jedinica i zovemo ih
I/O instrukcijama. Zbog njihovih karakteristika, ponekad ih se svrstava i u zasebnu
kategoriju.
Aritmetiko logike instrukcije:
U ovu grupu spadaju instrukcije koje od upravljake jedinice trae pokretanje aktivnosti
Raunala
12
unutar aritmetiko logike jedinice. I samo ime za AL jedinicu sugerira da ova moe osim
uobiajenih aritmetikih, obaviti i logike operacije. U te spadaju, primjerice logike AND,
OR ili XOR operacije koje se esto koriste za izmjenu samo nekih vrijednosti bitova u
podacima pohranjenima u registre ope namjene. Druga skupina logikih operacija
omoguava pomicanje niza vrijednosti unutar registra u lijevo ili u desno (SHIFT i ROTATE).


Upravljake instrukcije:
U ovu grupu spadaju instrukcije koje ne manipuliraju sa podacima nego usmjeravaju
izvoenje programa. Krajnje jednostavni primjer instrukcija iz ove skupine, predstavljao bi
5. korak iz primjera STOP. Osim te, u istu grupu spada i operacija JUMP, koja e
vjerojatno vie zakomplicirati program. Na donjoj slici predstavljen je algoritam kojim
moemo dijeliti vrijednosti pohranjene u memoriji, uz pomo spomenutih operacija.

1. LOAD registar sa vrijednou iz memorije
2. LOAD drugi registar sa vrijednou sa druge lokacije
3. Ako je druga vrijednost 0, JUMP na korak 6.
4. Podijeli sadraj prvog sa drugim registrom i rezultat odloi u trei registar
5. STORE sadraj treeg registra u memoriju
6. STOP.

Ilustrativni primjer strojnog jezika

Promotrimo kako su kodirane instrukcije na jednom tipinom stroju koji koristi 16 registara
ope namjene i ima 256 adresa radne memorije na kojima se moe pohraniti byte podatka.
Zbog tonosti prikaza, neka su registri oznaeni vrijednostima od 0 do 15, a vrijednosti
memorijskih adresa od 0 do 255 i to predstavljeno odgovarajuim binarnim ekvivalentima i
heksadecimalnim zapisom. Kodirana strojna instrukcija ima dva tipina dijela: tzv. polje op-
koda (operacijski kod) i polje operanda. Niz bitova u polju operacijskog koda predstavlja
neku od instrukcija iz instrukcijskog skupa, a niz bitova u polju operanda indicira detalje
potrebne za izvoenje instrukcije, primjerice koji se registar ope namjene koristi za
podatak sa odreene lokacije u memoriji. Cijeli instrukcijski skup ovog ilustrativnog
primjera predstavljen je sa 12 osnovnih instrukcija. Svaka instrukcija kodira se sa 16 bitova
(predstavljenih sa 4 heksadecimalne znamenke) na nain predstavljen tablicom:
OP-
CODE
OPERAND OPIS
1 RXY
LOAD registar R sa uzorkom bitova na
memorijskoj adresi XY
Primjer: 14A3: Napuni registar 4 sa sadrajem
memorijske lokacije A3
2 RXY LOAD registar R sa uzorkom bitova XY
3 RXY SAVE u registar R uzorak bitova XY
4 0RS
ADD uzorke bitova u registrima S i T
predstavljenih dvojnim komplementom i
rezultat pohrani u registar R
5 RST
ADD uzorke bitova u registrima S i T
predstavljenih dvojnim komplementom i
rezultat pohrani u registar R
6 RST
ADD uzorke bitova u registrima S i T
predstavljenih plivajuim zarezom i rezultat
pohrani u registar R
7 RST
OR uzorke bitova u registrima S i T i rezultat
pohrani u registar R
8 RST
AND uzorke bitova u registrima S i T i rezultat
pohrani u registar R
Raunala
13
9 RST
XOR uzorke bitova u registrima S i T i rezultat
pohrani u registar R
A R0X
ROTATE uzorke bitova u registru R za X mjesta
u desno
B RXY
JUMP na naredbu pohranjenu na memorijskoj
adresi XY ako je sadraj R jednak sadraju
registra 0
C 000 STANI


Operacijski kod predstavljen je sa prva 4 bita, tj sa prvom heksadecimalnom znamenkom.
Iz tablice je vidljivo da, primjerice, naredba koja poinje sa 3 oznaava operaciju
pohranjivanja, a ona oznaena slovom A oznaava instrukciju ROTATE. Polje operanda
svake operacije u ovom zamiljenom procesoru sastavljeno je od 3 heksadecimalne
znamenke i u svim sluajevima (osim za naredbu HALT koja je sama po sebi jasna)
predstavlja nain izvoenja operacije predstavljene kodom. Primjer: 35A7 znai da treba
pohraniti sadraj registra 5 na memorijsku lokaciju sa adresom A7. Isto tako vrijedno je
uoiti razliku u funkcioniranju LOAD operacija. Operacija 1 puni registar sa sadrajem
neke memorijske lokacije, a operacija 2 puni registar sa uzorkom bitova predstavljenim
heksadecimalnim znamenkama. I za operaciju zbrajanja takoer postoje dva naina
koritenja: koristimo li je za zbrajanje cijelih, odnosno za zbrajanje znamenaka
predstavljenih pominim zarezom.

Kodirane instrikcije predstavljene PROCEDUROM1 u skladu sa tablicom mogle bi imati oblik:

156C - napuni registar 5 sa sadrajem memorijske lokacije 6C
166D - napuni registar 6 sa sadrajem memorijske lokacije 6D
5056 - zbroji cjelobrojne vrijednosti u registrima 5 i 6 i pohrani u registar 0
306E - pohrani sadraj registra 0 na memorijsku lokaciju sa adresom 6E
C000 - stani


Izvoenje programa

Raunalo slijedi program pohranjen u memoriji kopiranjem instrukcija iz memorije u
upravljaku jedinicu. Kada je naredba u upravljakoj jedinici, svaka se instrukcija dekodira i
pokreu se odgovarajue akcije u skladu sa znaenjem instrukcije. Red kojim se instrukcije
dekodiraju odgovara redoslijedu kojim su pohranjene u memoriju, osim ako drugaije nije
specificirano, primjerice JUMP naredbom. Da bi se razumjelo kako se izvodi program, nuno
je izbliza promotriti funkcioniranje upravljake jedinice unutar CPUa. Unutar te jedinice
nalaze se dva registra posebne namjene:
programsko brojilo i
instrukcijski registar.
Programsko brojilo sadri adresu memorijske lokacije sa slijedeom naredbom i slui kao
oznaka za mjesto do kojeg se dolo u izvoenju programa. Upravljaka jedinica izvodi
instrukciju tijekom u "strojnog ciklusa" sastavljenog od tri koraka tijekom kojih se:
DOHVAA, DEKODIRA i IZVODI instrukcija. Kod dohvaanja, upravljaka jedinica
proslijeuje (kopira) instrukciju sa memorijske lokacije naznaene programskim brojilom u
instrukcijski registar. Kako je svaka instrukcija duga 2 byta, postupak dohvaanja
podrazumijeva prebacivanje podataka sa dvije memorijske lokacije u instrukcijski registar.
Pri dekodiranju instrukcija se razbija na sastavne dijelove: op-code i polje operanda. U
skladu sa op-codom definira se vrijednost programskog brojila i inicijaliziraju se sklopovi
koji sudjeluju u izvoenju operacije ime se otvara put za konano izvoenje same
operacije. Time jedan strojni ciklus zavrava. Interesantni su primjeri instrukcija B258 i
B058. U prvom sluaju rije je o uvjetnom skoku: ako sadraj registra 2 i 0 nije jednak,
izvoenje se zaustavlja, a ukoliko je, onda programsko brojilo poprima vrijednost 58 i
izvoenje se nastavlja. U drugom sluaju usporeuje se vrijednost registra 0 sa samim
sobom. Kako su te dvije vrijednosti uvijek iste, naredba predstavlja bezuvjetni skok na
instrukciju pohranjenoj na adresi 58.
Raunala
14






Instrukcije varijabilne duine

Zbog pojednostavljenja, strojni jezik opisan tablicom koristi fiksnu duinu za sve instrukcije.
Dakle, da bi se dobavila instrukcija, CPU uvijek dobavlja sadraj sa dviju susjednih lokacija i
uveava sadraj programskog brojila za 2. U realnim sustavima, strojni jezici uglavnom
koriste instrukcije varijabilne duine. Procesori Pentium koriste instrukcije ija duina ovisi o
stvarnom nainu koritenja instrukcije. Kod takvih strojnih jezika, duljina je definirana op-
kodom, koji kad se dekodira daje informaciju o broju byta koje iz memorije treba dohvatiti
da bi se dolo do potpune instrukcije.

You might also like