You are on page 1of 23

ARHITEKTURA

RAČUNARA
Struktura i funkcija procesora

Organizacija procesora

Organizacija procesora zavisi od poslova koje obavlja:


- Dobavljanje instrukcije: procesor čita instrukciju iz memorije (registar, keš, glavna memorija).
- Prevođenje instrukcije: radi određivanja aktivnosti.
- Dobavljanje podataka: izvršavanje instrukcije može zahtijevati podatke iz memorije ili I/O.
- Obrada podataka: izvršavanje instrukcije može zahtijevati izvođenje aritmetičkih ili logičkih
operacija nad podacima.
- Upisivanje podataka: rezultati izvršavanja mogu zahtijevati upisivanje podataka u memoriju
ili I/O modul.
Da bi ovo uradio procesor mora privremeno pohraniti podatke. Mora znati lokaciju posljednje
instrukcije da zna gdje naći sljedeću. Mora privremeno sačuvati instrukcije i podatke dok se jedna
izvodi. Znači, procesoru je potrebna mala interna memorija kao veza procesora sa ostatkom sistema
preko sistemske sabirnice. Glavne komponente procesora su:
- ALU vrši stvarno izračunavanje, odnosno obradu podataka
- CU kontrola prenosa podataka/instrukcija u/iz procesora i rad ALU.
- najmanja unutrašnja memorija - registri.
U putanje prenosa podataka i logičke kontrole uključena je i unutrašnja sabirnica procesora. Ona je
potrebna za prenos podataka između različitih registara i ALU, jer ALU radi samo sa podacima iz
unutrašnje memorije procesora. Sličnost između unutrašnjih struktura čitavog računara i procesora je
to što postoji skup osnovnih elemenata povezanih putanjama podataka.

Organizacija registra

Hijerarhija memorija – viši nivoi brža, manja i skuplja (po bitu). Unutar procesora su registri -
memorijski nivo iznad RAMa i keša. Dvije su uloge (vrste) registara:
- Korisniku vidljivi registri: programeru niskog novoa minimiziraju pozive ka glavnoj memoriji
(optimizacija iskoristivosti registara).
- Kontrolni i statusni registri: kontrolna jedinica za kontrolu procesora i privilegovani programi
OSa za kontrolu izvršavanja programa.
Ne postoji jasna podjela registara u ove dvije kategorije. Npr., programski brojač kod x86 je prva a
kod većine ostalih druga grupa.

Korisniku vidljivi registri

Mogu biti referencirani pomoću mašinskog jezika, a izvršava CPU. Kategorije su:
- Registri opće namjene (RON)
- Podatkovni registri
- Adresni registri
- Uslovni registri (condition codes).

1
Programer može dodijeliti RONove različitim funkcijama. Nekad se unutar instrukcijskog seta koriste
ortogonalno na operaciju. Znači da bilo koji RON može sadržavati operand za bilo koji opkod. Time
se obezbjeđuje stvarna opća namjena registra. Međutim, često postoje ograničenja. Na primjer, mogu
biti registri za operacije sa pokretnim zarezom i stek operacije. Podatkovni registri koriste se samo za
držanje podataka, ali ne i za izračunavanje adrese operanda. Adresni registri u neku ruku mogu biti
opće namjene, ili mogu biti za određeni način adresiranja. Na primjer:
- Indeksni registri: koriste se za indeksno adresiranje i mogu biti autoindeksirani.
- Stek pokazivač: ako postoji stek adresiranje vidljivo korisniku, onda je to obično registar koji
pokazuje na vrh steka. Ovim se dozvoljava implicitno adresiranje.
Postoje tri projektantska pitanja:
1. da li koristiti RONove ili specijalizirani?
2. koliko registara obezbijediti, RONova ili podatkovni + adresni?
3. kolika je registarska dužina?
Odgovor 1.: Kada se koriste specijalizirani registri, može se obuhvatiti u opkodu na koji tip registara
se odnosi specifikator operanda. Specifikator identificira samo jedan skup specijaliziranih registara, a
ne jedan od svih registara, čime se štede bitovi. S druge strane, ova specijalizacija ograničava
fleksibilnost programera.
Odgovor 2.: utiče na dizajn instrukcijskog seta jer više registara zahtijeva više bita specifikatora
operanda. Negdje između 8 i 32 registra je optimum. Manje registara rezultira sa više memorijskih
referenci; više registara značajno ne smanjuje memorijske reference.
Odgovor 3.: adresni registri očigledno moraju biti dovoljno veliki da drže najdužu adresu. Podatkovni
registri morali bi moći držati vrijednosti većina tipova podataka. Neke mašine dozvoljavaju korištenje
dva susjedna registra kao jednog za držanje vrijednosti duple dužine.
Uslovni registri su najmanje vidljivi korisniku. Sadrže uslovne kôdove ili zastavice. Uslovni kodovi su
bitovi koje postavlja CPU hardver kao rezultat operacije. Npr., aritmetička operacija može stvoriti
rezultat koji je +, -, 0, ili prekoračena vrijednost. Mašinske instrukcije dozvoljavaju programeru da čita
ove bitove preko implicitne reference ali ne i da ih mijenja.

Kontrolni i statusni registri

Različiti registri vrše kontrolu operacija procesora. Većina njih nije vidljiva korisniku. Naravno,
različite mašine imaju različite organizacije registara i koriste različitu terminologiju. Četiri tipa
registara su bitna za izvršavanje instrukcija:
- Programski brojač (PC): sadrži adresu instrukcije koja treba biti učitana
- Instrukcijski registar (IR): sadrži instrukciju koja je zadnja učitana
- Memorijski adresni registar (MAR): sadrži adresu lokacije u memoriji
- Memorijski bafer registar (MBR): sadrži riječ podatka koji se upisuje u memoriju ili riječ koja
je nedavno učitana.
Nemaju svi procesori MAR i MBR registre, ali mora biti ekvivalentan mehanizam međuskladištenja.
Potreban je za sređivanje bitova koji se prebacuju na sistemsku sabirnicu i za privremeno
pohranjivanje bitova koji se učitavaju sa podatkovne sabirnice. Obično procesor ažurira PC poslije
svakog dohvatanja instrukcije. Tako, PC uvijek pokazuje na sljedeću instrukciju izvršavanja.
Instrukcija grananja ili skoka također mijenja sadržaj PC-a. Učitana instrukcija se smješta u IR, gdje se
analiziraju specifikatori opkoda i operanda. Podaci se razmjenjuju sa memorijom korištenjem MAR i

2
MBR. U sistemu sa bus-organizacijom, MAR direktno povezuje na adresnu sabirnicu, a MBR na
podatkovnu. Korisnički vidljivi registri razmjenjuju podatke sa MBR. Može biti i program status word
– PSW registar(i) koji sadrži statusne informacije. Obično sadrži uslovni kôd kao i druge statusne
informacije. Zajednička polja ili zastavice uključuju:
- Sign: sadrži bit predznaka rezultata posljednje aritmetičke operacije.
- Zero: postavlja se kad je rezultat 0.
- Carry: postavlja se ako operacija rezultira sabiranjem ili oduzimanjem najvećeg bita. Koristi se za
višeriječne aritmetičke operacije.
- Equal: postavlja se ako je rezultat logičkog upoređivanja jednakost.
- Overflow: koristi se za prikaz aritmetičkog prekoračenja.
- Interrupt enable/disable: koristi se za omogućavanje ili onemogućavanje prekida.
- Supervisor: ukazuje da li se procesor izvršava u supervizorskomili korisničkom modu. Određene
privilegovane instrukcije mogu se izvršavati samo u supervizorskom modu, i određenim memorijskim
područjima se može pristupiti samo u supervizorskom modu.

Instrukcijski ciklus

Već je rečeno da se instrukcijski ciklus uključuje sljedeća stanja:


- Dobavljanje: učitavanje sljedeće instrukcije iz memorije u procesor.
- Izvršavanje: prevođenje opkoda i izvođenje naznačene operacije.
- Prekid: ako su dozvoljeni i ako se prekidi pojave, spašava se trenutno stanje procesa i uslužuje
se prekid.
Već viđeno: izvršavanje može uključiti jedan ili više operanada iz memorije. Znači, zahtijeva se
pristup memoriji. Ako je indirektno adresiranje dobijaju se dodatni pristupi memoriji.
Učitavanje indirektne instrukcije = jedno ili više stanja instrukcije.
Glavna linija aktivnosti=naizmjenična učitavanja i izvršavanja.
Nakon učitavanja, pregledava se postojanje indirektnog adresiranja. Ako ima, učitavaju se operandi
korištenjem indirektnog adresiranja. Prateći izvršavanje, može se obrađivati prekid prije učitavanja
sljedeće instrukcije.
Drugačiji pogled - priroda ciklusa instrukcije.
Poslije učitavanja, određuju se specifikatori operanada. Onda se učitavaju ulazni operandi. To može
zahtijevati indirektno adresiranje. Operandi bazirani na registru se ne trebaju učitavati. Nakon
izvršenja opkoda, možda će biti potreban sličan proces za pohranu rezultata u glavnu memoriju.

Tok obrade

Slijed izvršavanja instrukcijskog ciklusa zavisi od procesora.Opći opis: neka procesor koristi MAR,
MBR, PC i IR.Tokom ciklusa dobavljanja, instrukcija se učitava iz memorije. PC sadrži adresu
sljedeće instrukcije koju treba učitati. Adresa se premješta u MAR i smješta na adresnu sabirnicu.
Kontrolna jedinica zahtijeva čitanje memorije, rezultat se smješta na podatkovnu sabirnicu, kopira u
MBR, i premješta u IR. U međuvremu, PC se povećava za 1, pripremajući se za sljedeće učitavanje.
Ciklus učitavanja završen, CU pregledava IR kako bi se utvrdilo postojanje specifikatora operanda
koristeći indirektno adresiranje. Ako da, izvodi se indirektni ciklus. N krajnjih desnih bitova MBR-a,

3
koji sadrže adresnu referencu, prebacuju se u MAR. Onda kontrolna jedinica zahtijeva čitanje
memorije, kako bi se dobila tražena adresa operanda u MBR-u.
Prekidni ciklus: trenutni sadržaj PC-a mora bit spašen tako da proces može povratiti normalnu
aktivnost nakon prekida. Zato se sadržaj PC-a prenosi u MBR radi upisivanja u memoriju. Posebna
memorijska lokacija koja je rezervisana u tu svrhu, učitava se u MAR iz kontrolne jedinice (npr. stek
pokazivač). U PC se učitava adresa prekidne rutine. Kao rezultat, sljedeći instrukcijski ciklus će početi
učitavanjem odgovarajuće instrukcije.

Instrukcijski pipelining

Razvoj računara prati poboljšanje njegovih performansi koje su postignute korištenjem tehnoloških
poboljšanja (npr. brže kolo). Organizacijska poboljšanja također poboljšavaju performanse. Npr.,
korištenje više registara umjesto samo jednog akumulatora, ili korištenje keša. Još jedan organizacijski
pristup koji je veoma čest je instrukcijski pipelining. Sličan je korištenju asemblerske linije u
proizvodnji. Njena prednost je što proizvod prolazi kroz različite faze proizvodnje. Znači, istovremeno
se radi na različitim fazama obrade. Već znamo da instrukcija ima brojna stanja. Koliko stanja koji se
pojavljuju jedan iza drugog u nizu?

Jasno je da je moguće uvođenje pipelining-a.


Najjednostavniji pristup je instrukcija u 2 faze: učitavanje i izvršavanje. Postoje intervali tokom
izvršavanja kada se ne pristupa RAM-u. Ovo bi se vrijeme moglo iskoristiti za učitavanje sljedeće
instrukcije paralelno sa izvršavanjem trenutne. Pipeline ima dvije nezavisne faze.
- Prva faza: dobavljanje instrukcije i baferovanje.
- Druga faza: izvršavanje instrukcije.
Prva faza koristi prednost neiskorištenih memorijskih ciklusa za učitavanje i baferovanje sljedeće
instrukcije. Ovo je instrukcijsko predučitavanje ili preklapanje učitavanja. Ovaj pristup, uključuje
instrukcijsko baferovanje, zahtijeva više registara. U općem slučaju, pipelining zahtijeva registre za
pohranjivanje podatka između faza. Jasno je da će ovaj proces ubrzati instrukcijsko izvršavanje. Ako
faze učitavanja i izvršavanja jednako traju, vrijeme instrukcijskog ciklusa će biti prepolovljeno.

4
Međutim, ako se bolje pogleda pipeline, najvjerovatnije neće doći do udvostručavanja brzine
izvršavanja iz dva razloga:
1. Uopće, vrijeme izvršavanja je duže od vremena učitavanja. Izvršavanje čini: učitavanje i
pohranjivanje operanada i izvođenje neke operacije. Zato faza učitavanja će možda trebati
čekati prije pražnjenja bafera.
2. uslovno grananje = nepoznata adresa sljedeće instrukcije. Zato učitavanje čeka adresu sljedeće
instrukcije od izvršavanja, pa će možda čekati izvršavanje da se dobavi sljedeća instrukcija
Pogađanje može smanjiti gubitak vremena zbog drugog razloga. Jednostavno pravilo je: kada
instrukcija uslovnog grananja pređe iz faze učitavanja na izvršavanje, faza učitavanja dobavlja
sljedeću instrukciju iz memorije nakon instrukcije grananja. Ako grana nije uzeta, nema gubitka
vremena. Ako je grana uzeta, mora se odbaciti dobavljena instrukcija, a dobaviti nova. Ovi faktori
smanjuju potencijalnu efektivnost dvofaznog pipeline-a, ali ipak se pojavljuje nekakvo ubrzavanje. Za
dodatno ubrzavanje, pipeline mora imati više faza. Razmotrimo sljedeću dekompoziciju instrukcijskog
procesa:
- Učitavanje instrukcije (FI): učitavanje sljedeće očekivane instrukcije u bafer.
- Dekodiranje instrukcije (DI): određivanje opkoda i specifikatora operanda.
- Izračunavanje operanda (CO): izračunavanje stvarne adrese svakog izvornog operanda. Ovo može
uključiti pomak, registarsku indirekciju ili druge oblike izračunavanja adrese.
- Učitavanje operanada (FO): učitavanje svakog operanda iz memorije. Operandi u registrima se ne
trebaju učitavati.
- Izvršavanje instrukcije (EI): izvodi se naznačena operacija i eventualno pohranjivanje rezultata na
specificiranu odredišnu lokaciju operanda.
- Upisivanje operanda (WO): pohranjivanje rezultata u memoriju.

Dobiju se faze koje imaju približno isto vrijeme trajanja, npr., 6-fazni pipeline sa jednakim vremenima
trajanja faza. Za 9 instrukcija skraćenje vremena izvršavanja sa 54 na 14 vremenskih jedinica.
Pretpostavka je da svaka instrukcija prolazi kroz šest faza pipeline-a. Ovo uvijek nije slučaj
(instrukcija učitavanja ne treba fazu WO). Radi pojednostavljenja pretpostavlja se da instrukcije imaju
6 faza. Sve faze se mogu izvoditi paralelno. Pretpostavljeno je da nema memorijskog konflikta. Npr.,
FI, FO i WO uključuju pristup memoriji. Podrazumijeva se ovi pristupi mogu biti istovremeni. Većina
memorijskih sistema to ne dopušta. Međutim, tražena vrijednost može biti u kešu, ili FO ili WO faze
mogu biti 0. Zato većinu vremena memorijski konflikti neće usporiti pipeline. I drugi faktori
ograničavaju poboljšanje performansi:
1. šest faza nisu vremenski jednake = čekanje u brojnim fazama.
2. instrukcija uslovnog grananja, može poništiti neka učitavanja.
3. Sličan nepredviđeni događaj je prekid.

5
4. CO faza može zavisiti od sadržaja registra koji može biti promijenjen prethodnom
instrukcijom koja je još u pipeline-u. Može se pojaviti i drugi takav registar te dolazi do
pojave memorijskih konflikata. Sistem mora sadržavati logiku koja uzima u obzir ovaj tip
konflikta.
Čini se da je brže izvršavanje što pipeline ima više faza. Dva faktora narušavaju spomenuti obrazac
povećanja performansi:
1. U svakoj fazi pipeline-a, postoji neki dodatak koji je sastavni dio premještanja podataka od
bafera do bafera i izvođenja različitih funkcija pripremanja i dostavljanja. Ovaj dodatak može
znatno produžiti ukupno vrijeme izvršavanja samo jedne instrukcije. Ovo je značajno kad su
sekvencijalne instrukcije logički zavisne, ili preko značajnog korištenja grananja ili zavisnosti
od pristupa memoriji.
2. Broj kontrola koje se zahtijevaju za rukovanje memorijskom i registarskom zavisnošću, te za
optimiziranje pipeline-a enormno raste sa brojem faza. Desiće se da je logička kontrola
prelaza između faza složenija od faza koje se kontrolišu.
Instrukcijski pipeline je veoma dobra tehnika za poboljšanje performansi, ali zahtijeva pažljivo
projektovanje kako bi se postigli optimalni rezultati uz umjerenu složenost.

Superskalarni procesor

Superskalar (1987.) odnosi se na mašinu koja je projektovanja za poboljšanje performansi izvođenja


skalarnih funkcija. Operacije su najčešće nad skalarnim veličinama. Dakle, superskalarni pristup
predstavlja sljedeći korak u razvoju performansi procesora opće namjene. Osnova pristupa je
nezavisno i istovremeno izvršavanje u različitim pipeline-ima. Koncept se može proširiti dopuštanjem
da se instrukcije izvršavaju redoslijedom koji se razlikuje od programskog redoslijeda.
Superskalarni pristup:
Ima više funkcionalnih jedinica, a svaka je implementirana kao pipeline te podržava paralelno
izvršavanje nekoliko instrukcija. U ovom primjeru, dvije cjelobrojne, dvije sa pomičnim zarezom i
jedna memorijska (učitavanje ili pohranjivanje) operacija se mogu istovremeno izvršavati.

6
Kontrolna jedinica

Sljedeći elementi specificiraju funkciju procesor:


- Operacije (opkodovi)
- Načini adresiranja
- Registri
- Sučelje I/O modula
- Sučelje memorijskog modula
- Prekidi
Operacije, adresiranje i registre definiše instrukcijski set, a sučelja I/O i memorijskog modula definiše
sistemska sabirnica. Prekidi se specificiraju djelimično sistemskom sabirnicom, a djelimično vrstom
podrške koju procesor daje operativnom sistemu. Ovo su funkcionalni zahtjevi za procesor. Oni
određuju šta procesor mora uraditi. Pitanje je kako se ostvaruju ove funkcije, odnosno kako se
kontrolišu različiti elementi procesora u svrhu provođenja ovih funkcija? Kontrolna jedinica je ta koja
kontroliše procesorske operacije.

Mikrooperacije

Kompjuterska operacija se sastoji od niza instrukcijskih ciklusa, sa jednom mašinskom instrukcijom


po ciklusu. Niz instrukcijskih ciklusa ne mora biti isti nizu instrukcija koje čine program, zbog
postojanja instrukcija grananja.
Svaki instrukcijski ciklus čine brojne manje jedinice (učitavanje, indirekcija, izvršavanje i prekid).
Koji se od ovih ciklusa uvijek pojavljuje? Učitavanje i izvršavanje. Za projektovanje kontrolne
jedinice potrebna je daljnja podjela. Već spominjani pipelining sugeriše da je dekompozicija moguća.
U stvari, svaki od manjih ciklusa uključuje serije koraka, svaki korak uključuje procesorske registre.
Ovi se koraci označavaju kao mikrooperacije (mikro znači da je svaki korak veoma jednostavan i radi
veoma malo).
Dakle:izvršavanje programa sastoji se od niza izvršavanja instrukcija. Svaka se instrukcija izvršava
tokom instrukcijskog ciklusa.Instrukcijski ciklus čine kraći podciklusi:
- dobavljanje,
- indirekcija,
- izvršavanje,
- prekid
Podciklus uključuje jednu ili više kraćih operacija (mikrooperacije).

Ciklus učitavanja

Pojavljuje se na početku svakog instrukcijskog ciklusa. Izaziva učitavanje instrukcije iz memorije.


Uključuje sljedeće registre:
- MAR: spojen je na adresne linije sistemske sabirnice. Određuje adresu u memoriji za
učitavanje ili upisivanje operacije.

7
- MBR: spojen je na podatkovne linije sistemske sabirnice. Sadrži vrijednost koja će se
pohraniti u memoriju, ili posljednju koja je dobavljena iz memorije.
- PC: sadrži adresu sljedeće instrukcije koju treba učitati.
- IR: sadrži posljednju dobavljenu instrukciju.
Na početku ciklusa učitavanja, adresa sljedeće instrukcije je u PC.

- Prvi korak: prebaciti tu adresu u MAR, jedini registar povezan sa adresnom sistemskom
sabirnicom.

- Drugi korak: donošenje instrukcije. Adresa iz MAR-a se smješta na adresnu sabirnicu, a


kontrolna jedinica izdaje komandu READ na kontrolnu sabirnicu, i rezultat se pojavljuje na
podatkovnoj sabirnici i kopira se u MBR. Potrebno je povećati PC. Ove dvije aktivnosti
međusobno se ne miješaju, mogu se uraditi istovremeno radi uštede vremena.

- Treći korak: premještanje sadržaja MBR-a u IR. MBR se oslobađa zbog mogućeg indirektnog
ciklusa.

Znači: stvarni ciklus učitavanja se sastoji od 3 koraka i 4 mikooperacije.Svaka mikrooperacija


uključuje premještanje podataka u/iz registra. Sve dok se ova premještanja međusobno ne miješaju,
nekoliko njih se može dešavati tokom jednog koraka štedeći vrijeme.
Grupiranje mikrooperacija mora pratiti dva jednostavna pravila:
1. Mora se poštovati pravilan niz događaja. Zato (MAR ← (PC)) mora prethoditi (MBR ←
memorija) jer operacija učitavanja iz memorije koristi adresu u MAR.
2. Konflikti se moraju izbjeći. Ne smije se učitavati i upisivati sa istog registra odjednom jer je
rezultat nepredvidljiv. Na primjer, mikooperacije(MBR ← Memorija) i (IR ← MBR) ne bi se
trebale pojaviti tokom iste vremenske jedinice.

8
Indirektni cklus

Nakon dobavljanja instrukcije, dobavlja se izvorni operand. Pretpostavimo da imamo jednoadresni


instrukcijski format, sa dozvoljenim direktnim i indirektnim adresiranjem. Ako instrukcija definiše
indirekciju, onda ona prethodi izvršavanju. Potrebne mikrooperacije:
t1: MAR <- (IR(adresa))
t2: MBR <- Memorija
t3: IR(adresa) <- (MBR(adresa))

t1 – adresno polje instrukcije se prenosi u MAR.


t2 – ono se onda koristi za učitavanje adrese operanda
t3 – na kraju, IR adresno polje se ažurira iz MBR-a, tako da je novi sadržaj direktna a ne indirektna
adresa. Sad je IR u istom stanju kao da indirektno adresiranje nije korišteno i spreman je za ciklus
izvršavanja.

Ciklus prekida

Nakon izvršavanja, radi se testiranje zbog određivanja pojave odobrenih prekida. Ako je tako,
pojavljuje se ciklus prekida. Priroda ovog ciklusa razlikuje se od mašine do mašine. Na primjer:

1. korak: sadržaj PC-a se premješta u MBR (može se vratiti nakon prekida)

2. korak: MAR se puni adresom na kojoj je spašen sadržaj PC-a, a PC se puni adresom početka
rutine obrade prekida. Ove dvije aktivnosti mogu pojedinačno biti mikrooperacije. Međutim, pošto
većina procesora pruža više tipova i/ili nivoa prekida, može trebati jedna ili više mikooperacija za
dobivanje spašavanje_adrese i adresa_rutine prije nego što budu prebačene u MAR i PC.
3. korak je pohrana MBR-a(sadrži staru PC vrijednost), u memoriju.

9
Ciklus izvršavanja

Prethodna tri ciklusa su jednostavna i predvidljiva. Iste se mikooperacije ponavljaju svaki put.To nije
kod ciklusa izvršavanja zbog različitih opkodova. Pojavljuju se brojni i različiti nizovi mikooperacija.
Razmotrimo nekoliko hipotetičkih primjera.
Prvi: ADD R1, X Šta radi ova instrukcija?
Dodaje sadržaj lokacije X registru R1. Može se pojaviti sljedeći niz mikrooperacija:

Počinje se od IR-a. On sadrži ADD instrukciju.


1. korak: adresni dio IR-ase puni u MAR.
2. korak: učitavanje referencirane memorijske lokacije.
3. korak: ALU sabire sadržaje R1 i MBR-a.
Složeniji primjer: increment-and-skip-if-zero. Instrukcija povećanja i preskakanja ako je 0: ISZ X.
Vrijednost lokacije X se povećava za 1.
Ako je rezultat 0, sljedeća se instrukcija preskače.
Mogući niz mikrooperacija je:

Nova osobina je uslovna aktivnost:PC se uvećava ako je (MBR) = 0. Ovaj test i aktivnost mogu biti
jedna mikooperacija. Ova mikooperacija se može izvesti tokom iste vremenske jedinice u kojoj je
ažurirana MBR-vrijednost pohranjena nazad u memoriju.
Treći primjer: branch-and-save-address. Instrukcija grananje-i-spašavanje adrese: BSA X.

Adresa instrukcije koja prati BSA instrukciju se spašava na lokaciji X, i izvršavanje se nastavlja na
lokaciji X + I. Spašena adresa će poslije biti korištena za vraćanje. Koristi se za obezbjeđivanje poziva
potprograma. Početak instrukcije: u PC je adresa sljedeće instrukcije u nizu. Ona je spašena na adresi
koja je određena u IR. Potonja adresa se također povećava da obezbijedi adresu instrukcije za sljedeći
instrukcijski ciklus. Znači: faze instrukcijskog ciklusa mogu se razložiti na elementarne
mikrooperacije. Naš jednostavni primjer: po jedan niz za svaki ciklus:

10
- prihvatanja,
- indirekcije, i
- prekida,
- za ciklus izvršavanja, jedan niz mikrooperacijaza svaki opkod.
Za dobijanje „big picture“ treba uvezati nizove mikoroperacija.

Kontrola procesora – funkcionalni zahtjevi

Zaključak prethodne analize: dekompozicija rada procesora na elementarne mikooperacije. Ovo


pomaže tačnom definisanju posla kontrolne jedinice. Zato se definišu funkcionalni zahtjevi za
kontrolnu jedinicu (funkcije koje mora izvesti kontrolna jedinica). Definisanje funkcionalnih zahtjeva
je osnova implementacije CU. Karakterizacija kontrolne jedinice se vrši na osnovu:
- Definisanja osnovnih elemenata procesora(uradili)
- Opisivanja mikooperacija koje izvodi procesor (uradili)
- Određivanja funkcija koje mora izvesti kontrolna jedinica da bi prouzročila izvođenje
mikrooperacija(slijedi u nastavku)
Kontrolna jedinica izvodi dva osnovna zadatka:
- Sekvencioniranje: CU uzrokuje da procesor prolazi kroz niz mikrooperacija odgovarajućim
redoslijedom, zasnovano na programu koji se izvršava.
- Izvršavanje: CU uzrokuje da se svaka mikrooperacija izvede.

Kontrolni signali

Da bi izvela svoju funkciju CU mora imati:


- ulaze pomoću kojih određuje stanje sistema, i
- izlaze kojima kontroliše ponašanje sistema.
Ovo su njene eksterne specifikacije. Iznutra, kontrolna jedinica mora imati logiku zahtijevanu za
izvođenje njenih sekvencijalnihi izvršnih funkcija.
Ulazi:
- Pomoću takta CU „drži vrijeme“. CU uzrokuje izvođenje jedne ili skupa simultanih
mikooperacija u svakom taktnomimpulsu (brzina procesora)
- Instrukcijski registar: opkodi način adresiranja trenutne instrukcije se koristi za određivanje
koje mikrooperacije izvesti tokom izvršnog ciklusa.
- Zastavice: služe za određivanje statusa procesora i rezultata prethodnih ALU operacija. Npr.:
za instrukciju povećaj-i-preskoči-ako-je0 (ISZ), kontrolna jedinica će povećati PC ako je
postavljena 0-zastavica.
- Kontrolni signali sa kontrolne sabirnice: kontrolna sabirnica kao dio sistemske, obezbjeđuje
signale ka kontrolnoj jedinici.
Izlazi su:
- Kontrolni signali unutar procesora: dva su tipa: jedni uzrokuju prenošenje podataka od jednog
do drugog registra, a drugi aktiviraju specifične ALU funkcije.

11
- Kontrolni signali ka kontrolnoj sabirnici: dva tipa: kontrolni signali ka memoriji, i kontrolni
signali ka I/O modulima.

Unutrašnja organizacija procesora

Jednostavan procesor sa jednim akumulatorom:

Koristeći internu sabirnicu dobije se „jednostavniji“ pogled. Jedna interna sabirnica


povezuje ALU i sve registre. Vrata i kontrolni signali omogućavaju prenos podataka od
registra na i sa sabirnice. Dodatni kontrolni signali kontrolišu prenos podataka sa i od
sistemske (vanjske) sabirnice i rad ALU.

12
Memorija

Memorija je svojim konceptom najjednostavnija. Međutim u odnosu na druge elemente, pokazuje


najširi spektar: tipova, tehnologija, organizacije, performansi i cijena.
Nijedna tehnologija nije optimalna za zadovoljenje memorijskih zahtjeva. Posljedica: računarski
sistem ima hijerarhijske memorijske podsisteme. Neki su u sistemu, kojima procesor pristupa direktno,
a drugi su eksterni, a njima procesor pristupa preko I/O modula.

Karakteristike memorijskih sistema

Ključne karakteristike memorije su:


- Lokacija
- Kapacitet
- Jedinica prenosa
- Način pristupa
- Performanse
- Fizički tip
- Fizičke karakteristike
- Organizacija

Lokacija se odnosi na to da li je za računar memorija unutrašnja ili vanjska. Unutrašnja se često


izjednačava sa glavnom memorijom, ali postoje i druge vrste unutrašnje memorije. Npr., procesor
zahtijeva vlastitu lokalnu memoriju (registri). Keš je još jedan tip interne memorije.
Vanjsku čine perifernih uređaja za pohranjivanje (disk i traka). Njima procesor pristupa preko I/O
kontrolera. Kapacitet interne memorije se izražava u bajtima ili riječima. Obično, dužine riječi su 8, 16
i 32 bita. Kapacitet vanjske memorije se obično izražava u bajtima.
Za unutrašnju memoriju, jedinica prenosa je jednaka broju električnih linija koje ulaze i izlaze u
memorijski modul. Jedinica prenosa je jednaka ali često veća od dužine riječi, (64, 128 ili 256 bita).
Pojašnjenje; tri su povezana koncepta unutrašnje memorije:
- Riječ: „prirodna“ jedinica organizacije memorije. Veličina riječi je obično jednaka broju
bitova cijelog broja i dužine instrukcije. Međutim, postoje mnogi izuzeci. Na primjer, CRAY
C90: 64-bit riječ ali 46-bit cijeli broj. Intel x86 arhitektura ima različite instrukcijske dužine,
izražene kao mnogostruki bajtovi, a veličina riječi je 32 bita.
- Jedinica pristupa (addressable unit): Kod nekih sistema to je riječ. Međutim, sistemi
dozvoljavaju i adresiranje na nivou bajta.
- Jedinica prenosa: za glavnu memoriju to je broj bitova koji se odjednom čitaju/upisuju u
memoriju. Ne mora biti jednaka riječi niti jedinici pristupa. Kod vanjske memorije podaci se
često prebacuju u mnogo većim jedinicama od riječi i označavaju se kao blokovi.

Način pristupa uključuje:


- Sekvencijalni pristup: (trake)

13
Memorija je organizovana u zapise (jedinice podataka). Pristupa se u posebnom linearnom
nizu. Pohranjene informacije o adresiranju se koriste za razdvajanje zapisa i kao pomoć u
povratnom procesu. Koristi se djeljivi mehanizam čitanja i pisanja. Pretraživanje počinje od
prvog zapisa, čitanje jednog elementa nakon nekog prethodnog, propuštajući i odbacujući
svaki dok se ne dođe do željenog. Zato je vrijeme pristupa proizvoljnog zapisa veoma
promjenljivo.

- Neposredni pristup: (diskovi)


Uključuje djeljivi mehanizam čitanja i pisanja. Međutim, pojedinačni blokovi ili zapisi imaju
jedinstvenu adresu zasnovanu na fizičkoj lokaciji. Direktno se pristupa do opće lokacije u
blizini, a onda slijedi sekvencijalno pretraživanje, brojanje, ili čekanje do konačne lokacije.
Vrijeme pristupa je promjenjivo.

- Slučajni pristup: (RAM i neki keševi)


Lokacija ima jedinstven fizički mehanizam adresiranja. Vrijeme pristupa datoj lokaciji je
konstantno, i nezavisno od njenog mjesta u memoriji, kao i od niza prethodnih pristupa.
Zato svaka lokacija može biti izabrana slučajno, a adresira i pristupa joj se direktno.

- Asocijativan pristup: (neki keševi)


Riječ se pronalazi na osnovu dijela njenog sadržaja, a ne na osnovu njene adrese. Vrijeme
pronalaženja je konstantno i ne zavisi od lokacije ili prethodnih uzoraka pristupanja.

Koriste se tri faktora performansi:


- Vrijeme pristupa (latentnost): Za RAM, ovo je vrijeme potrebno za izvođenje operacije
čitanja/pisanja, vrijeme od trenutka predstavljanja adrese u memoriji do trenutka kad su
podaci pohranjeni/raspoloživi za korištenje. Nedirektni pristup memoriji, vrijeme za
pozicioniranje na željenu lokaciju mehanizma za čitanje/pisanje.
- Vrijeme memorijskog ciklusa: Primarno se primjenjuje na memoriju sa direktnim pristupom.
Sastoji se od vremena pristupa i dodatnog vremena potrebno prije nego što drugi pristup može
da počne. To je tzv. „mrtvo vrijeme“ neophodno je zbog tehničkih razloga. Vrijeme
memorijskog ciklusa se tiče sistemske sabirnice a ne procesora.
- Brzina prenosa: Brzina kojom se podaci prenose u ili iz memorijske jedinice. Za RAM
jednaka je recipročnoj vrijednosti vremena ciklusa.

Najčešći fizički tipovi memorije: poluprovodničke, površinski magnetizirane (disk i traka), optički i
magnentno-optički.
Fizičke karakteristike:
- nepostojane memorije - nema struje nema informacija
- postojane memorije - snimljene informacije ostaju do namjerne promjene
- Površinski magnetizirane memorije su stalne.
- Poluprovodnička memorija može biti u oba oblika.
- Neizbrisiva memorija se ne može mijenjati, osim uništavanja memorijske jedinice.
- Poluprovodnička memorija ovog tipa je poznata kao memorija samo za čitanje (ROM).
- Zbog potrebe, praktična neizbrisiva memorija također mora biti postojana.

14
- Organizacija je fizičko uređenje bitova u kreiranju riječi.

Memorijska hijerarhija

Ograničenja računarske memorije svode se na:


1. Kolika je veličina?
Aplikacije se razvijaju tako da koriste kapacitet.
2. Kolika je brzina?
Dok procesor izvršava instrukcije, ne želimo idle stanje.
3. Kolika je cijena?
Cijena memorije mora biti realna u odnosu na druge elemente
Postoji kompromis kapacitet, vrijeme pristupa i cijena. Među memorijskim tehnologijama postoje
veze:
- Kraće vrijeme pristupa, veća cijena po bitu
- Veći kapacitet, manja cijena po bitu
- Veći kapacitet, duže vrijeme pristupa.

Projektanti žele tehnologije koje obezbjeđuju kapacitet i manji trošak po bitu. Međutim, zbog
performansi, projektant koristi skupe memorije manjeg kapaciteta sa kraćim vremenom pristupa.
Rješenje dileme je ne oslanjati se na jednu memorijsku komponentu (tehnologiju), već upotrijebiti
memorijsku hijerarhiju.
Odozgo prema dolje, imamo:
a) Smanjenje cijene po bitu
b) Povećanje kapaciteta
c) Povećanje vremena pristupa
d) Smanjenje učestalosti pristupa procesora memoriji.

Zato se manje, skuplje i brže memorije dopunjavaju većim, jeftinijim i sporijim. Ključ uspjeha je (d).
Npr., procesor ima pristup dvoslojnoj memoriji.
Nivo 1: sadrži 1000 riječi, vrijeme pristupa 0,01 µs.;
nivo 2: sadrži 100000 riječi i vrijeme pristupa 0,1 µs.
Pretpostavke:
- Procesor pristupa direktno riječi sa nivoa 1
- Ako je na nivou 2, prvo se prebacuje na nivo 1
- Pojednostavljenje: ignoriše se vrijeme za određivanje sa kojeg je nivoa riječ.

15
Moguće je hijerarhijski organizovati podatke, tako da postotak pristupa nižem nivou je znatno manji
od onog iznad. Razmotrimo gornji primjer sa dva nivoa.
Neka nivo 2 sadrži sve programske instrukcije i podatke. Trenutne grupe mogu privremeno biti na
nivou 1. S vremena na vrijeme, grupa sa nivoa 1 se vraća na nivo 2. Tako se pravi prostor za novu
grupu koja dolazi na nivo 1. U prosjeku, međutim, većina referenci će biti za instrukcije i podatke sa
nivoa 1.
Ovaj princip se može primijeniti i na više od dva nivoa. Najbrža, najmanja i najskuplja su procesorski
registri. Obično, procesor ima nekoliko desetina registara, mada neki imaju na stotine. Glavna
memorija je unutrašnji memorijski sistem računara. Svaka njena lokacija ima jedinstvenu adresu. Ona
se obično proširuje bržim ali manjim kešom.
Keš obično nije vidljiv programeru ili, ustvari, procesoru. To je međustepenica za prenos podataka
između glavne memorije i registara zbog poboljšanja performansi RAM, keš i registri su nestalni i
koriste poluprovodnike. Tri su nivoa jer poluprovodnička memorija ima razne tipove, koji se razlikuju
u cijeni i brzini. Podaci se pohranjuju trajno na tvrdi disk i prenosne medije (prenosni magnetni disk,
traka i optičko skladište).
Vanjska, stalna memorija se označava kao sekundarna ili pomoćna memorija. Koristi se za pohranu
programskih i podatkovnih fajlova i obično je vidljiva programeru samo u smislu fajlova i zapisa. Disk
omogućuje proširenje glavne memorije na virtualnu. Nivoi mogu biti efikasno dodani hijerarhiji u
softveru. Dio glavne memorije se može koristiti kao bafer za privremeno čuvanje podataka koji će biti
učitani na disk.
Ova tehnika (keš disk), poboljšava performanse na 2 načina:
- Upisi na disk su grupisani. Umjesto mnogih manjih prenosa, postoji nekoliko većih. Na ovaj
način se smanjuje uključenost procesora.
- Neki podaci namijenjeni za vanjsko upisivanje, mogu biti programom upućeni prije sljedećeg
deponovanja na disk. U tom slučaju, podaci se brže preuzimaju iz softverskog keša nego sa
mnogo sporijeg diska.

16
Keš memorija

Namjena keš memorije:


- Povećanje brzine kako se približava bržim memorijama
- Veći kapacitet po manjoj cijeni poluprovodničke memorije.

Keš sadrži kopiju dijelova glavne memorije. Kada procesor čita memoriju, provjera da li keš sadrži
riječ. Ako da, riječ se prosljeđuje procesoru. Ako ne, blok glavne memorije se učitava u keš i onda se
riječ prosljeđuje procesoru. Keš u više nivoa: L2 sporiji i veći od L1, a L3 od L2.

Struktura sistema keš/RAM

RAM se sastoji od 2^n adresabilnih riječi, svaka riječ ima jedinstvenu n-bitnu adresu. Zbog
preslikavanja, smatra se da ova memorija sadrži brojne fiksne blokove sa po K riječi. Keš se sastoji od
m blokova koji se nazivaju linije. Linija sadrži K riječi i oznaku od nekoliko bitova. Linija sadrži
kontrolne bitovi (kao što je bit koji pokazuje da li je linija promijenjena od njenog učitavanja u keš).
Dužina linije, bez oznake i kontrolnih bitova, je veličina linije. Broj linija je znatno manji od broja
blokova memorije m << M. Uvijek je neki podskup blokova memorije u linijama keša.
Pošto ima više blokova nego linija, jedna linija ne može biti jedinstveno i trajno posvećena određenom
bloku. Zato, svaka linija uključuje oznaku kojom se identificira koji je blok trenutno pohranjen.
Oznaka je obično dio adrese glavne memorije.

Keš karakteristike

Elementi koji služe za klasifikovanje i razlikovanje keša su:


- Keš adrese (logičke i fizičke)
- Veličina keša
- Funkcije preslikavanja (direktno, asocijativno, poluasocijativno)
- Algoritmi zamjene (posljednji korišten – LRU, prvi ušao prvi izašao – FIFO, najmanje
korišten – LFU, slučajni)
- Načini upisa (write through, write back, write once)
- Veličina linije
- Broj keševa (jedan ili dva nivoa, ujedinjeni ili razdvojeni)

Keš u više nivoa

17
Povećanje gustine elemenata omogućilo je da keš i procesor budu na istom čipu. Keš na čipu smanjuje
procesorsku vanjsku sabirnicu. Zato se ubrzava izvršenje i povećavaju performanse sistema. Zbog
kraćih podatkovnih putanja unutar procesora, keš-na-čipu – pristupi će se završiti znatno prije. Tokom
ovog perioda sabirnica je slobodna za podršku drugim prenosima.

Uključivanjem keša na čipu, da li je još poželjan eksterni keš? Obično, odgovor je da, i današnji
dizajni uključuju oba. Najjednostavnija organizacija je keš u dva nivoa:
- Unutrašnji keš dizajniran kao nivo 1 (L1),
- Vanjski kao nivo2 (L2).

Zašto uključiti L2: Ako ga nema, CPU može tražiti lokaciju koja nije u L1, onda procesor mora
pristupiti memoriji preko sabirnice. Zbog male brzine sabirnice i dužeg vremena memorijskog
pristupa, rezultat su slabe performanse. Ako se koristi L2 SRAM (statički RAM) keš, onda često
informacije koje nedostaju mogu biti brzo dobavljene.
Svojstva savremenog višeslojnog keša su:
1. Za L2 koji nije na čipu, ne koristi se sistemska sabirnica kao putanju za prenos između L2 i
procesora. Koristi se posebna podatkovna putanja (smanjenje opterećenja sistemske sabirnice)
2. Stalnim smanjivanjem procesorskih komponenti, brojni su procesori sa ugrađenim L2 kešom na
procesorskom čipu, čime se poboljšavaju performanse.
Uštede zbog korištenja L2 zavise od stope pogodaka L1 i L2. Studije su pokazale korištenje L2
poboljšava performanse. Ali, korištenje višeslojnih keševa usložnjava projektovanje kod većine
današnjih CPU L2 je na čipu i dodan je L3. Izvorno, L3 kešu se pristupalo preko eksterne sabirnice. U
novije vrijeme, većina CPU ima ugrađen L3 na čipu. U oba slučaja, pojavljuju se poboljšanja
performansi zbog dodavanja trećeg nivoa.

Ujedinjeni vs. razdvojeni keš

Prvi keš na čipu: za pohranjivanje podatkovnih i instrukcijskih referenci. Danas, razdvajanje keša na
dva: za instrukcije i za podatke. Oba se nalaze na istom nivou, obično kao dva L1 keša.
Dvije su potencijalne dobre stvari ujedinjenog keša:
1. Ujedinjeni ima veću stopu pogotka jer uravnotežuje instrukcijska i podatkovna dobavljanja.
2. Treba samo projektovati i implementirati jedan keš.
Ključna prednost razdvojenog keša:eliminiše trku za kešom između jedinice za
dobavljanje/dekodiranje i izvršne.
Ovo je važno za instrukcijski pipelining. Procesor prvo dobavlja instrukcije i puni bafer ili pipeline.
Pretpostavimo da imamo ujedinjeni keš. Kada izvršna jedinica izvodi pristup memoriji zbog
učitavanja i pohrane podataka, zahtjev se podnosi ujedinjenom kešu.
Ako, u isto vrijeme, instrukcijski pretprihvatnik zatraži učitavanje instrukcije u keš, zahtjev će biti
privremeno blokiran tako da keš prvo uslužuje izvršnu jedinicu, omogućavajući joj završavanje

18
trenutne instrukcije koja se. Ovakva „keš-svađa“ može smanjiti performanse uplitanjem u efikasno
korištenje instrukcijskog pipeline-a. Razdvojeni keš prevazilazi ovu poteškoću.

Organizacija unutrašnje memorije

Osnova poluprovodničke memorije je memorijska ćelija. Poluprovodničke memorijske ćelije imaju


zajednička svojstva:
1. Imaju dva (polu)stabilna stanja, koja se koriste za predstavljanje binarnih 1 i 0.
2. Za postavljanje stanja u njih se, bar jednom, može upisivati.
3. Iz njih se može čitati s obzirom na stanje (0 ili 1).

Najčešće, ćelija ima tri izvoda koja prenose električni signal. Izborni izvod bira memorijsku ćeliju za
čitanje/pisanje. Kontrolni izvod ukazuje na čitanje ili pisanje:
1. Upis, drugi izvod daje signal koji postavlja stanje 0 ili 1
2. Čitanje, taj izvod se koristi za izlaz stanja ćelije.

DRAM i SRAM

Glavni tipovi poluprovodničke memorije:


1. RAM (Random Acces Memory)
2. ROM (Read Only Memory)
3. PROM (Programmable ROM)
4. EPROM (Erasable PROM)
5. EEPROM (Electrically Erasable PROM)
6. Flash
Najčešća je memorija sa direktnim pristupom (random-access memory – RAM). Šta je memorija sa
direktnim pristupom? Direktno pristupanje pojedinačnim riječima u memoriji preko žičane logike
adresiranja. Ovo je zloupotreba termina jer svi tipovi u tabeli su sa direktnim pristupom. Karakteristike
koja RAM razdvaja od drugih:
- Moguće veoma jednostavno i brzo izvršiti njeno čitanje i pisanje, što se postiže korištenjem
električnih signala.
- Nepostojanost: RAM mora imati stalno napajanje strujom. Ako se struja isključi, gube se
podaci. Zato se RAM koristi za privremeno pohranjivanje.
RAM tehnologija: dinamička i statička. DRAM sadrži ćelije koje pohranjuju podatke kao
kondenzatorske naboje. Prisustvo (odsustvo) naboja u kondenzatoru se tumači kao binarna 1 (0). Pošto
kondenzator ima prirodno svojstvo pražnjenja, dinamički RAM-ovi zahtijevaju periodično

19
osvježavanje radi održanja pohranjenih podataka. Dinamički se odnosi na sklonost curenja
pohranjenog naboja, čak i kad je struja uključena.

Tranzistor radi kao prekidač:


1. Napon na adresnoj liniji – prekidač zatvoren (struja teče)
2. Napona na adresnoj liniji nema – prekidač otvoren (nema struje).

- Operacija upisa: Linija bita je priključena na napon: visoki napon - 1, a niski - 0. Onda se
signal postavlja na adresnu liniju, dopuštajući punjenje kondenzatora.
- Operacija čitanja: Odabirom adresne linije, tranzistor se uključuje, i prazni se kondenzator.
Njegov naboj izlazi na liniju bita na odgovarajuće pojačalo. Pojačalo upoređuje napon
kondenzatora sa referentnom vrijednošću kako bi odredio da li ćelija sadrži 1 ili 0. Čitanje iz
ćelije prazni kondenzator, pa se on mora ponovo napuniti kako bi se operacija završila.

DRAM ćelija osnovi je analogni uređaj. Kondenzator može primiti bilo koji naboj iz datog raspona.
Njegova veličina određuje da li se radi o 1 ili 0. Statički RAM (SRAM) je digitalni uređaj koristi iste
logičke elemente kao procesor. Binarne vrijednosti se pohranjuju koristeći obične flip-flop
konfiguracije logičkih vrata. Drži podatke dok je struja uključena.

Oba stanja su stabilna dok je uključen istosmjerni napon. Krugovi na vrhu T3 i T4 ukazuju na negaciju
signala. Adresna linija se koristi za otvaranje ili zatvaranje prekidača.
Ona kontroliše dva tranzistora (T5 i T6): Signal na liniji – tranzistori se uključuju (čitanje/pisanje).
Operacija pisanja: Željena vrijednost bita se primjenjuje na B. Njen se komplement primjenjuje na
liniju negirano B- Ovo tjera T1 , T2 , T3 , T4 u odgovarajuće stanje.
Zaključak:
- DRAM i SRAM su nestalni- Mora postojati stalan napon struje da bi se sačuvali bitova.
- DRAM ćelija je jednostavnija i manja. Zato je DRAM gušći (više ćelija po jedinice površine) i
jeftiniji.
- DRAM zahtijeva osvježavanje kola. Za veće memorije, troškovi osvježavanja se
kompenziraju razlikom između cijene DRAM i SRAM ćelija. Zato, DRAM ima prednost kod
većih memorijskih zahtjeva.
Generalno, SRAM-ovi su nešto brži. Zato se SRAM koristi za keš, DRAM za glavnu memoriju.

ROM (Read-only memory)

ROM (read-only memory) sadrži podatke koji se ne mijenjaju. ROM je stabilan (što znači da se podaci
ne gube prekidom napajanja struje). Iz njega je moguće čitati, nije moguće upisivati nove podatke.
Važna primjena je mikroprogramiranje.

20
Pored toga moguća upotreba je:
- Bibliotečni potprogrami za često tražene funkcije
- Sistemski programi
- Funkcionalne tabele.

Za skromnije zahtjeve, prednost - što su podaci/programi stalno u glavnoj memoriji i nema potrebe za
učitavanjem sa sekundarnog uređaja. ROM se izrađuje kao bilo koji drugi integrisani čip, sa podacima
ugrađenim u čip kao dio proizvodnog procesa. Zbog toga se javljaju dva problema:
1. Učitavanje podataka iziskuje relativno visok fiksni trošak, bez obzira da li se proizvodi jedna ili
hiljade kopija
2. Ne smije se napraviti greška. Ako je samo jedan bit neispravan, cijela serija se mora baciti.
Ako je potrebno manje ROM-ova određenog sadržaja, PROM je jeftinija varijanta (programmable
ROM). PROM je stabilan i u njega se upisuje samo jednom. Proces upisivanja se vrši električnim
putem, a upisivanje vrši isporučilac ili korisnik. Potrebna je posebna oprema za upisivanje
(programiranje). Obezbjeđuje fleksibilnost i podesnost.
Optički (erasable programmable read-only memory-EPROM) se čita ili piše električnim putem. Prije
operacije upisa, sve ćelije moraju biti izbrisane na isto početno stanje izlaganjem čipa ultraljubičastom
zračenju. Brisanje se obavlja osvjetljavanjem ultraljubičastom svjetlošću kroz prozor koji je ugrađen
na čipu. Postupak se može ponoviti. Za brisanje treba do 20 minuta. Zato, se njegov sadržaj može
mijenjati više puta praktički neograničeno drži podatke. EPROM je skuplji od PROM-a, ali prednost je
što se njegov sadržaj može mijenjati.
Electrically erasable programmable read-only memory EEPROM: Može se upisivati u bilo kojem
trenutku bez prethodnog brisanja sadržaja, samo se ažuriraju bajtovi na koje se promjena odnosi.
Upisivanje znatno duže od čitanja (nekoliko stotina μs/B). Udružuje prednost postojanosti sa
fleksibilnošću lokalnog ažuriranja koristeći običnu kontrolnu sabirnicu, adresne i podatkovne linije.
Skuplji od EPROM-a i ima manju gustinu, podržavajući manje bitova po čipu.
Fleš memorija je oblik poluprovodničke memorije. Ime je dobila zbog brzine kojom se reprogramira.
Prvi put se pojavljuje sredinom 1980-tih, međukorak između EPROM i EEPROM (cijenom i
funkcijom). Kao EEPROM, fleš koristi električnu tehnologiju brisanja. Cijela fleš memorija može biti
izbrisana za nekoliko sekundi, moguće je izbrisati neke blokove, ne mora čitav sadržaj. Ime je dobila =
odjeljak ćelija se briše jednom aktivnošću ili „bljeskom“. Međutim, ne podržava brisanje na nivou
bajta.

21
Sadržaj

Struktura i funkcija procesora............................................................................................................1


Kontrolna jedinica................................................................................................................................7
Memorija.............................................................................................................................................13
Keš memorija......................................................................................................................................17

22

You might also like