Professional Documents
Culture Documents
Arhitektura Računara II Parcijala 2
Arhitektura Računara II Parcijala 2
RAČUNARA
Struktura i funkcija procesora
Organizacija procesora
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.
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.
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
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?
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
6
Kontrolna jedinica
Mikrooperacije
Ciklus učitavanja
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.
- Treći korak: premještanje sadržaja MBR-a u IR. MBR se oslobađa zbog mogućeg indirektnog
ciklusa.
8
Indirektni cklus
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:
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:
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.
Kontrolni signali
11
- Kontrolni signali ka kontrolnoj sabirnici: dva tipa: kontrolni signali ka memoriji, i kontrolni
signali ka I/O modulima.
12
Memorija
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.
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
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
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.
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
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.
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.
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
19
osvježavanje radi održanja pohranjenih podataka. Dinamički se odnosi na sklonost curenja
pohranjenog naboja, čak i kad je struja uključena.
- 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) 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
22