You are on page 1of 39

ARHITEKTURA RAUNARA

Raunarski sistem je skup meusobno povezanih elemenata koji djeluju ka


ostbarenju funkcij cilja. Karakteriu ga: struktura (nain na koji su komponente
meusobno povezane) i funkcija (djelovanje nekih komponenti).
Organizacija raunara je hijerarhijska: svaka glavna komponenta se razlae na
podkomponente, a onda podkomponente se opisuju svojom vlastitom strukturom i
funkcijom. To znai da se hijerarhijska organizacija raunara opisuje odozgo prema
dole:
Osnovne komponente raunarskog sistema su: procesor, memorija, U/I.
Procesor: procesorske osnovne komponente su: kontrolna jedinica, registri,
aritmetiko-logika i izvrna jedinica.
Kontrolna jedinica: obezbjeuje kontrolne signale za rad i koordinaciju svih
ostalih
procesorskih elemenata.
Raunarska arhitektura se odnosi na sistemske osobine koje su vidljive
programeru, tj. osobine koje imaju direktan uticaj na logiko izvravanje programa. To
su: instrukcijski set, broj bitova za predstavljanje razliitih tipova podataka, U/I
mehanizmi i tehnike adresiranja memorije.
Raunarska organizacija se odnosi na operativne jedinice i njihovo povezivanje
kojima se
ostvaruju arhitekturne specifikacije. To su: kontrolni signali, razliiti interfejsi izmeu
raunara i memorijske tehnologije.
Pitanje arhitekture je da li e raunar imati instrukciju za mnoenje, a
organizacijsko
pitanje je da li e ta instrukcija biti implementirana pomou specijalne jedinice za
mnoenje ili mehanizmom viekratnog koritenja jedinice za sabiranje.
Raunar je veoma sloen sistem koji se sastoji od miliona osnovnih elektronskih
komponenti. Da bi se te komponente opisale potrebno je prepoznati hijerarhijsku
prirodu sloenih sistema. Hijerarhijski sistem je skup meusobno povezanih
podsistema, a hijerarhijska priroda je osnova projektovanja i opis sistema. Projektant
treba da se bavi odreenim nivoom sistema. Na svakom nivou sistem se sastoji od
skupa komponenti i njihovih veza. Ponaanje svakog nivoa zavisi samo od
pojednostavljenog prikaza sistema na niem nivou. Na svakom nivou projektant se
brine o: strukturi (na koji nain su komponente meusobno povezane) i funkciji
(djelovanje svake komponente kao dijela strukture.
Veze raunara sa okolinom mogu se podijeliti na: periferne ureaje i komunikacijske
linije.

etiri ope funkcije raunara su:


Obrada podataka
Pohranjivanje podataka - osnovna funkcija raunara; u raunaru treba
postojati funkcija za dugotrajno pohranjivanje i kratkotrajno u sluaju obrade u
letu (podaci dolaze, obrauju se i odmah prosljeuju izvan raunara).
Kretanja podataka raunar mora obezbijediti kretanje podataka izmeu sebe
i vanjske okoline.
Ulazno-izlazni proces: raunar prima ili prosljeuje podatke ureaju koji
je direktno povezan na njega. Taj se ureaj naziva periferal.
Proces podatkovne komunikacije: podaci se prenose na vee
udaljenosti, sa ili na udaljeni ureaj.
Kontrola izmeu obrade, pohranjivanja i kretanja podataka.
etiri komponente strukture:
Centralna procesna jedinica (CPU): kontrolie rad raunara i izvodi funkcije
obrade podataka.
Glavna memorija: pohranjuje podatke.
U/I: prebacivanje podataka izmeu raunara i okoline.
Sistemsko povezivanje: mehanizam povezivanja elemenata raunara.
Strukturne komponente CPU su:
Kontrolna jedinica: kontrolie rad CPU.
Aritmetiko-logika jedinica (ALU): vri obradu podataka.
Registri: pohrana unutar CPU.
CPU-povezanost: mehanizam povezivanja elemenata CPU.

SVOJSTVA RAUNARA I NJIHOV RAZVOJ


Historija raunara:
Prva generacija (vakuumse cijevi):
Prvi elektronski digitalni raunar ope namjene ENIAC (Electronic Numerical
Integrator And Computer), projektovan je i izraen na Univerzitetu Pensilvanija. To
je bila maina koja je teila 30 tona, zauzimala povrinu od oko 140 m , sadravala je
vie od 18.000 vakuumskih cijevi, dok je pri radu trebala 140kW snage. ENIAC je
mogao izvriti 5.000 sabiranja u sekundi. To je bila decimalna, a ne binarna maina
to znai da su brojevi predstavljani u decimalnom obliku. Memoriju ENIAC-a inilo je
20 akumulatora, a svaki je mogao sadravati jedan desetocifreni decimalni broj.
Prsten od 10 vakuumskih cijevi predstavljao je jednu cifru. ENIAC se morao runo
programirati postavljajui prekidae i ukljuujui/iskljuujui kablove. Koriten je do
2

1955 godine.

Von Neumann-ova maina. Programiranje se moe olakati ako se program moe


predstaviti u obliku koji je pogodan za pohranjivanje u memoriju zajedno sa
podacima. Onda raunar moe dobiti instrukcije itajui ih iz memorije, a program se
moe postaviti ili mijenjati postavljanjem (mijenjanjem) vrijednosti u njegovom dijelu
memorije. Ova ideja je poznata kao koncept pohranjenog. Prvo predstavljanje ove
ideje je bilo 1945. godine kada je von Neumann predloio izradu novog raunara,
EDVAC (Electronic Discrete Variable Computer). Von Neumann i njegove kolege
su 1946. godine poeli projektovanje raunara sa pohranjenim programom kojeg su
nazvali IAS kompjuter. Zavren je tek 1952. godine, ali je bio prototip svih kasnijih
raunara ope namjene.
Struktura IAS kompjutera sastoji se od: glavne memorije u koju su pohranjeni i
podaci i instrukcije; aritmetiko-logike jedinice (ALU) koja je u stanju da radi sa
binarnim podacima; kontrolne jedinice koja prevodi instrukcije iz memorije i uzrokuje
njihovo izvravanje; ulazna i izlazna oprema kojom upravlja kontrolna jedinica.
Njegova memorija se sastoji od 1000 lokacija za pohranjivanje. Te lokacije se
nazivaju rijei. Rije je ureeni niz bajtova ili bitova u kojoj se informacije pohranjuju,
prenose ili obrauju unutar raunara.Svaka se sastoji od 40 binarnih cifara tj. bitova.
Tu su pohranjeni i podaci i instrukcije. Brojevi se predstavljaju u binarnom obliku, a
instrukcije u binarnom kodu. Svaki broj se predstavlja bitom predznaka i 39-bitnom
vrijednou. Rije moe takoer sadravati dvije 20-bitne instrukcije. Svaka
instrukcija se sastoji od 8-bitnog operacijskog koda (opkod) definiui operaciju koju
izvodi, i 12-bitne adrese oznaavajui jednu od rijei u memoriji (pobrojane od 0 do
999).
IAS-ova kontrolna jedinica radi tako to dobavlja jednu po jednu instrukciju iz
memorije. Kontrolna i aritmetiko-logika jedinica sadre lokacije za pohranjivanje
koje se nazivaju registri, i to:
memorijski buffer regitar (MBR): sadri rije koja se pohranjuje u memoriji i alje
prema ulaznoj/izlaznoj jedinici ili se koristi za primanje rijei iz memorije;
memorijski adresni registar (MAR): odreuje adresu rijei u memoriji koja se
upisuje iz ili uitava u memorijski buffer registar;
instrukcijski registar (IR): sadri 8-bitni opkd instrukcije koja se izvrava;
instrukcijski buffer registar (IBR): privremeno dri desnu instrukciju rijei u
memoriji;

programski broja (PC): sadri adresu sljedeeg instrukcijskog para koji se


dobavlja iz memorije;
akumulator (AC) i multiplier quotient (MQ): privremeno dre operande i rezultate
arritmetiko-logikih operacija. Prvih pola cifara je pohranjeno u akumulator, a drugih
pola u multipilier quotient.
IAS radi tako to ponavlja instrukcijski ciklus. Svaki instrukcijski ciklus se sastoji
od dva podciklusa. Tokom ciklusa prihvatanja, opkd sljedee instrukcije se uitava u
instrukcijski, a adresni dio u memorijski adresni registar. Instrukcija moe biti uzeta iz
instrukcijskog buffer registra ili iz memorije uitavajui rije u memorijski buffer
registar pa onda u instrukcijski, instrukcijski buffer i memorijski adresni registar.
Postoji samo jedan registar koji se koristi za odreivanje adrese u memoriji za
uitavanje ili upisivanje i samo jedan registar koji se koristi za poetak ili odredite.
Kad je opkd u IR, izvodi se ciklus izvravanja. Kontrolno kolo prevodi opkd i
izvrava instrukciju tako to alje odgovarajue kontrolne signale koji izazivaju
pokretanje podataka ili izvoenje aritmetiko-logike operacije. IAS raunar je imao
ukupno 21 instrukciju. Mogu se grupisati u: prenos podataka: izmeu memorije i
ALU registara ili izmeu dva ALU registra; bezuslovno grananje: u normalnim
okolnostima kontrolna jedinica izvodi instrukcije iz memorije u nizu. Ovaj niz moe biti
promijenjen naredbom grananja, koja potpomae operacije koje se ponavljaju;
uslovno grananje: grananje moe zavisiti od uslova, te se na taj nain doputa
izbor; aritmetika: operacije koje izvodi ALU; modifikacija adrese: dozvoljava se
izraunavanje adresa u ALU, te njihovo umetanje u instrukcije koje su pohranjene u
memoriji. Na ovaj nain programu se dozvoljava znaajna adresna fleksibilnost.
Svaka instrukcija mora biti u skladu sa 40-bitnom rijei. Opkd (prvih 8 bita) odreuje
koja e se instrukcija od njih 21 izvravati. Adresni dio (preostalih 12 bita) odreuje
koja od 1000 memorijskih lokacija e biti obuhvaena izvravanjem instrukcije.
Operacija mnoenja zahtijeva 39 podoperacija, jedna za svaki bit osim za bit
predznaka.

Glavne znaajnosti Von Neumann-ovog prijedloga su:


1. Poto je ureaj raunar koji mora najee izvravati osnovne aritmetike
operacije (sabiranje, oduzimanje, mnoenje i dijeljenje), logino je da posjeduje
specijalizivane organe samo za ove operacije. To znai na mora postojati nain
provjere njihovog rada. Centralni aritmetiki dio ureaja vjerovatno mora postojati i to
predstavlja prvi specifini dio (CA).
2. Logika kontrola ureaja je predstavljena pravilnim redoslijedom operacija, a
najefikasnije je moe izvoditi centralni kontrolni organ. Da bi ureaj bio ope
namjene, onda se mora praviti razlika izmeu specifinih instrukcija kojima se
definie odreeni problem i opih kontrolnih organa koji moraju obezbijediti da se te
instrukcije izvedu bez obzira kakav posao one izvravaju. Ove instrukcije na neki
nain moraju biti pohranjene, dok kontrolne organe ine odreeni radni dijelovi
ureaja. Pod centralnom kontrolom se podrazumijeva funkcija ovih dijelova koji se
nazivaju drugi specifini dio (CC).

3. Da bi ureaj izvravao duge i sloene operacije mora imati odreenu koliinu


memorije. Instrukcije pomou kojih se rjeava svaki problem mogu sadravati
znaajnu koliinu materijala, jer se najee radi o opirnom i detaljnom kodu.
Ovaj materijal mora biti memorisan. Ukupna memorija ini trei specifini dio
ureaja (M).
Tri specifina dijela CA, CC i M odgovaraju asocijativnim neuronima ljudskog
nervnog sistema. Potrebno je pronai ekvivalente za senzitivne i motorne
neurone, a to su ulazni i izlazni organi ureaja. Ureaj mora biti u stanju da
odrava ulazne i izlazne veze sa odreenim tipom medija koji se zovu vanjski
medij za snimanje (R).
4. Ureaj mora imati organe za prenos informacija od vanjskog medija za
snimanje ka centralnom aritmetikom dijelu, centralnoj kontroli i memoriji
ureaja. Ovi organi ine ulaz, kao etvrti specifini dio (I). Takoer, prenos je
najbolje vriti od vanjskog medija za snimanje preko ulaza do memorije, a
nikad direktno od centralnog aritmetikog dijela i centralne kontrole ureaja.
5. Ureaj mora imati organe za prenos od centralnog aritmetikog dijela,
centralne kontrole i memorije ka vanjskom mediju za snimanje. Ovi organi ine
njegov izlaz, kao peti specifini dio (O). Ponovo je najbolje vriti prenos od
memorije preko izlaza ka vanjskom mediju za snimanje, a nikad direktno od
centralnog aritmetikog dijela i centralne kontrole.

Komercijalni raunari:
Eckert i Mauchly osnovali su 1947. godine Eckert-Mauchly Computer Corporation za
proizvodnju komercijalnih raunara. Njihova prva uspjena maina bio je UNIVAC I
(Universal Automatic Computer). To je bio prvi uspjean komercijalni raunar. Bio
je namijenjen za naunu i za komercijalnu upotrebu. Zadaci koje je mogao izvoditi su:
algebra matrica, statistiki problemi, izraunavanje premija ivotnog osiguranja za
osiguravajue kue i logiki problemi.
UNIVAC II je imao veu memoriju i bolje performanse od UNIVAC I.
IBM, najvei proizvoa opreme za buene kartice, predstavio je 1953. godine svoj
prvi elektronski kompjuter sa pohranjenim programom, IBM 701, ija je primarna
primjena bila u naune svrhe. 1955. godine IBM je proizveo 702 koji je imao
hardverske osobine koje ga svrstavaju u poslovne svrhe. Ovo su bili prvi raunari
700/7000 serije kojom je IBM postao najmoniji proizvoa raunara.

Druga generacija: (tranzistori)


Prva velika promjena dogodila se zamjenom vakuumske cijevi tranzistorom koji je
manji, jeftiniji i rasipa manje toplote, a moe se na isti nain koristiti za izradu
raunara. Tranzistor je ureaj nainjen od silikona. Izumljen je 1947. godine, a u
pedesetim je izazvao elektroniku revoluciju. Krajem pedesetih su se pojavili prvi
komercijalni tranzistorski raunari. NCR i RCA su prvi koji su otpoeli sa primjenom
nove tehnologije u raunarima.
Koritenje tranzistora definie drugu generaciju raunara. Svaka nova
generacija u odnosu na prethodnu je imala bolje procesorske performanse, vee
memorijske kapacitete i manje gabarite. U drugoj generaciji pojavile su se sloenije
aritmetike, logike i kontrolne jedinice, koriste se jezici visokog nivoa, i raunari sa
sistemskim softverom.
Druga generacija je znaajna i po pojavi Digital Equipment Corporation (DEC),
koja je osnovana 1957. godine. Iste godine je proizveden PDP-1, prvi minikompjuter.
Veliina radne memorije je narasla sa 2K (1K = 210) na 32K 36-bitnih rijei, broj
opkdova je porastao sa 24 na 185.
Poboljanja brzine su postignuta elektronikim poboljanjima (tranzistor je bri od
vakuumske cijevi ) i sloenijim kolima. Smanjuje se prosjeno vrijeme trajanja
instrukcijskog ciklusa.
IBM 7094 (predstavnika druge generacije)- najvanija razlika odnosu na IAS je
koritenje podatkovnih kanala. Podatkovni kanal je nezavisan I/O modul sa vlastitim
procesorom i instrukcijskim setom. Kod ovakvih raunara CPU ne izvrava detaljne
I/O instrukcije. One su pohranjene u glavnoj memoriji, a izvravaju se na posebnom
procesoru na samom podatkovnom kanalu. CPU inicira I/O prenos slanjem
kontrolnog signala podatkovnom kanalu, govorei mu da izvri niz instrukcija iz
memorije. Podatkovni kanal nezavisno od CPU-a izvodi ovaj zadatak, signalizira
CPU-u kad je operacija zavrena. Na ovaj nain, CPU je osloboen znaajne koliine
obrade.
Sljedea novina je multipleksor, taka u kojoj zavravaju svi podatkovni kanali, CPU
i memorija. On rasporeuje pristup memoriji od CPU-a i podatkovnih kanala,
doputajui da ovi ureaji djeluju nezavisno.
Trea generacija: integrisana kola
Zasebni tranzistor se naziva diskretna komponenta. One su se proizvodile zasebno,
pakovane u kutije, i zalemljene ili spojene na ploe koje su potom ugraivane u
raunare. Cijeli ovaj proces bio je skup i glomazan i ta injenica je pravila probleme
kompjuterskoj industriji, pa su izumljena integrisana kola. Izum integralnog kola
izazvalo je revoluciju u elektronici i poetak mikroelektronike. To je
glavna karakteristika raunara tree generacije.
Vrata je ureaj kojim se ostvaruje jednostavna Bulova ili logika funkcija, kao to
je: IF A AND B ARE TRUE THEN C IS TRUE (I vrata).
Ovakvi ureaji se zovu kola jer kontroliu tok podataka. Memorijska elija je ureaj
koji moe pohraniti jedan bit podataka.
etiri osnovne raunarske funkcije: Pohrana podataka (obezbjeuju je memorijske
elije); Obrada podataka (obezbjeuju je kola); Premjetanje podataka (putanje
izmeu komponenti koje se koriste za premjetanje podataka od memorije do
memorije i od memorije preko kola do memorije); Kontrola (putanje izmeu
komponenti mogu nositi kontrolne signale.

Vrata mogu imati jedan ili dva ulaza i ulazni kontrolni signal koji ih aktivira. Kad je
kontrolni signal ukljuen, vrata izvravaju svoju funkciju na podatkovnim ulazima to
rezultira podatkovnim izlazom. Slino, memorijska elija pohranjuje bit koji joj je na
ulazu kad je WRITE kontrolni signal ukljuen, a smjestit e bit na svoj izlaz kada je
READ kontrolni signal ukljuen.
Zato se raunar sastoji od kola, memorijskih elija i veza meu njima.
U treoj generaciji IBM objavljuje novu porodicu raunara System/360. Modeli ove
su bili kompatibilni tako da se program napisan za jedan model mogao izvravati na
drugom, a jedino se razlikovalo vrijeme izvravanja.
Karakteristike porodice:
Slian ili identian instrukcijski set: potpuno isti instrukcijski set je
podravala cijela porodica raunara. Zato se program koji se izvravao na
jednoj maini mogao izvravati i na drugoj. Programi su se mogli prebacivati
sa slabijih na jae maine, ali ne i obrnuto.
Slian ili isti operativni sistem: isti osnovni operativni sistem bio je na
raspolaganju za cijelu porodicu.
Poveanje brzine: brzina izvravanja instrukcija rasla je od slabijih prema
jaim raunarima iste porodice.
Poveanje broja I/O prikljuaka: broj I/O prikljuaka rastao je od slabijih ka
jaim.
Poveanje memorije: veliina glavne memorije je rasla u istom smjeru.
Poveanje cijene: u datom trenutku, cijena sistema je rasla u istom smjeru.
U isto vrijeme objavljuje se se i DOCov PDP-8 koji je koristio strukturu koja je
danas gotovo univerzalna za miniraunare: sabirnica (bus). PDP-8 sabirnica se zvala
omnibus, i sastojala se od 96 odvojenih signalnih putanja, koje su se koristile za
kontrolne, adresne i podatkovne signale.

Kasnije generacije:
Radi se o napretku tehnologije integrisanih kola. Uvoenjem integracije velikog nivoa
moglo se ugraditi preko 1000 elemenata na jedan ip.
Uvodi se i vrlo veliki nivo integracije i jedan ip sadrava vie od 10000 elemenata.
Pojavljuju se ipovi ultra velike razine integracije i jedan ip sadri vie od milion
elemenata.
Postoje dva najvanija rezultata brzog tehnolokog razvoja, a to su:
Poluprovodnika memorija - Prva upotreba tehnologije integrisanih kola u
raunarima bila je izrada procesora od integrisanih ipova. Ista ova tehnologija
se mogla koristiti i za izradu memorije. Veina raunarske memorije izraivala
se od tankih prstenova feromagnetnog materijala, a prstenovi su bili nanizani
na reetke ica koje su bile privrene na zaslon unutar raunara. Ako je
prsten bio magnetiziran u jednom smjeru, predstavljao je jedinicu, a njegova
magnetizacija u drugom smjeru predstavljala je nulu. Memorija sa magnetnom
jezgrom bila je prilino brza; bio je potreban milioniti dio sekunde za itanje
pohranjenog bita, ali je bila veoma skupa, a njeno itanje znailo je i njeno
brisanje. Zato je bilo potrebno uvoenje kola kako bi se podaci povratili im bi
bili izvaeni. Od 1970. godine, poluprovodnika memorija prola je kroz 13
generacija: 1K, 4K, 16K, 64K, 256K, 1M, 4M, 16M, 64M, 256M, 1G, 4G i 16G
bita po jednom ipu. Svaka sljedea generacija je imala 4 puta veu gustinu
od prethodne, to je bilo popraeno padom cijene po bitu i smanjenjem
vremena pristupa.
Mikroprocesori - Isto kako je rasla gustina elemenata memorijskog ipa,
rasla je i gustina elemenata procesorskog ipa. Kako je vrijeme prolazilo, sve
je vie i vie elemenata postavljano na jedan ip, tako da je sve manje i manje
ipova bilo potrebno za izradu procesora.
Prekretnica je napravljena 1971. godine kada je Intel razvio 4004 procesor. To
je bio prvi ip koji je sadravao sve komponente CPU-a na jednom ipu i to se
smatra roenjem mikroprocesora. 4004 je mogao sabrati dva 4-bitna broja i
mnoiti ponavljanjem sabiranja.
Sljedei vaan korak razvoja mikroprocesora bilo je uvoenje Intel 8008 1972.
godine. Ovo je prvi 8-bitni procesor i bio je skoro duplo sloeniji od 4004.
Intel je 1974. godine uveo 8080, koji je bio prvi mikroprocesor ope namjene.
I 8080 je 8-bitni mikroprocesor, ali dosta bri sa veim instrukcijskim setom i
veim adresnim mogunostima.
U isto vrijeme poelo se sa razvojem 16-bitnog mikroprocesora, ali on se
pojavio tek krajem 1970.-tih.
Sljedei korak nainili su Bell Labs i Hewlett-Packard razvojem 32-bitnog
mikroprocesora 1981. godine. Intelov 32-bitni procesor 80386 pojavio se
1985. godine.

Brzina mikroprocesora:
Razvoj raunara prati Moore-ov zakon. Dokle god je ovaj zakon na snazi, proizvoai
ipova e svake tri godine proizvoditi nove generacije koje e imati etiri puta vie
tranzistora od prethodne. Kod memorije, svake tri godine se kapacitet poveava etiri
puta. Kod mikroprocesora, dodatna kola i poveanje brzine koje je posljedica
smanjenja rastojanja izmeu njih, poveava performanse etiri-pet puta otprilike
svake tri godine od kada je Intel uveo x86 porodicu.
Ali mikroprocesor ne moe postii svoj potencijal, osim ako nije konstantno zaposlen
raunarskim instrukcijama.
Tehnike koje su ugraene u dananje procesore:
Predvianje grananja (branch prediction): procesor gleda koje su
instrukcije uitane iz memorije i nastoji predvidjeti koje e grane ili grupe
instrukcija biti sljedee obraene. Ako procesor u najveem broju sluajeva
pravilno predvidi, moe pripremiti ispravne instrukcije i pohraniti ih u buffer
tako da bude stalno zaposlen.
Analiza toka podataka (data flow analysis): procesor analizira koje su
instrukcije zavisne ili od rezultata drugih ili od podataka, te na taj nain pravi
optimizirani raspored instrukcija. U stvari, instrukcije se rasporeuju na
izvravanje kad su spremne nezavisno od osnovnog programskog poretka.
Tako se spreava nepotrebno kanjenje.
pekulativno izvravanje (speculative execution): koristei predvianje
grananja i analizu toka podataka, neki procesori pekulativno izvravaju
instrukcije prije njihovog stvarnog pojavljivanja u izvravanju programa, te se
njihovi rezultati uvaju na privremenim lokacijama. Na taj nain se izvrni
dijelovi procesora dre zaposlenim to je vie mogue, jer izvravaju
instrukcije koje e vjerovatno biti potrebne.
Uravnoteenje performansi:
Procesor se razvijao veoma velikim tempom, a ostale komonente nisu. Rjeenje
ovog problema se nalazi u uravnoteenju performansi (usklaivanje organizacije i
arhitekture kako bi se amortizirala neusklaenost izmeu razliitih komponenti).

Poboljanja organizacije i arhitekture ipa:


Postoje tri pristupa kojima je mogue poboljati organizaciju i arhitekturu ipa:
1. Poveati hardversku brzinu procesora smanjenjem veliine logikih kola
procesorskog ipa, tako da se vie kola ugradi na istu povrinu uz smanjenje
meusobnog rastojanja ime se poveava brzina procesora. Poto su kola
blie jedna drugima, vrijeme prenosa signala se znaajno smanjuje ime se
poveava brzina procesora. Poveanje brzine znai da se pojedinane
operacije izvravaju bre.
2. Poveanje veliine i brzine keeva koji su smjeteni izmeu procesora i
glavne memorije. Znatno smanjenje vremena pristupa keu se ostvaruje tako
to se dio procesorskog ipa koristi kao ke.
3. Promjene u organizaciji i arhitekturi procesora koje poveavaju efektivnu
brzinu izvravanja instrukcija. Obino ovo podrazumijeva koritenje nekog
oblika paralelizma.
Najee se koristi prvi pristup. Meutim, kako se poveava brzina procesora kao i
gustina elemenata na njemu, javljaju se brojne prepreke:
Energija: kako raste gustina i brzina procesora, tako raste i gustina toka energije
(W/cm2). Rasipanje toplote koje se javlja na procesorima velike brzine i gustine
postaje ozbiljan projektantski problem.
Kanjenje kola: brzina kojom se elektroni kreu po ipu izmeu tranzistora
ograniena je otporom i kapacitetom ica koje ih povezuju; kanjenje se poveava
kako se poveava kolo. Kako se veliina komponenti ipa smanjuje a ice kojima su
povezane postaju tanje, poveava se otpor. Takoer, to su ice blie, poveava se
kapacitet.
Memorijska latentnost: memorijske brzine zaostaju za procesorskim.
Osim to se za poveanje performansi poveala brzina procesora, poveao se i
kapacitet kea i poveala se sloenost izvravanja instrukcija logikih kola unuar
procesora.
Razvoj Intel-ove x86 arhitekture:
Razvoj Intelove proizvodne linije:
8080: prvi mikroprocesor ope namjene (8-bitni, sa 8-bitnom putanjom prema
memoriji). Koriten je u prvom personalnom raunaru (Altair).
8086: mnogo jai 16-bitni mikroprocesor. Pored ire sabirnice i veih registara, 8086
je imao instrukcijski ke, ili red, za predprihvatanje nekoliko instrukcija prije njihovog
izvravanja.
80286: produetak 8086 koji je omoguio adresiranje 16 MB memorije umjesto samo
1 BM.
80386: Intelov prvi 32-bitni mikroprocesor, i velika revizija proizvoda. Sa 32-bitnom
arhitekturom, 80386 je svojom sloenou i snagom parirao miniraunarima i
mainframe-ovima koji su uvedeni samo nekoliko godina ranije. Ovo je bio prvi Intelov
procesor koji je podravao multitasking mogunost istovremenog
pokretanja vie programa.

80486: uvodi se sofisticiranija i jaa ke tehnologija kao i bolji instrukcijski pipelining.


Ugraen je i matematiki koprocesor, te je glavni procesor osloboen sloenih
matematikih operacija.
Pentium: uvodi tehnike superskalara to je omoguilo paralelno izvravanje
instrukcija.
Pentium Pro: proiruje superskalarnu organizaciju uvoenjem registarskog
preimenovanja (register renaming)4, predvianja grananja, analize toka podataka i
pekulativnog izvravanja.
Pentium II: ugradnja Intelove MMX tehnologije, specijalno projektovana za efikasnu
obradu videa, zvuka i grafike.
Pentium III: dodatne instrukcije pokretnog zareza (floating-point) za 3D grafike
programe.
Pentium 4: jo dodataka za pokretni zarez i druga poboljanja za multimedije.
Core: ovo je prvi Intel x86 mikroprocesor sa duplom jezgrom, ime se oznaava
implementacija dva procesora na jednom ipu.
Core 2: proirenje arhitekture na 64 bitnu. Core 2 Quad nudi 4 procesora na jednom
ipu.
Radni takt i broj instrukcija u sekundi:
Sve operacije poinju taktnim impulsom. Zato, na najosnovnijem nivou, brzinu
procesora diktira frekvencija taktnog impulsa, ija je mjerna jedinica broj ciklusa u
sekundi, odnosno Herc (Hz)
Obino, kvarcni kristal generie taktne signale, ime se proizvodi konstantan signalni
talas dok je raunar ukljuen. Ovaj se talas pretvara u konstantan tok digitalnih
impulsa unutar procesorskih kola.
Na primjer, 1 GHz procesor prima milijardu impulsa u sekundi. Ova mjera je poznata
kao brzina (radnog) takta. Jedna promjena stanja, ili jedan impuls se oznaava kao
taktni ciklus, ili otkucaj. Vrijeme izmeu impulsa je vrijeme ciklusa.
Brzina radnog takta nije proizvoljna, ali mora biti odgovarajua za fiziki raspored
procesora.
Brzina izvravanja instrukcija
Procesorom upravlja njegov takt konstantne frekvencije f, emu je ekvivalentno
konstatno vrijeme ciklusa =1/f. Definie se programski broj instrukcija
(instruction count for a program), Ic, kao broj izvrenih mainskih instrukcija za taj
program koji se izvodi do zavretka ili u nekom definisanom vremenskom intervalu.
Treba zapaziti da je ovo broj izvrenih operacija, a ne broj instrukcija objektnog kda
programa. Vaan parametar je prosjean broj ciklusa po instrukciji programa
(average cycles per instruction CPI). Ako sve instrukcije zahtijevaju isti broj taktnih
ciklusa, onda CPI ima konstantnu vrijednost za procesor.
Ukupan CPI:

RAUNARSKE FUNKCIJE
Gledano odozgo elementi raunara su: CPU, memorija, i I/O elementi i oni su
meusobno povezani tako da se postie osnovna funkcija raunara, tj. izvravanje
programa.
Zato se na najviem nivou raunarski sistem opisuje: opisivanjem vanjskog
ponaanja svakog elementa, a to je razmjena podataka i kontrolnih signala sa
ostalim elementima; i opisivanjem strukture povezivanja i potrebnih kontrola za
upravljanje njihovog koritenja.
Elementi raunara:
Vidjeli smo da su konstrukcija dananjih raunara zasnovane na Von Neumann-ovim
konceptima pa se ova konstrukcija oznaava kao von Neumann-ova arhitektura i
zasniva se na tri kljuna koncepta:
Podaci i instrukcije su pohranjeni u jednoj memoriji koja se moe uitavati i upisivati.
Sadraji memorije su adresibilni po lokaciji1, bez obzira na vrstu podataka koji je
tamo
pohranjen.
Izvravanje se obavlja sekvencijalno od jedne do druge instrukcije.
Dakle, postoji mali skup osnovnih logikih komponenti koje mogu biti spojene na
razliite naine kako bi pohranili binarne podatke i izveli aritmetike i logike
operacije nad njima. Ako treba specifino izraunavanje, onda se konstruie
specijalna konfiguracija samo za taj izraun. Proces spajanja razliitih komponenti je
oblik programiranja. Rezultujui program je hardver koji se oznaava kao
hardverski
Program.
Kod hardvera ope namjene, sistem prihvata podatke i kontrolne signale i daje
rezultate. Zato, umjesto ponovnog spajanja hardverskih elemenata za svaki program,
programer samo treba dobaviti novi skup kontrolni signala.
Nema vie prespajanja hardvera za svaki novi program, nego za svaki program
samo treba obezbijediti novi kod, a svaki kod je instrukcija koju hardver prevodi u
kontrolne signale. Niz kodova odnosno instrukcija naziva se softver.
Postoje dva glavna elementa sistema, a to su instrukcijski prevodilac i modul za
aritmetike i logike funckije ope namjene. Oni ine CPU.
Podaci i instrukcije moraju se ubaciti u raunar to znai da trebamo ulazni modul.
On sadrava komponente za prihvatanje podataka i instrukcija i komponente za
pretvaranje signala u signale koji su razumljivi sistemu. Potrebna su i sredstva za
prihvatanje rezultata u formi izlaznog modula. Zajedno se oznaavaju
kao I/O komponente.
Jo je potreban jedan element. Ulazni ureaj dostavlja instrukcije sekvencijalno, ali
se program uvijek tako ne izvrava ili operacije nad podacima mogu zahtijevati
pristup vie elemenata odjednom u unaprijed definisanom nizu. Zato mora postojati
mjesto privremenog pohranjivanja instrukcija i podataka. Taj modul se zove (glavna)
memorija.

CPU razmjenjuje podatke sa memorijom. Za to koristi CPU registar: memorijski


adresni registar (MAR) koji odreuje adresu u memoriji na sljedee upisivanje ili
uitavanje, i memorijski buffer registar (MBR), koji sadri podatke koji se upisuju u
memoriju ili prihvata podatke koji se iz nje uitavaju.
Postoji i I/O adresni registar: (I/OAR) koji odreuje specifini I/O ureaj;
I/O buffer registar (I/OBR) se koristi za razmjenu podataka izmeu I/O modula i CPU.
Memorijski modul se sastoji od skupa lokacija definiranih sekvencijalno poredanim
adresama. Svaka lokacija sadri binarni broj koji se prevodi ili kao instrukcija ili kao
podatak. I/O modul prenosi podatke od vanjskog ureaja ka CPU i memoriji, i
obrnuto. Sadri unutranje buffere za privremeno prihvatanje ovih podataka dok ne
budu poslani.
Funkcija raunara:
Osnovna funkcija raunara je izvravanje programa, a program je skup instrukcija
koje su pohranjene u memoriji.
Procesor izvrava instrukcije koje su definisane u programu, a najjednostavniji oblik
obrade instrukcije se sastoji od dva koraka: dobavlje instrukcija iz memorije (jedna po
jedna) i izvravanje. (Ciklus dobavljanja i izvravanja instrukcije)
Obrada koja se zahtijeva za jednu instrukciju ze naziva instrukcijski ciklus.
Dobavljanje i izvravanje instrukcije
Na poetku svakog instrukcijskog ciklusa, procesor dobavlja instrukciju iz memorije.
Programski broja (PC) sadri adresu instrukcije koja e biti sljedea dobavljena. Ako
nije drugaije reeno, procesor uvijek uveava PC nakon svakog dobavljanja
instrukcije kako bi mogao dobaviti sljedeu instrukciju u nizu
Dobavljena instrukcija se ubacuje (uitava) u procesorski registar koji se naziva
instrukcijski registar (IR). Instrukcija sadri bite koji definiu procesorsku aktivnost.
Procesor prevodi instrukciju i izvodi zahtijevanu aktivnost. Ove se aktivnosti dijele u
etiri kategorije:
Procesor-memorija: podaci se mogu prebacivati iz procesora u memoriju ili
obratno.
Procesor-I/O: podaci se mogu prebacivati ka ili od perifernog ureaja
prebacivanjem izmeu procesora i I/O modula.
Obrada podataka: procesor moe izvoditi neke aritmetike ili logike operacije nad
podacima.
Kontrola: instrukcija moe zahtijevati zaustavljanje izvravanja niza.

RAUNARSKE VEZE
PREKIDI:
Prekidi se obezbjeuju primarno kao nain poboljanja efikasnosti obrade. Na
primjer, veina perifernih ureaja je znatno sporija od procesora. Neka procesor
prenosi podatke tampau prema emi osnovnog instrukcijskog ciklusa. Nakon
svake operacije upisa, procesor mora zastati i ostati u stanju mirovanja dok ga
tampa ne sustigne. Duina ove pauze moe biti nekoliko stotina ili ak hiljada
instrukcijskih ciklusa koji ne ukljuuju memoriju.
Sa stajalita korisnikog programa prekid je prekid normalnog niza izvravanja. Po
zavretku obrade prekida nastavlja se izvravanje. Zato korisniki program ne sadri
specijalan kod za usluivanje prekida, ve su procesor i operativni sistem odgovorni
za suspendovanje korisnikog programa te njegovo nastavljanje od take prekida.
Kako bi udovoljio prekidima, instrukcijskom ciklusu se dodaje prekidni ciklus.
U prekidnom ciklusu procesor provjerava pojavu prekida, ukazujui na prisutnost
prekidnog signala. Ako nema prekida na ekanju, procesor nastavlja sa ciklusom
dobavljanja i dobavlja sljedeu instrukciju trenutnog programa. Ako je prekid na
ekanju, procesor suspenduje izvravanje trenutnog programa i spaava njegov
kontekst. To podrazumijeva spaavanje adrese sljedee instrukcije koja e se izvriti i
postavlja programski broja na poetnu adresu procedure za upravljanje prekidima.
Sada procesor nastavlja sa ciklusom dobavljanja i uitava prvu instrukciju programa
koji upravlja prekidima, a on je sastavni dio operativnog sistema. Obino, ovaj
program odreuje prirodu prekida i obavlja potrebne aktivnosti. Program za
upravljanje prekidima odreuje koji je I/O modul proizveo prekid i moe se granati u
program koji e upisati jo podataka u taj I/O modul. Kada se zavri rutina upravljanja
prekidima, procesor moe nastaviti izvravanje programa od take prekida.
Moe se pojaviti i vie prekida. Na primjer, program moe dobijati podatke od
komunikacijske linije i tampati rezultate. tampa e proizvesti prekid svaki put kad
zavri operaciju tampanja. Kontrolor komunikacijske linije e generirati prekid svaki
put kada pristigne podatkovna jedinica. Mogua je pojava komunikacijskog prekida
dok se obrauje prekid kojeg je generisao tampa.
Rjeavanje viestrukih prekida mogue je pomou dva pristupa. Prvi je
onesposobljavanje prekida dok se jedan obrauje. Onesposobljeni prekid
jednostavno znai da procesor moe ignorisati taj prekidni signal. Ako se prekid javi
tokom ovog vremena, uglavnom ostaje na ekanju, a procesor e ga provjeriti nakon
omoguavanja prekida. Zato, kada se korisniki izvrava a pojavi se prekid, prekidi
se odmah iskljuuju. Nakon zavretka programa za upravljanje prekidima,
prekidi se omoguavaju prije nastavljanja korisnikog programa, te procesor
provjerava postojanje dodatnih prekida.
Mana ovog pristupa je to se ne uzima u obzir vremenska kritinost potreba.
Drugim se pristupom definiu prioriteti prekida ime se dozvoljava da prekid vieg
prioriteta izazove prekidanje prekida nieg prioriteta.

I/O funckije:
I/O modul moe direktno komunicirati sa procesorom. Procesor moe uitati/upisati u
I/O modul. Procesor identificira specifini ureaj kojeg kontrolie dati I/O modul i
prenosi ovlasti na I/O modul da upisuje/uitava memoriju.
I/O modul izdaje memoriji komande, a procesor nema odgovornosti. To je direktni
pristup memoriji (direct memory access DMA).
Struktura veze:
Raunar se sastoji od tri vrste osnovnih elemenata ili modula (procesor, memorija,
I/O) koji meusobno komuniciraju. Zato moraju postojati putevi koji ih povezuju. Skup
putanja koje povezuju razliite module zove se struktura veze.
Memorija - Rije podataka moe biti uitana iz ili upisana u memoriju. Priroda
operacije se odreuje kontrolnim signalima uitavanja i upisivanja. Lokacija
operacije se specificira adresom.
I/O - funkcionalno slian memoriji. I/O modul moe imati pod kontrolom vie
perifernih ureaja. Svako suelje prema perifernom ureaju se oznaava kao
port i svaki ima jedinstvenu adresu. Postoje i vanjske putanje podataka za
ulaz i izlaz podataka iz perifernog ureaja.
Procesor - uitava instrukcije i podatke, upisuje podatke nakod obrade i koristi
kontrolne signale za kontrolu svih sistemskih operacija. Takoer prima
prekidne signale.
Struktura veze mora podrati sljedee vrste prenosa:
Memorija procesor: procesor iz memorije uitava instrukciju ili podatkovnu
jedinicu.
Procesor memorija: procesor upisuje podatkovnu jedinicu u memoriju.
I/O procesor: procesor uitava podatke iz I/O ureaja preko I/O modula.
Procesor I/O: procesor alje podatke I/O ureaju.
Od I/O ka memoriji ili od memorije ka I/O: za oba sluaja I/O modulu je
dozvoljena direktna razmjena sa memorijom bez posredovanja procesora
koristei DMA.

Sabirnica:
Sabirnica je komunikacijska putanja koja povezuje dva ili vie ureaja. Njena kljuna
karakteristika je djeljivi medijum za prenos. Vie je ureaja povezano na sabirnicu, a
signal namijenjen jednom ureaju dostupan je svim drugim ureajima koji su na nju
prikljueni. Obino se sabirnica sastoji od viestrukih komunikacijskih putanja ili linija.
Svaka linija je u stanju prenijeti signale predstavljajui binarne 1 i 0. U datom
vremenskom intervalu, niz binarnih cifara se moe prenijeti jednom linijom. Nekoliko
linija sabirnice zajedno se moe koristiti za istovremeni (paralelni) prenos binarnih
cifara. Na primjer, 8-bitna podatkovna jedinica moe se prenijeti preko osam linija
sabirnice. Raunarski sistemi sadre brojne i razliite sabirnice koje omoguavaju
putanje izmeu komponenti razliitog nivoa hijerarhije raunarskog sistema.
Sabirnica koja povezuje glavne elemente (procesor, memorija, I/O) zove se
sistemska sabirnica. Najee strukture veza raunara se zasniva na koritenju
jedne ili vie sistemskih sabirnica.
Struktura sabirnice:
Sistemska se sabirnica obino sastoji od 50 do stotine odvojenih linija. Svakoj liniji je
dodijeljeno posebno znaenje ili funkcija. Iako postoje razliite izvedbe sabirnice,
linije svake od njih se mogu svrstati u tri funkcionalne grupe:podatkovne, adresne i
kontrolne linije.
Podatkovne linije obezbjeuju putanju za prenos podataka izmeu sistemskih
modula. Ove se linije nazivaju podatkovna sabirnica. Moe se sastojati od 32, 64,
128 ili vie odvojenih linija. Svaka linija odjednom nosi samo 1 bit pa broj linija
odreuje koliko bita odjednom se moe prenijeti. irina podatkovne sabirnice je
kljuni faktor u odreivanju performansi cijelog sistema. Na primjer, ako je irina 32
bita a instrukcije su 64-bitne, onda procesor mora dva puta pristupiti memorijskom
modulu tokom svakog instrukcijskog ciklusa.
Adresne linije se koriste za odreivanje izvora ili odredita podatka na sabirnici. Ako
procesor eli uitati rije podatka iz memorije, onda postavi adresu eljene rijei na
adresne linije. irina adresne sabirnice odreuje najvei mogui memorijski kapacitet
sistema.
Kontrolne linije se koriste za kontrolu pristupa i koritenja podatkovnih i adresnih
linija. Poto sve komponente dijele podatkovne i adresne linije, moraju postojati
sredstva za njihovu kontrolu. Kontrolni signali prenose i komandne i sinhronizacijske
informacije izmeu sistemskih modula. Sinhronizacijski signali ukazuju na valjanost
podataka i adresnih informacija. Komandni signali definiu operacije koje se
izvravaju. One obino ukljuuju: Memorijski upis (podaci se sa sabirnice upisuju na
naznaene lokacije); Memorijsko uitavanje (smjetanje podataka sa naznaenih
lokacija na sabirnicu); I/O upis (podaci se sa sabirnice upisuju na naznaeni I/O port);
I/O uitavanje (podaci se sa naznaenog I/O porta smjetaju na sabirnicu); Potvrda
prenosa (ukazuje da su podaci prihvaeni sa ili smjeteni na sabirnicu); Zahtjev za
sabirnicu (ukazuje da modul treba dobiti kontrolu nad sabirnicom); Odobravanje
sabirnice (ukazuje da je modulu odobrena kontrola nad sabirnicom); zahtjev za
prekid (ukazuje da je prekid na ekanju); Potvrda prekida (potvrivanje da je prekid
koji eka doputen); Takt (koristi se za sinhronizaciju operacija); Resetovanje
(pokretanje svih modula).

Rad sabirnice se odvija na sljedei nain: ako jedan modul eli poslati podatak
drugom, mora dobiti koritenje sabirnice i prebaciti podatke preko nje. Ako jedan
modul zahtijeva podatke od drugog mora dobiti koritenje sabirnice i prebaciti zahtjev
drugom modulu preko odgovarajuih kontrolnih i adresnih linija.
PCI (peripheral component interconenct) je vrlo brza iroka sabirnica, nezavisna od
procesora koja funkcionira kao periferna sabirnica. U poreenju sa drugim
sabirnicama, PCI donosi bolje performanse za vrlo brze I/O podsisteme. PCI je
posebno dizajniran da zadovolji ekonomske I/O zahtjeve modernih sistema, jer treba
vrlo malo ipova za implementiranje i podrku drugim sabirnicama prikljuenim na
PCI.

MAINSKE INSTRUKCIJE
Programeru u jeziku visokog nivoa malo toga je vidljivo od arhitekture osnovne
maine. S druge strane, zajednika taka projektanta raunara i njegovog
programera je instrukcijski set maine. Sa projektanske take gledita, ovaj set
obezbjeuje funkcionalne zahtjeve koji se postavljaju pred procesor: implementacija
procesora je zadatak koji velikim dijelom ukljuuje implementaciju instrukcijskog seta
maine.
Karakteristike mainskih instrukcija:
Rad procesora je odreen instrukcijama koje izvrava. One se oznaavaju kao
mainske instrukcije ili raunarske instrukcije. Skup razliitih instrukcija koje procesor
moe izvravati oznaava se kao procesorski instrukcijski set.
Elementi mainske instrukcije
Svaka instrukcija mora sadravati informacije koje zahtijeva procesor za izvravanje.
Elementi mainske instrukcije su:
Operacijski kod: specificira operaciju koju izvodi. Operacija se specificira
binarnim kodom koji je poznat kao operacijski kod ili opkod.
Referenca izvornog operanda: operacija moe ukljuivati jedan ili vie
operanada koji su ulazi za operaciju.
Referenca rezultujueg operanda: operacija moe proizvesti rezultat.
Referenca sljedee instrukcije: govori procesoru gdje da dohvati sljedeu
instrukciju nakon okonanja izvravanja trenutne.
Adresa sljedee instrukcije moe biti stvarna ili virtualna, zavisno od arhitekture. Da
bi se dobavila sljedea instrukcija prvo se mora dobaviti adresa glavne ili virtualne
memorije.
Izvorni i rezultujui operandi mogu biti u:
Glavnoj ili virtualnoj memoriji adresa glavne ili virtualne memorije mora
biti dostavljena.
Procesorskom registru - procesor sadri jedan ili vie registara koji mogu biti
pozvani mainskim instrukcijama. Ako postoji samo jedan registar, referenca
na njega moe biti implicitna.
Neposredni operandi - vrijednost operanda je sadrana u polju u kojem se
izvrava instrukcija.
I/O ureaju: instrukcija mora specificirati I/O modul i ureaj za operaciju. Ako
se koristi memorijsko preslikavanje I/O-a, to je samo druga glavna ili virtualna
adresa.

Predstavljanje instrukcija:
Unutar raunara, svaka se instrukcija predstavlja nizom bitova. Instrukcija je
podijeljena u polja, koja odgovaraju sastavnim elementima instrukcije.
Tokom izvravanja instrukcije, ona se uitava u instrukcijski registar (IR) u procesoru.
Procesor mora znati izvui podatke iz razliitih instrukcijskih polja kako bi izveo
traenu operaciju.
Opkodovi:
ADD sabiranje
SUB - oduzimanje
MUL - mnoenje
DIV - dijeljenje
LOAD - uitavanje podataka iz memorije
STOR - pohranjivanje podataka u memoriju
Instrukcije se kategoriziraju u:
obrada podataka: aritmetike i logike instrukcije
pohrana podataka: premjetanje podataka u ili iz registra i ili memorijskih lokacija
premjetanje podataka: I/O instrukcije
kontrola: instrukcije testiranja i grananja.
Aritmetike instrukcije obezbjeuju sposobnosti izraunavanja za obradu numerikih
podataka.
Logike ili Boole-ve instrukcije operiu bitovima rijei kao bitovima a ne kao
brojevima; zato obezbjeuju sposobnosti obrade bilo kojeg tipa podatka koji korisnik
zatrai. Ove se operacije izvode primarno nad podacima u registrima procesora. Zato
moraju postojati memorijske instrukcije za premjetanje podataka izmeu memorije i
registara.
I/O instrukcije su potrebne za prenos programa i podataka u memoriju i rezultata
izraunavanja nazad korisniku.
Testne instrukcije se koriste za provjeru vrijednosti podatkovne rijei ili statusa
izraunavanja.
Instrukcije grananja se koriste za prelazak na drugaiji set instrukcija u zavisnosti od
odluke.
Instrukcija moe sadravati najvie etiri adrese: dvije za izvorne operande, jednu
za odredini, i adresu sljedee instrukcije.
U raunarima su najea tri tipa numerikih podataka:
binarni cijeli ili binarni sa fiksnim zarezom
binarni sa pominim zarezom
decimalni.

Tipovi operacija
Broj razliitih opkodova varira od maine do maine. Meutim, na svim mainama se
mogu nai isti opi tipovi operacija. Kategoriziraju se u:
prenos podataka
aritmetike
logike
operacije pretvaranja
I/O
operacije sistemske kontrole
operacije kontrole prenosa.
Prenos podataka
Fundamentalni tip mainske instrukcije je instrukcija prenosa podataka. Ona mora
specificirati nekoliko stvari. Prvo, specificiranje lokacije izvornog i ishodinog
operanda. Svaka lokacija moe biti memorija, registar ili vrh steka. Drugo, mora se
naznaiti duina podataka koji se prebacuju. Tree, kao kod svih instrukcija sa
operandima, mora specificirati nain adresiranja svakog operanda.
Izbor instrukcija podatkovnog prenosa u instrukcijski set je kompromis koji mora
napraviti projektant. Na primjer, opa lokacija (memorija ili registar) operanda moe
se naznaiti ili specificiranjem opkoda ili operanda.
Sa stanovita rada procesora, operacije prenosa podataka su vjerovatno
najjednostavniji tip.
Ako su i poetak i odredite registri, procesor samo izaziva prenos iz jednog u drugi
registar, to je unutranja operacija procesora. Ako je jedan ili oba operanda u
memoriji, onda procesor mora izvesti neke ili sve donje aktivnosti:
1. izraunavanje memorijske adrese, na osnovu naina adresiranja
2. ako se adresa odnosi na virtualnu memoriju, prevoenje virtualne u stvarnu
memorijsku adresu
3. odreivanje da li je adresirani element u keu
4. ako nije, izdavanje komande memorijskom modulu.
Aritmetike operacije
Veina maina izvrava osnovne aritmetike operacije sabiranje, oduzimanje,
mnoenje i dijeljenje. Pored ovih, koriste se i razliite instrukcije koje se izvode nad
jednim operandom.
To su:
apsolutna vrijednost: uzima apsolutnu vrijednost operanda
nagacija: negativna vrijednost operanda
uveanje: dodaje 1 operandu
smanjenje: od operanda se oduzima 1
Izvravanje aritmetike instrukcije moe ukljuivati operacije prenosa podataka radi
pozicioniranja operanada na ALU ulaz i izdavanje izlaza iz ALU.
Logike operacije
Veina maina koristi razliite operacije za manipuliranje pojedinim bitovima rijei ili
drugim adresibilnim jedinica. Zasnivaju se na Bulovim operacijama.

Logikim premjetanjem bitovi rijei se premjetaju lijevo ili desno. Na jednom


kraju, premjeteni bit se gubi. Na drugom kraju, ulazi 0.
Operacija aritmetikog premjetanja tretira podatke kao cijele brojeve sa
predznakom i ne premjeta bit predznaka. Kod desnog aritmetikog premjetanja, bit
predzanaka se replicira u poziciju udesno. Kod lijevog aritmetikog premjetanja,
izvodi se logiko lijevo premjetanje na svim bitovima osim na bitu predznaka.
Operacije rotiranja ili ciklinog premjetanja zadravaju sve bitove s kojima se
radilo. Jedno od koritenja rotacije je sukcesivno dovoenje svakog bita u krajnji lijevi
bit.

ADRESIRANJE I INSTRUKCIJSKI FORMAT


Adresiranje:
Adresna polja (polje) u tipinom instrukcijskom formatu su relativno mala, a korisnici
ele da pozivaju veliki raspon lokacija u glavnoj ili virtualnoj memoriji.
Najee tehnike adresiranja su: neposredno, direktno, indirektno, registarsko,
indirektno registarsko, premjetanje, stek.
Sve raunarske arhitekture omoguavaju vie od jednog naina adresiranja.
Neposredno adresiranje - najjednostavniji oblik adresiranja u kojem se vrijednost
operanda nalazi u instrukciji:
operand = A (sadaj adresnog polja u instrukciji).
Ovaj se nain moe upotrijebiti za definisanje i koritenje konstanti ili postavljanje
poetne vrijednosti varijabla.
Prednost ovog naina je da nijedna memorijska referenca osim instrukcijskog
dobavljanja se ne zahtijeva za dobivanje operanda, te se na taj nain tedi jedan
ke- ili instrukcijski ciklus. Nedostatak je da veliina broja je ograniena veliinom
adresnog polja,
Direktno adresiranje - ovo je veoma jednostavna forma adresiranja u kojoj adresno
polje sadri
stvarnu adresu operanda:
EA (stvarna adresa lokacije koja sadri referencirani operand) = A(sadraj adresnog
polja u instrukciji).
Ova je tehnika bila uobiajna kod starijih generacija raunara, ali ne i danas.
Zahtijeva samo jednu memorijsku referencu bez specijalnog izraunavanja.
Omoguuje ogranien adresni prostor. Duina adresnog polja je obino manja od
duine rijei
Indirektno adresiranje - Adresno polje koje se odnosi na adresu rijei u memoriji
koja sadri punu adresu operanda. To je indirektno adresiranje: EA = (A).
Oigledna prednost ovog pristupa je da za duinu rijei N, sad je dostupan
adresni prostor od 2N. Nedostatak je da izvravanje instrukcije zahtijeva dvije
memorijske refernce za dohvatanje operanda: jednu za njegovu adresu, a
drugu za njegovu vrijednost.
Registarsko adresiranje - Slino je direktnom adresiranju. Jedina razlika je to se
adresno polje odnosi na registar a ne na adresu u glavnoj memoriji: EA = R(sadraj
adresnog polja u instrukciji koje upuuje na registar).
Prednosti: unutar instrukcije potrebno je malo adresno polje, ne zahtijevaju se
dugotrajne memorijske reference jer je vrijeme pristupa procesorskim registrima
mnogo manje nego adresama glavne memorije. Nedostatak je to jeadresni prostor
veoma ogranien.
Indirektno registarsko adresiranje slino je indirektnom adresiranju. Jedina
razlika je to se adresno polje odnosi na registar. EA = (R)

Prednosti i nedostaci su isti kao kod indirektnog adresiranja, samo registarsko


indirektno adresiranje koristi jednu manje memorijsku referencu od indirektnog
adresiranja.
Adresiranje sa pomakom - nain adresiranja koji kombinuje mogunosti direktnog
i registarskog indirektnog adresiranja.
Oznaava se kao adresiranje sa pomakom: EA = A + (R).
Zahtijeva da instrukcija ima dva adresna polja, od kojih je najmanje jedno eksplicitno.
Vrijednost u jednom adresnom polju (vrijednost = A) se direktno koristi. Drugo
adresno polje, ili implicitna referenca zasnovana na opkodu, se odnosi na registar iji
se sadraj dodaje na A kako bi se dobila stvarna adresa.
Tri najea koritenja adresiranja sa pomakom su:
Relativno adresiranje, ili PC relativno adresiranje,
Adresiranje bazirano na registru, i
Indeksiranje.
Za relativno adresiranje implicitni referencirani registar je programski broja (program
counter PC). Tako se adresa sljedee instrukcije dodaje adresnom polju kako bi se
dobilo EA.
Adresiranje bazirano na registru radi tako to referencirani registar sadri adresu u
glavnoj memoriji, a adresno polje sadri pomak od te adrese. Referenca registra
moe biti eksplicitna ili implicitna.
Indeksiranje: adresno polje referencira adresu u glavnoj memoriji, a referencirani
registar sadri pozitivan pomak od te adrese. SUPROTNO OD ADRESIRANJA
BAZIRANOG NA REGISTRU
Indeksiranje se moe vriti prije i poslije indirekcije. (preindeksiranje i
postindeksiranje)
Kod preindeksiranja, indeksiranje se izvodi prije indirekcije: EA = (A + (R)). Adresa se
izraunava kao kod obinog indeksiranja. U ovom sluaju izraunata adresa ne
sadri operand nego njegovu adresu.
Ako se indeksiranje izvodi nakon indirekcije, onda se oznaava kao postindeksiranje:
EA = (A) + (R)
Adresno polje koje se koristi za pristup memorijskoj lokaciji sadri direktnu adresu pa
se onda ta adresa indeksira vrijednou registra.
Stek adresiranje - stek je linearni red lokacija. Ponekad se oznaava kao lista na
dole (pushdown list) ili zadnji uao prvi izaao red (last-in-first-out queue). Stek je
rezervisani blok lokacija. Stavke se postavljaju na vrh steka tako da u datom trenutku
blok je djelimino popunjen. Sa stekom je povezan pokaziva ija je vrijednost
adresa vrha steka. Kao alternativa, dva gornja elementa steka mogu biti u
procesorskim registrima, te u tom sluaju pokaziva pokazuje na trei element
steka. Stek pokaziva se odrava u registru. Zato su reference na stek lokacije u
memoriji u stvari indirektne adrese registara. Stek adresiranje je oblik implicitnog
adresiranja. Mainske instrukcije ne moraju ukljuivati memorijske reference ali
implicitno rade na vrhu steka.

Instrukcijski formati:
Instrukcijski format definie raspored instrukcijskih bitova u smislu njenih sastavnih
polja. Instrukcijski format mora ukljuiti opkod i, implicitno ili eksplicitno, nula ili vie
operanada. Svaki eksplicitni operand se referencira koritenjem jednog od naina
adresiranja. Format mora, implicitno ili eksplicitno, naznaiti nain adresiranja za
svaki operand. Za veinu instrukcijskih setova, koristi se vie instrukcijskih formata.
Duina instrukcije
Je osnovno pitanje projektovanja instrukcije. Na duinu instrukcije utie veliina
memorije, memorijska organizacija, struktura sabirnice, sloenost procesora i
njegova brzina. Ona definie bogatstvo i fleksibilnost maine onako kako je vidi
programer asemblera.
Programeri ele vie opkodova, operanada, naina adresiranja i vee adresno
podruje. Vie opkodova i operanada olakava njihov posao, jer se piu krai
programi za izvrenje postavljenih zadataka. Vie naina adresiranja daje
programeru veu fleksibilnost pri realizaciji odreenih funkcija, kao to su
manipulacije tabelama i viestruko grananje. Pored toga, poveanjem veliine glavne
memorije i koritenja virtualne memorije, programeri su u stanju da adresiraju vea
memorijska podruja. Sve ovo (opkodovi, operandi, naini adresiranja, adresno
podruje) zahtjeva bitove i ide u smjeru vee duine instrukcije. Meutim,
vea duina instrukcije moe biti tetna. 64-bitna instrukcija zauzima duplo vie
prostora od 32-bitne, ali je vjerovatno manje od duplo korisna.
Pored ovog, postoje i drugi razlozi. Da li bi duina instrukcije trebala biti jednaka
duini memorijskog prenosa (u sistemu sabirnice, irina podatkovne sabirnice) ili bi
trebala biti njena viestruka vrijednost. U suprotnom, tokom ciklusa dohvatanja nee
se dobiti cijeli broj instrukcija. S ovim u vezi je i brzina memorijskog prenosa. Ona ne
prati poveanje procesorske brzine. Na taj nain, memorija moe postati usko grlo
ako procesor izvrava instrukcije bre od njihovog dohvatanja. Jedno rjeenje je
koritenje kea, a drugo je koritenje kraih instrukcija.
Zato 16-bitne instrukcije mogu biti dohvaene duplo bre od 32-bitnih instrukcija, ali
se vjerovatno ne izvravaju dvostruko bre.
Vana karakteristika je da duina instrukcije treba biti djeljiva sa duinom karaktera,
koja je obino 8 bitova, i duinom brojeva sa nepominim zarezom. Duina
memorijske rijei je prirodna jedinica organizacije. Njena veliina obino odreuje
veliinu brojeva sa nepominim zarezom.
Dodjeljivanje bitova
Za datu duinu instrukcije evidentno je da postoji kompromis izmeu broja opkodova
i stepena mogunosti adresiranja. Vie opkodova znai vie bitova u polju opkoda.
Za instrukcijski format date duine, to znai smanjenje raspoloivog broja bitova za
adresiranje. Postoji interesantna stvar kod ovog kompromisa, a to je koritenje
opkodova promjenjive duine. Kod ovog pristupa, postoji najmanja duina opkoda, ali
za neke opkodove dodatne operacije se mogu specificirati koritenjem dodatnih
bitova u instrukciji. Za instrukciju stalne duine to znai da ostaje manje bitova za
adresiranje. Zato se ova osobina koristi za one instrukcije koje zahtijevaju manje

operande i/ili manji stepen adresiranja.


Meusobno povezani faktori koji slue za odreivanje svrhe koritenja bitova
adresiranja su:
Broj naina adresiranja: nekad nain adresiranja se moe odrediti implicitno. Na
primjer, odreeni opkodovi mogu uvijek pozivati indeksiranje. U drugim sluajevima,
naini adresiranja moraju biti eksplicitni, pa je potreban jedan ili vie bitova koji
odreuju nain adresiranja.
Broj operanada: ve je reeno da manje adrese ine program duim, to stvara
neugodnosti. Tipine instrukcije na dananjim mainama su pravljene za dva
operanda. Svaka adresa operanda u instrukciji moe zahtijevati vlastiti indikator
naina, ili moe koristiti indikator naina koji s druge strane moe biti ogranien na
samo jedno od adresnih polja.
Registar nasuprot memorije: maina mora imati registre kako bi podaci bili
sprovedeni u procesor na obradu. Sa jednim korisniki vidljivim registrom
(akumulator) jedna adresa operanda je implicitna i ne zahtijeva instrukcijske bitove.
Meutim, programiranje jednog registra je zamorno i zahtijeva mnogo instrukcija.
ak i sa vie registara, potrebno je svega nekoliko bitova za specificiranje registra.
to se vie takvih registara koristi za reference operanda, to je potrebno manje
bitova. Brojna istraivanja su pokazala da je poeljno od 8 do 32 korisniki vidljivih
registara. Veina dananjih arhitektura ima najmanje 32 registra.
Broj registarskih skupova: veina dananjih maina ima jedan skup registara
ope namjene sa obino 32 ili vie registara. Oni se mogu koristiti za pohranu
podataka i adresa za adresiranje sa pomakom.
Prednost je to za nepromjenjiv broj registara funkcionalno razdvajanje zahtijeva
manje bita u instrukciji.
Adresno podruje: podruje adresa koje mogu biti referencirane povezano je sa
brojem adresnih bitova. Poto se ovim namee nekoliko ogranienja, rijetko se koristi
direktno adresiranje. Adresiranjem sa pomakom je podruje pogodno za adresni
registar.
Adresna granulacija: za adrese koje referenciraju memoriju a ne registre, vaan je
faktor granulacije adresiranja. U sistemu sa 16- ili 32-bitnim rijeima, adresa moe
referencirati na rije ili bajt, to zavisi od izbora projektanta. Bajt-adresiranje je
prikladno za manipuliranje karakterima, ali zahtijeva vie adresnih bitova.
PDP-8 je jedan od najjednostavnijih projekata instrukcija za raunar ope namjene.
Koristio je 12-bitne instrukcije a radio je na 12-bitnim rijeima. Imao je samo jedan
registar ope namjene, akumulator.
Postojao je 3-bitni opkod i tri tipa instrukcija. Za opkodove od 0 do 5 format je
jednoadresna memorijska referencijska instrukcija koja je ukljuivala bit stranice i bit
indrekcije. Zato je bilo samo est osnovnih operacija. Za poveanje grupe operacija,
opkod 7 definie registarsku referencu ili mikroinstrukciju. U ovom formatu, preostali
bitovi su se koristili za dodatne operacije kodiranja. Svaki bit definie odreenu
operaciju, i ovi bitovi mogu biti kombinirani u jednu instrukciju.

Opkod 6 je I/O operacija; koristilo se 6 bitova za izbor jednog od 64 ureaja, a 3 bita


su specificirala odreenu I/O komandu.
PDP-8 insrukcijski format je veoma efikasan. Podrava indirektno adresiranje,
adresiranje sa pomakom i indeksiranje. Koritenjem produetka opkoda, podravao
je do 35 instrukcija.
PDP-10 je suprotnost instrukcijskom setu PDP-8. Projektovan je kao sistem dijeljenja
vremena velikih razmjera, a sistem je bio lagan za programiranje.
Principi koji su koriteni pri projektovanju njegovog instrukcijskog seta su:
Ortogonalnost: princip po kojem su dvije varijable meusobno nezavisne. U
kontekstu instrukcijskog seta, to znai da drugi elementi instrukcije su
nezavisni od opkoda. Adresa se uvijek izraunava na isti nain, nezavisno od
opkoda.
Cjelovitost: svi tipovi aritmetikih podataka (cjelobrojni, nepromjenjive duine,
sa pokretnim zarezom) bi trebali imati potpun i identian set operacija.
Direktno adresiranje: baza plus adresiranje sa pomakom, koje optereuje
programera memorijskom organizacijom izbjegnuto je u korist direktnog
adresiranja. PDP-10 je imao 36-bitnu duinu rijei te istu duinu instrukcije.
Opkod zauzima 9 bitova, doputajui do 512 operacija. Definisano je 365
razliitih operacija. Veina instrukcija ima dvije adrese, a jedna je jedan od 16
registara ope namjene. Zato ova referenca operanda zauzima 4 bita. Druga
referenca operanda poinje 18-bitnim memorijskim adresnim poljem. Moe se
koristiti kao neposredni operand ili memorijska adresa. Ako se koristi kao
memorijska adresa, dozvoljeno je koritenje i indeksiranja i indirektnog
adresiranja. Isti registri ope namjene se takoer koriste kao indeksni registri.
Ova instrukcijska duina i opkod su vie nego dovoljni za direktno adresiranje.
Promjenjiva duina instrukcija
Ako se obezbijedi vei opseg opkodova razliite duine adresiranje moe biti
fleksibilnije, sa razliitim kombinacijama registarskih i memorijskih referenci kod
razliitih naina adresiranja.
Upotreba instrukcija razliite duine poveava sloenost procesora.
Poto procesor ne zna duinu instrukcije koja sljedea treba biti dobavljena, nekad
se moe desiti da dobavi vie instrukcija.
PDP-11. Projektovan je da prui jak i fleksibilan instrukcijski set unutar ogranienja
16-bitnih miniraunara. Koristi skup od osam 16-bitnih registara ope namjene. Dva
od njih imaju dodatnu vanost: jedan se koristi kao stek pokaziva za specijalne stek
operacije, a drugi kao programski broja, koji sadri adresu sljedee instrukcije.
Duina opkoda varira od 4 do 16 bitova. Registarske reference su duge 6 bitova. Tri
bita identificira registar, a preostala tri nain adresiranja.
Bilo koji nain adresiranja moe biti koriten za bilo koji opkod. Njegove instrukcije su
obino duge jednu rije (16 bitova). Za neke instrukcije, jedna ili dvije memorijske
adrese se dodaju, tako da su 32- i 48-bitne instrukcije dio seta. Ovim se prua vea
fleksibilnost adresiranja.

PDP-11 instrukcijski set i mogunost adresiranja su sloeni. Time se poveava i


hardverska i softverska sloenost. Prednost je da mogu biti razvijeni efikasniji i
kompaktniji programi.
VAX - kod projektovanja VAX instrukcijskog formata sve instrukcije su trebale imate
prirodan broj operanada i svi operandi su trebali imati istu duinu.
Ovo je veoma varijabilan instrukcijski format. Instrukcija se sastoji od jedno- ili
dvobajtnog opkoda nakon koga slijedi od nula do est specifikatora operanda, u
zavisnosti od opkoda. Najmanja duina instrukcije je 1 bajt, a moe se kreirati
instrukcija duine do 37 bajta
VAX instrukcijski set daje irok spektar operacija i naina adresiranja. Na ovaj nain
programer (npr. kompajler) dobija veoma snaan i fleksibilan alat za razvoj programa.
Asemblerski jezik
Procesor razumije i izvrava mainske instrukcije. Te instrukcije su binarni brojevi
pohranjeni u raunar. Ako programer eli programirati direktno u mainskom jeziku,
onda mora unijeti program kao binarni podatak.
Programi napisani u asemblerskom jeziku se prevode u mainski pomou
asemblera. Ovaj program ne smije samo raditi simboliko, ve takoer mora dodijeliti
neki oblik memorijskih adresa simbolikim. Razvoj asemblerskog jezika bila je glavna
prekretnica u evoluciji raunarske tehnologije. Bio je prvi korak ka jezicima visokog
nivoa koji se danas koriste. Iako veoma mali broj programera se njime koristi,
praktino je zastupljen u svim mainama. Koristi se za sistemske programe kao to
su kompajleri i I/O rutine.

STRUKTURA I FUNKCIJA PROCESORA


Organizacija procesora
Za razumijevanje organizacije procesora treba razmotriti zahtjeve koji su u njega
ugraeni,
odnosno koje poslove on obavlja:
Dobavljanje instrukcije: procesor ita instrukciju iz memorije (registar, ke,
glavna memorija).
Prevoenje instrukcije: instrukcija se dekodira kako bi se odredilo koja se
aktivnost zahtjeva.
Dobavljanje podataka: izvravanje instrukcije moe zahtjevati podatke iz
memorije ili I/O.
Obrada podataka: izvravanje instrukcije moe zahtjevati izvoenje
aritmetikih ili logikih operacija nad podacima.
Upisivanje podataka: rezultati izvravanja mogu zahtijevati upisivanje
podataka u memoriju ili I/O modul.
Da bi izvrio ove zadatke procesor mora privremeno pohraniti podatke. Mora
zapamtiti lokaciju posljednje instrukcije tako da zna gdje e nai sljedeu. Treba
privremeno pohraniti instrukcije i podatke dok se instrukcija izvrava. To znai da je
procesoru potrebna mala interna memorija.
Glavne komponente procesora su aritmetiko-logika (ALU) i kontrolna jedinica (CU).
ALU vri stvarno izraunavanje, odnosno obradu podataka. CU kontrolie prenos
podataka i instrukcija u i iz procesora i rad ALU. Trea komponenta procesora su
registri, tj. skup lokacija za pohranu podataka.
Organizacija registra
Na viim nivoima hijerarhije memorija je bra, manja i skuplja (po bitu). Unutar
procesora
postoji skup registara koji djeluju kao memorijski nivo iznad glavne memorije i kea.
Imaju
dvije uloge:
Korisniku vidljivi registri: omoguavaju programeru mainskog jezika
minimiziranje poziva prema glavnoj memoriji optimizirajui iskoristivost
registara.
Kontrolni i statusni registri: koristi ih kontrolna jedinica za kontrolu rada
procesora i privilegovani programi operativnog sistema za kontrolu izvravanja
programa.
Korisniku vidljivi registri su registri koji mogu biti referencirani pomou mainskog
jezika kojeg izvrava procesor. Grupiu se u sljedee kategorije: registre ope
namjene, podatkovni registri, adresni registri, uslovni registri (condition codes).
Registri ope namjene mogu se koristiti za adresiranje funkcija.
Podatkovni registri mogu biti koriteni samo za dranje podataka ali ne i za
izraunavanje adrese operanda.

Adresni registri mogu biti ope namjene, ili mogu biti posveeni odreenom nainu
adresiranja.
Uslovni registri sadre uslovne kodove ili zastavice. Uslovni kodovi su bitovi koje
postavlja procesorski hardver kao rezultat operacije.
Kontrolni i statusni registri
Razliiti procesorski registri vre kontrolu operacija procesora. Veina njih nije vidljiva
korisniku. Neki od njih mogu biti vidljivi mainskim instrukcijama koje se izvravaju u
kontrolnom ili operativnom sistemskom modu.
etiri tipa registara su bitna za izvravanje instrukcija:
Programski broja (PC): sadri adresu instrukcije koja treba biti uitana
Instrukcijski registar (IR): sadri instrukciju koja je zadnja uitana
Memorijski adresni registar (MAR): sadri adresu lokacije u memoriji
Memorijski buffer registar (MBR): sadri rije podatka koji se upisuje u
memoriju ili rije koja je nedavno uitana.
Obino procesor aurira PC poslije svakog dohvatanja instrukcije tako da PC uvijek
pokazuje na sljedeu instrukciju koja se treba izvriti. Instrukcija grananja takoer
mijenja sadraj PC-a. Uitana instrukcija se smjeta u IR, gdje se analiziraju
specifikatori opkoda i
operanda. Podaci se razmjenjuju sa memorijom koritenjem MAR i MBR. U sistemu
sa bus-organizacijom, MAR direktno povezuje na adresnu sabirnicu, a MBR na
podatkovnu. S druge strane, korisniki vidljivi registri razmjenjuju podatke sa MBR.
Ova etiri registra se koriste za prenos podataka izmeu procesora i memorije.
Unutar procesora podaci moraju biti predani ALU na obradu. ALU moe imati
direktan pristup MBR-u i korisniki vidljivim registrima. Alternativa su dodatni baferski
registri na granici ALU-a. Ovi registri za ALU slue kao ulaz i izlaz iz registara i
razmjenjuju podatke sa MBR i korisniki vidljivim registrima.
Instrukcijski ciklus
Dobavljanje: uitavanje sljedee instrukcije iz memorije u procesor.
Izvravanje: prevoenje opkoda i izvoenje naznaene operacije.
Prekid: ako su dozvoljeni i ako se prekidi pojave, spaava se trenutno stanje
procesa i usluuje se prekid.
Indirektni ciklus
Izvravanje instrukcije moe ukljuiti jedan ili vie operanada iz memorije, to znai
da se zahtjeva pristup memoriji. Nadalje, ako se koristi indirektno adresiranje,
zahtjevaju se dodatni pristupi memoriji.
Uitavanje indirektne instrukcije je samo jedno ili vie stanja instrukcije. Nakon
njenog uitavanja, ona se pregledava kako bi se odredilo postojanje indirektnog
adresiranja.
Ako je to tako, uitavaju se zahtjevani operandi koritenjem indirektnog adresiranja.
Pratei izvravanje, moe se obraivati prekid prije uitavanja sljedee instrukcije.
Drugi nain: ilustrira prirodu ciklusa instrukcije. Kad se instrukcija uita, moraju se
identificirati njeni specifikatori operanada. Onda se uitava svaki ulazni operand, to
moe zahtjevati indirektno adresiranje. Operandi bazirani na registru se ne trebaju

uitavati. Nakon izvrenja opkoda, moda e biti potreban slian proces za pohranu
rezultata u glavnu memoriju.
Tok podataka
Taan slijed dogaaja tokom izvravanja instrukcijskog ciklusa zavisi od konstrukcije
procesora. Meutim, moe se pokazati ta se generalno mora dogoditi. Neka
procesor koristi MAR, MBR, PC i IR. Tokom ciklusa dobavljanja, instrukcija se uitava
iz memorije.
PC sadri adresu sljedee instrukcije koju treba uitati. Adresa se premjeta u MAR i
smjeta na adresnu sabirnicu. Kontrolna jedinica zahtjeva itanje memorije, a rezultat
se smjeta na podatkovnu sabirnicu, kopira u MBR, i premjeta u IR. U meuvremu,
PC se poveava za 1, pripremajui se za sljedee uitavanje.
Kad se zavri ciklus uitavanja, kontrolna jedinica pregledava sadraj IR-a kako bi se
utvrdilo postojanje specifikatora operanda koristei indirektno adresiranje. Ako da,
izvodi se indirektni ciklus. N krajnjih desnih bitova MBR-a, koji sadre adresnu
referencu, prebacuju se u MAR. Onda kontrolna jedinica zahtjeva itanje memorije,
kako bi se dobila traena adresa operanda u MBR-u.
Indirektni ciklus i ciklus uitavanja su jednostavni i predvidljivi. Ciklus izvravanja ima
mnoge forme, to zavisi koja je od brojnih mainskih instrukcija u IR-u. Ciklus moe
ukljuivati prenos podataka izmeu registara, uitavanje i upisivanje u memoriju ili
I/O, i /ili pozivanje ALU. Prekidni ciklus je takoer jednostavan i predvidljiv. Trenutni
sadraj PC-a mora biti spaen tako da proces moe povratiti normalnu aktivnost
nakon prekida. Zato se sadraj PC-a prenosi u MBR radi upisivanja u memoriju.
Posebna memorijska lokacija koja je rezervisana u tu svrhu, uitava se u MAR iz
kontrolne jedinice. To na primjer moe biti stek pokaziva. U PC se uitava adresa
prekidne rutine. Kao rezultat, sljedei instrukcijski ciklus e poeti uitavanjem
odgovarajue instrukcije.
Instrukcijski pipelining
Kako se razvijao raunarski sistem, tako su se poboljavale njegove performanse
koje se
postignute koritenjem tehnolokih poboljanja, kao to je bre kolo. Nadalje,
organizacijska poboljanja takoe mogu poboljati performanse procesora.
Organizacijski pristup koji je veoma est je instrukcijski pipelining.
Pipelining strategija
Instrukcijski pipelining je slian koritenju asemblerske linije u proizvodnji. Ova linija
koristi
prednosti injenice da proizvod prolazi kroz razliite faze proizvodnje. Postavljanjem
procesa proizvodnje u traku, istovremeno se moe raditi na proizvodima koji su u
razliitim fazama obrade.
Faze pipelininga
Uitavanje instrukcije (FI): uitavanje sljedee oekivane instrukcije u buffer.
Dekodiranje instrukcije (DI): odreivanje opkoda i specifikatora operanda.
Izraunavanje operanda (CO): izraunavanje stvarne adrese svakog
izvornog operanda. Ovo moe ukljuiti pomak, registarsku indirekciju ili druge
oblike izraunavanja adrese.
Uitavanje operanada (FO): uitavanje svakog operanda iz memorije.
Operandi u registrima se ne trebaju uitavati.

Izvravanje instrukcije (EI): izvodi se naznaena operacija i eventualno


pohranjivanje rezultata na specificiranu odredinu lokaciju operanda.
Upisivanje operanda (WO): pohranjivanje rezultata u memoriju.
Superskalarni procesor
Osnova superskalarnog pristupa je sposobnost nezavisnog i istovremenog
izvravanja instrukcija u razliitim pipeline-ima. Koncept se moe proiriti
doputanjem da se instrukcije izvravaju redoslijedom koji se razlikuje od
programskog redoslijeda.
Ima vie funkcionalnih jedinica, a svaka je implementirana kao pipeline te podrava
paralelno izvravanje nekoliko instrukcija.

KONTROLNA JEDINICA

Funkciju procesora specificiraju: opkodovi, naini adresiranja, registri, suelje I/O


modula, suelje memorijskog modula i prekidi. Opkodove, naine adresiranja i
registre definie instrukcijski set, suelje I/O i memorijskog modula definie sistemska
sabirnica, a prekide jednim dijelom definie sistemska sabirnica, a drugim vrsta
podrke koju procesor daje operativnom sistemu.
Ovo su funkcionali zahtjevi za procesor i oni odreuju ta procesor mora uraditi.
Jedinica koja kontrolie procesorske operacije naziva se kontrolna jedinica.
Kompjuterska operacija se sastoji od niza instrukcijskih ciklusa sa jednom
mainskom instrukcijom po ciklusu. Ovaj niz ne mora biti isti kao niz instrukcija koje
ine program zbog postojanja instrukcija grananja.
Izvravanje programa sastoji se od niza izvravanja instrukcija. Svaka se instrukcija
izvrava tokom instrukcijskog ciklusa, a njih ine krai podciklusi: uitavanje,
indirekcija, izvravanje i prekid. Podciklus ukljuuje jednu ili vie kraih operacija
(mikrooperacije).
Ciklus uitavanja se pojavljuje na poetku svakog instrukcijskog ciklusa i izaziva
uitavanje instrukcije iz memorije. Ukljuuje MAR (spojen je na adresne linije
sistemske sabirnice i odreuje adresu u memoriji za uitavanje ili upisivanje
operacije), MBR (spojen je na podatkovne linije sistemske sabirnice i sadri
vrijednost koja e se pohraniti u memoriju), PC (sadri adresu sljedee instrukcije
koju treba uitati) i IR (sadri posljednju dobavljenu instrukciju).
Ovaj ciklus se sastoji od 4 mikrooperacije:
t1:MAR (PC)
t2:MBR Memorija
t3:PC (PC)+I
IR (MBR)

Ciklus indirekcije
Kad je dobavljena instukcija, dobavlja se izvorni operand.
t1:MAR (IR(adresa))
t2:MBR Memorija
t3:IR(adresa) (MBR(adresa))

Ciklus prekida
Na zavretku ciklusa izvravanja, radi se testiranje u svrhu odreivanja pojave
odobrenih prekida. Ako je tako pojavljuje se ciklus prekida:
t1:MBR (PC)
t2:MAR spaavanje_adrese
PC adresa_rutine
t3:memorija (MBR)

Ciklus izvravanja
Ciklusi uitavanja, indirekcije i prekida su jednostavni i predvidljivi. Svaki ukljuuje
mali i
ustaljen niz mikrooperacija i, u svakom sluaju, iste se mikooperacije ponavljaju svaki
put.
Meutim, to nije tako kod ciklusa izvravanja zbog razliitih opkodova, jer se mogu
pojaviti
brojni i razliiti nizovi mikooperacija.
Definisanje funkcije koje mora izvesti kontrolna jedinica je osnova projektovanja i
implementacije kontrolne jedinice.
1. Definisati osnovne elemente procesora.
2. Opisati mikooperacije koje izvodi procesor.
3. Odrediti funkcije koje mora izvesti kontrolna jedinica da bi prouzroila izvoenje
mikrooperacija.
Kontrolna jedinica uzrokuje da se dogode operacije u procesoru.
Svaka mikrooperacija pripada nekoj karegoriji:
Prenos podataka od jednog do drugog registra.
Prenos podataka od registra do eksternog suelja (npr., sistemska sabirnica).
Prenos podataka od eksternog suelja do registra.
Izvoenje aritmetike ili logike operacije koritenjem registara za ulaz i izlaz.
Kotrolna jedinica izvodi dva osnovna zadatka:
Sekvencioniranje: kontrolna jedinica uzrokuje da procesor prolazi kroz niz
mikrooperacija odgovarajuim redoslijedom, zasnovano na programu koji se
izvrava.
Izvravanje: kontrolna jedinica uzrokuje da se svaka mikrooperacija izvede.
Kako bi izvela svoju funkciju kontrolna jedinica mora imati ulaze kojima odreuje
stanje
sistema i izlaze kojima kontrolie ponaanje sistema.
Ulazi su:
Takt: Kontrolna jedinica uzrokuje izvoenje jedne ili vie mikooperacija u
svakom taktnom impulsu. Ovo se nekad oznaava kao brzina procesora.
Instrukcijski registar: opkod i nain adresiranja trenutne instrukcije se koristi
za odreivanje koje mikrooperacije izvesti tokom izvrnog ciklusa.
Zastavice: potrebne su kontrolnoj jedinici za odreivanje statusa procesora i
rezultata prethodnih ALU operacija.
Kontrolni signali sa kontrolne sabirnice: kontrolna sabirnica kao dio
sistemske, obezbjeuje signale ka kontrolnoj jedinici.
Izlazi su:
Kontrolni signali unutar procesora: dva su tipa: jedni uzrokuju prenoenje
podataka od jednog do drugog registra, a drugi aktiviraju specifine ALU
funkcije.
Kontrolni signali ka kontrolnoj sabirnici: dva tipa: kontrolni signali ka
memoriji i kontrolni signali ka I/O modulima.

Koriste se tri tipa kontrolnih signala: za aktiviranje ALU funkcije, podatkovne putanje i
signali na eksternu sistemsku sabirnicu ili drugo eksterno suelje. Svi se ovi signali
na kraju primjenjuju direktno kao binarni ulazi za pojedinana logika vrata.

MEMORIJA
Iako je memorija svojim konceptom najjednostavnije komponenta raunara ima najii
spektar tipova.
Karakteristike:
Lokacija (unutranja i vanjska)
Kapacitet (broj rijei/broj bajtova)
Jedinica prenosa (rije, blok)
Nain pristupa (sekvencijalni, direktni, sluajni, asocijativni)
Performanse (vrijeme pristupa, vrijeme ciklusa, brzina prenosa)
Fiziki tip (poluprovodnik, optiki, magnetno-optiki)
Fizike karakteristike (nepostojana/postojana, izbrisiva/neizbrisiva
Organizacija (memorijski moduli).
Unutranja memorija: glavna memorija, ke memorija;
Vanjska memorija: diskov i traki; procesor im pristupa pomou I/O kontrolera.
Kapacitet se kod unutranje memorije izraava u rijeima ili bajtima. Duina rijei
moe biti 8, 16 i 32 bita; Kapacitet vanjske memorije se obino izraava u bajtima.
Za unutranju memoriju, jedinica prenosa je jednaka broju elektrinih linija koje ulaze
i izlaze u memorijski modul, to moe biti jednako duini rijei, ali je esto vee (64,
128 ili 256 bita); Kod vanjske memorije podaci se prebacuju u blokovima.
Sekvencijalni pristup: memorija je organizovana u jedinice podataka koji se nazivaju
zapisi. Pristup se mora obaviti u posebnom linearnom nizu. Pohranjene informacije o
adresiranju se koriste za razdvajanje zapisa i kao pomo u povratnom procesu.
Sekvencijalni pristup podrazumijeva da se sa pretraivanjem krene od prvog zapisa.
Vrijeme pristupa je promjenjivo.
Neposredni pristup: direktno se pristupa do ope lokacije u blizini, a onda slijedi
sekvencijalno pretraivanje, brojanje, ili ekanje do konane lokacije. Vrijeme
pristupa je promjenjivo.
Sluajni pristup: svaka adresabilna lokacija u memoriji ima jedinstven fiziki
mehanizam adresiranja. Vrijeme pristupa datoj lokaciji je konstantno, i nezavisno od
niza prethodnih pristupa. Zato svaka lokacija moe biti izabrana sluajno, a adresira i
pristupa joj se direktno.
Asocijativan pristup: koristi ga vrsta memorije sa direktnim pristupom koja
omoguava da se uporede eljene lokacije bitova unutar rijei kako bi se postigla
podudarnost sa odreenim uzorkom i da se to uradi za sve rijei istovremeno. Dakle,

rije se pronalazi na osnovu dijela njenog sadraja, a ne na osnovu njene adrese.


Vrijeme pristupa je konstantno.
Koriste se razliiti fiziki tipovi memorije. Najee su: poluprvodnike, povrinski
magnetizirane (disk i traka), optike i magnentno-optike.
Nekoliko fizikih karakteristika prohrane podataka je vano. Kod nepostojane
memorije, informacije se prirodno gube kada se iskljui struja. Kod postojane
memorije, jednom snimljene informacije ostaju nepromijenjene do namjerne
promjene nije potrebna struja da se informacije zadre. Povrinski magnetizirane
memorije su stalne. Poluprovodnika memorija moe biti u oba oblika. Neizbrisiva
memorija se ne moe mijenjati, osim unitavanja memorijske jedinice.
Poluprovodnika memorija ovog tipa je poznata kao memorija samo za itanje
(ROM). Zbog potrebe, neizbrisiva memorija takoer mora biti postojana.
Za memoriju sa direktnim pristupom organizacija je kljuno pitanje dizajna. Pod
organizacijom se podrazumijeva fiziko ureenje bitova u kreiranju rijei.
Memorijska hijerarhija:
Koriste se razne tehnologije za implementaciju memorijskih sistema, a meu
tehnologijama postoje sljedee veze:
Krae vrijeme pristupa, vea cijena po bitu
Vei kapacitet, manja cijena po bitu
Vei kapacitet, due vrijeme pristupa.
Sekundarna ili pomona memorija je stalna. Koristi se za pohranu programskih i
podatkovnih fajlova i obino je vidljiva programeru samo u smislu fajlova i zapisa.
KE MEMORIJA je memorija ija je namjena poveanje brzine kako se pribliava
najbrim memorijama, i da u isto vrijeme prui veu koliinu memorije po manjoj
cijeni poluprovodnike memorije.
Ke sadri kopiju dijelova glavne memorije. Kada procesor pokuava itati rije
memorije, provjera se da li ke sadri tu rije. Ako da, rije se prosljeuje procesoru.
Ako ne, blok glavne memorije koji se sastoji od fiksnog broja rijei, se uitava u ke i
onda se rije prosljeuje procesoru.
Ke memorija se sastoji od tri nivoa: L2 ke je sporiji i obino vei nego L1, a L3 je
sporiji i obino vei od L2.
Karakteristike ke dizajna
Iako postoji veliki broj ke implementacija, svega je nekoliko osnovnih elemenata koji
slue za klasifikovanje i razlikovanje ke arhitektura. To su: ke adrese (logike i
fizike); veliina kea; funkcije preslikavanja (direktno, asocijativno,
poluasocijativno);
algoritmi zamjene (posljednji koriten LRU, prvi uao prvi izaao FIFO, najmanje
koriten LFU, sluajni); naini upisa (write through, write back, write once);
veliina linije; broj keeva (jedan ili dva nivoa, ujedinjeni ili razdvojeni).

Broj keeva
Kad je ke uveden, tipian sistem je imao samo jedan. U posljednje vrijeme,
normalna je
upotreba viestrukih keeva. Dva aspekta dizajna tiu se: broja ke nivoa i ujedinjeni
naspram razdvojeni ke.
Ke u vie nivoa: poveanjem gustine logike, te je postalo mogue imati ke na
istom ipu gdje je i procesor. U poreenju sa keom kojem se pristupa preko
spoljanje sabirnice, ke na ipu smanjuje procesorsku vanjsku sabirnicu te se zato
ubrzava izvrenje i poveavaju performanse sistema uope. Kada se pronae
traena informacija ili podatak u keu na ipu, eliminie se pristup sabirnice, te je
tokom ovog perioda sabirnica je slobodna za podrku drugim prenosima.
Ujedinjeni naspram razdvojenog kea: kad se ke na ipu prvi put pojavio, mnogi
dizajni su se sastojali od jednog kea koji se koristio za pohranjivanje podatkovnih i
instrukcijskih referenci. U novije vrijeme, postalo je uobiajeno razdvajanje kea na
dva: jedan namijenjen za instrukcije, a drugi za podatke. Oba se nalaze na istom
nivou, obino kao dva L1 kea. Kada procesor pokuava da dobavi instrukciju iz
glavne memorije, prvo provjerava instrukcijski L1, a kada pokuava dobaviti podatke
iz glavne memorije, prvo provjerava podatkovni L1.
Dvije su prednosti ujedinjenog kea:
Za datu veliinu kea, ujedinjeni ima veu stopu pogotka od razdvojenog jer
automatski uravnoteuje optereenje izmeu instrukcijskih i podatkovnih
dobavljanja.
Treba samo projektovati i implementirati jedan ke.
Kljuna prednost dizajna razdvojenog kea je u tome to:
Eliminie trku za keom izmeu jedinice za dobavljanje/dekodiranje instrukcije
i izvrne jedinice.

Unutranja memorija
Poluprovodnika glavna memorija:
Organizacija:
Osnovni element poluprovodnike memorije je memorijska elija. Iako se koriste
raznolike elektronske tehnologije, sve poluprovodnike memorijske elije imaju
zajednika svojstva:
Imaju dva (polu)stabilna stanja, koja se koriste za predstavljanje binarnih 1 i 0.
Za postavljanje stanja u njih se, bar jednom, moe upisivati.
Iz njih se moe itati s obzirom na stanje (0 ili 1).

Tipovi memorije sa direktnim pristupom:


RAM (random-access memory) mora imati stalno napajanje strujom;
njeno itanje i pisanje se brzo izvrava.
Postoje dva oblica RAM-a:
DRAM (dinamiki RAM) napravljena je od elija koje pohranjuju
podatke kao kondenzatorske naboje. Prisustvo ili odsustvo
naboja u kondenzatoru te tumai kao 0 ili 1. Analogni ureaj.
Koristi se za glavnu memoriju.
SRAM (statiki RAM) je digitalni ureaj koji koristi iste logike
elemente kao procesor. U njemu se binarne vrijednosti
pohranjuju koristei flip-flop konfiguracije logikih vrata. Dri
podatke dok je struja ukljuena. Koristi se za ke memoriju.
ROM (read-only memory) sadri podatke koji se ne mijenjaju. Stabilan,
to znai da se podaci ne gube prekidom napajanja struje. U ROM nije
mogue upisivati podatke. Vana primjena ROM-a je mikroprogramiranje.
PROM (programirani ROM) stabilan je i u njega se upisuje
samo jednom. Objezbjeuje fleksibilnost.
EPROM (erasable programmable ROM) je memorija iji se
sadraj moe mijenjati. Da bi se podaci upisali prethodni sadraj
se mora izbrisati.
EEPROM (electrically erasable programmable ROM) je
memoriju u koju se moe upisivati bez da se obrie prethodni
sadraj
FLASH je oblik poluprovodnike memorije. Ime je dobila zbog
brzine kojom se reprogramira. Korsiti samo 1 tranzistor po bitu,
kao i EPROM.

You might also like