You are on page 1of 76

Memorijski sistem

Vladimir Filipovi
vladaf@matf.bg.ac.yu
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
2/76

Osnovni pojmovi
Programi i podaci nad kojima se radi se uvaju u memoriji raunara.
U idealnom sluaju, memorija bi bila brza, velika i jeftina. Na nesreu, nemogue je
simultano ispuniti sva tri ova zahteva. U proteklim decenijama, mnogo rada je
uloeno u razvoj pametnih struktura koje poboljati brzinu i kapacitet memorije,
a ipak cenu memorije ostaviti na razumnoj meri.
Prvo emo opisati najuobiajenije komponente i organizovanja koja se koriste u
implementiranju memorije. Potom emo ispitati brzinu memorije i razmotriti
kako se brzina memorije moe poveati korienjem kea. Zatim predstavljamo
koncept virtuelne memorije koji na izgled uveava veliinu memorije. Na kraju,
razmatramo i ureaje za sekundarnu memoriju, koji omoguuju mnogo vei
kapacitet memorije.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
3/76

Osnovni pojmovi
Za svaki konkretni raunar, maksimalna veliina memorije odreena je shemom
adresiranja. Na primer, 16-bitni raunar - koji generie 16-bitne adrese je u
stanju da adresira do 216=64K memorijskih lokacija. Slino tome, raunari ije
instrukcije generiu 32-bitne adrese mogu koristiti memoriju koja sadri do 4G
memorijskih lokacija, dok raunari sa 40-bitnim adresama mogu pristupiti do 1T
lokacija. Broj lokacija predstavlja veliinu adresnog prostora raunara.
Najvei broj modernih raunara ima bajt-adresibilnu memoriju. Sledei dijagram
pokazuje mogua postavljanja adresa kod bajt-adresibilnog 32-bitnog
raunara.

68000 big endian


Intel little endian
ARM oboje, po potrebi
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
4/76

Osnovni pojmovi
Memorija se obino dizajnira tako da se podaci dobijaju i uvaju u bitovnim
sekvencama ija je duina u stvari duina rei. Obino se duina rei kod
raunara definie kao broj bitova kojima se pristupa ili koji bivaju sauvani
tokom jednog pristupa memoriji.
Razmotrimo na primer bajt-adresabilni raunar ije instrukcije generiu 32-bitne
adrese. Kada je 32-bitna adresa poslata od strane procesora memorijskoj
jedinici, viih 30 bitova odreuje kojoj rei e se pristupiti. Ako je specificirano
da se radi s bitovima, tada dva bita najmanje teine u adresi specificiraju koji e
bajt biti ukljuen. Ako se radi o operaciji itanja bajta, mogu se dohvatiti i drugi
bajtovi prilikom itanja memorije, ali njih e procesor ignorisati. Meutim, ako se
radi o operaciji upisa, memorijska kontrolna kola moraju obezbediti da sadraj
ostalih bitova te iste rei nije promenjen.
Moderne implementacije memorije raunara su veoma kompleksne i teke za
shvatanje pri prvom upoznavanju. Da bi uprostili uvod u memorijske strukture,
prvo e biti predstavljena tradicionalna arhitektura.
Sa take gledita sistema, memorija se moe posmatrati kao crna kutija. Prenos
podataka izmeu memorije i procesora se realizuje korienjem registara MAR i
MDR. Ako je MAR duine k, a MDR duine n, to znai da ima 2k memorijskih
lokacija, a da se u svakom ciklusu memorije prenese n bitova.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
5/76

Osnovni pojmovi

Veza izmeu memorije i procesora


Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
6/76

Osnovni pojmovi
U ovom sluaju, prenos se izvrava kroz magistralu procesora, koja sadri k
adresnih linija i n linija podataka. Magistrala takoe sadri i kontrolne linije,
itaj/ne pii tj. R/W i memorijska funkcija zavrena tj. MFC, radi koordinacije
prenosa. Pored ovih, mogu biti dodate i druge linije koje indiciraju koliko se
bitova prenosi.
Ako operacije itanja ili upisa pogaaju uzastopne memorijske lokacije, tada se
moe izvravati blokovski transfer, pa se memoriji alje samo adresa prve
lokacije bloka. Znaaj ovakve vrste prenosa je detaljnije objanjen pri opisu
keiranja.
Pristup memoriji moe biti sinhronizovan korienjem asovnika, ili moe biti
kontrolisan korienjem specijalnih signala koji kontroliu prenos na magistrali,
korienjem prethodno opisanih signalnih shema magistrale.
Korisna mera za brzinu memorijske jedinice je vreme koje je proteklo izmeu
iniciranja operacije i njenog zavretka tj. vreme izmeu signala R/W i MFC. Ta
veliina se naziva vreme memorijskog pristupa.
Druga vana mera je vreme memorijskog ciklusa, to predstavlja minimalno
vremensko kanjenje izmeu dve uzastopne operacije itanja memorije. Ova
druga veliina je obino malo dua od prve.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
7/76

Osnovni pojmovi
Memorijska jedinica se naziva memorija sa direktnim pristupom (RAM) ukoliko se
ma kojoj lokaciji moe pristupiti radi itanja ili upisa tokom nekog fiksnog
vremenskog intervala i ako duina tog intervala ne zavisi od adrese lokacije.
Ovom definicijom se pravi razlika izmeu ovakve memorije i serijskih ili polu
serijskih memorijskih ureaja, kod kojih vreme pristupa memoriji zavisi od
adrese, odnosno pozicije podataka.
Osnovna tehnologija za implementaciju memorije koristi poluprovodnika integralna
kola. Dostupna poluprovodnika integralna kola imaju irok opseg brzina:
vreme memorijskog ciklusa im se kree od 100ns do ispod 10ns. Kada su se
pojavila, krajem 60-tih, ona su bila skuplja od memorije sa feromagnetnim
jezgrom koja se dotada koristila. Zbog brzog razvoja VLSI tehnologije, cena
poluprovodnikih ureaja je dramatino opala, pa se sada ovakvi ureaji skoro
svuda koriste za implementaciju memorije.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
8/76

Unutranja organizacija memorijskih


ipova
Memorijske elije su obino organizovane u formi niza, u kome je svaka elija
sposobna da uva jedan bit informacija. Dijagram na sledeem slajdu ilustruje
jednu moguu organizaciju.
Svaka vrsta elija konstituie jednu memorijsku re, pa su elije u vrsti povezane na
zajedniku liniju, tzv. liniju rei, koju aktivira elektronsko kolo dekoder adrese na
memorijskom ipu. Sve elije u datoj koloni su povezane na logiko kolo
Sense/Write preko dve linije bita. Logika kola Sense/Write su povezana na
ulazno-izlazne linije za podatke koje se nalaze na ipu. Tokom itanja,
Sense/Write kola oslukuju informacije koje su smetene u elijama za koje je
aktivirana linija rei i prenose te informacije do izlaznih linija podataka. Tokom
operacije pisanja, ova kola prihvataju informacije sa ulaza i smetaju ih u elije
izabrane rei.
Dijagram sa sledeeg slajda predstavlja primer veoma malog memorijskog ipa koji
se sastoji od 16 rei, a svaka re od 8 bitova. To se oznaava kao organizacija
16x8.
Ulazne i izlazne linije svakog Sense/Write kola su povezane sa jedinstvenom
dvosmernom linijom koja se moe povezati na magistralu podataka raunara.
Kontrolna linija R/W spsecificira zahtevanu operaciju, a ulaz CS (chip selected)
bira dati ip u memorijskom sistemu sa vie ipova.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
9/76

Unutranja organizacija memorijskih


ipova

Organizacija bitovnih elija na memorijskom ipu


Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
10/76

Unutranja organizacija memorijskih


ipova
Memorijsko kolo opisano u prethodnom dijagramu uva 128 bitova i zahteva 14
spoljanjih konekcija za adrese, podatke i kontrolne linije. Naravno, potrebne su
i dve linije za struju i uzemljenje.
Razmotrimo sada neto vee memorijsko kolo, ono koje sadri 1K memorijskih
elija. To kolo moe biti organizovano kao 128x8 memorija i tada zahteva
ukupno 19 spoljanjih konekcija. Alternativno, isti broj elija moe biti
organizovan u formatu 1Kx1. U tom sluaju, potrebna je desetobitna adresa, ali
samo jedna linija za podatke, to rezultuje sa 15 spoljanjih konekcija. Takva
organizacija je prikazana dijagramom na sledeem slajdu. Zahtevana
desetobitna adresa je podeljena u dve grupe od po 5 bitova, gde jedna formira
adresu vrste, a druga adresu kolone. Adresa vrste bira vrstu od 32 elije, gde
se svima njima pristupa paralelno. Meutim, u skladu sa adresom kolone, samo
jedna od ovih elija biva povezana na spoljanju liniju podataka preko izlaznog
multipleksera i ulaznog demultipleksera.
Komercijalni memorijski ipovi sadre mnogo vei broj memorijskih elija nego to je
to sluaj u prethodnim primerima. Veliki ipovi sutinski imaju istu organizaciju,
samo to koriste veu matricu memorijskih elija i imaju vie spoljanjih
konekcija. Na primer, 4M ip moe imati organizaciju 512Kx8, u kom sluaju je
potrebno 19 adresa i 8 ulazno-izlaznih pinova za podatke.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
11/76

Unutranja organizacija memorijskih


ipova

Organizacija memorijskog ipa 1K x 1


Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
12/76

Statike memorije
Memorije koje se sastoje od logikih kola sposobnih da zadre svoje stanje dok god
ima struje se nazivaju statike memorije. Sledei dijagram ilustruje kako moe
biti implementirana statika RAM (tj. SRAM) elija. Dva invertora su unakrsno
povezani i formiraju bravu (latch). Brava je dvema bitovnim linijama povezana
sa tranzistorima T1 i T2. Ovi tranzistori se ponaaju kao prekidai koji mogu biti
otvoreni ili zatvoreni pod kontrolom linije rei. Kad je linija rei na nivou
uzemljenja, tranzistori su iskljueni i brava zadrava svoje stanje.

Statika RAM memorijska elija


Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
13/76

Statike memorije
Operacija itanja
Da bi se proitalo stanje SRAM elije, linija rei se aktivira kako bi zatvorila
prekidae T1 i T2. Ako je elija u stanju 1, signal na liniji b je visok i signal na
liniji b je nizak. U sluaju kada je elija u stanju 0, deava se suprotno. Stoga b
i b su komplementarne jedna drugoj. Logika kola Sense/Write na kraju linije
bitova nadgledaju stanja b i b i postavljaju izlaz na odgovarajui nain.

Operacija upisa
Stanje elije se postavlja tako to se odgovarajua vrednost postavi na bit liniju b, a
njen komplement na liniju b, a potom se aktivira linija rei. Ovo prebacuje eliju
u odgovarajue stanje. Zahtevane signale na bitovnim linijama su generisane
od strane Sense/Write logikih kola.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
14/76

CMOS elije
Dijagram koji sledi predstavlja CMOS realizaciju elije sa prethodnog dijagrama.
Parovi tranzistora T3 i T5, odnosno T4 i T6 formiraju invertore u bravi. Stanje
elije se ita ili upisuje na prethodno opisan nain.
Nivo napona Vsupply je 5V kod starijih CMOS SRAM-ova ili 3.3V kod novijih verzija
nie voltae. Uoavamo da je potreba neprekidan tok struje da bi elija
zadrala stanje ako se struja prekine, sadraj elije e se izgubiti. Dakle,
SRAM je ranjiva memorija.
Glavna prednost CMOS SRAM je veoma mala potronja, zato to tok struje u eliji
postoji samo kada se pristupa eliji.
CMOS SRAM je vrlo brz reda nekoliko ns.

Primer CMOS memorijske elije


Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
15/76

Asinhroni DRAM
Statiki RAM je brz, ali skup jer jedna njegova elija zahteva nekoliko tranzistora.
Ako bi se koristile jednostavnije elije, mogao bi se implementirati jeftiniji RAM.
Meutim, takav RAM nije u stanju da neogranieno dugo zadrava svoje stanje.
Stoga se on zove Dinamiki RAM (DRAM).
Informacija se uva u dinamikoj memorijskoj eliji u obliku struje u kondenzatoru, i
ta struja moe biti odravana samo tokom desetak milisekundi. Stoga njen
sadraj mora biti periodino osveavan, tako to se kapacitet kondenzatora
restaurie do njegove pune vrednosti.
Sledei dijagram predstavlja primer dinamike memorije. Da bi se smestila
informacija u ovu eliju, ukljuuje se tranzistor T i kroz bitovnu liniju se puta
odgovarajua voltaa, ime se puni kondenzator.

Dinamika memorijska elija


od jednog tranzistora
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
16/76

Asinhroni DRAM
Po iskljuenju tranzistora, kondenzator poinje da se prazni. Ovo je prouzrokovano
smanjenjem otpornosti kod samog kondenzatora i injenicom da tranzistor, ak
i kada je iskljuen, nastavlja da provodi malu koliinu struje. Stoga, informacija
koja je smetena u eliju moe da se korektno ita samo ako je oitana pre
nego to se struja u kondenzatoru spusti ispod neke granine vrednosti.
Tokom operacije itanja, tranzistor u izabranoj eliji biva ukljuen. Oslukiva
povezan na liniju bita detektuje da li je nivo struje u kondenzatoru iznad
granine vrednosti. Ako jeste, on dovodi liniju bita na puni napon, koji predtavlja
jedinicu. Ovaj napon ponovo puni kondenzator, tako da on predstavlja logiku
jedinicu. Ako oslukiva detektuje da je nivo u kondenzatoru ispod granine
vrednosti, on sputa nivo napona na liniji bita na nulti nivo, to prazni
kondenzator, a to predstavlja logiku nulu. Na ovaj nain, itanjem sadraja taj
sadraj automatski biva osveen. Sve elije u izabranoj vrsti se itaju
istovremeno, i sadraj cele vrste biva osveen.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
17/76

Asinhroni DRAM
Dijagram na sledeem slajdu prikazuje 16M bitni DRAM ip, konfigurisan kao 2Mx8.
elije su organizovane kao matrica 4Kx4K. 4096 elija u svakoj od vrsta su
podeljene u 512 grupa po 8, tako da svaka vrsta moe da uva 512 bajtova
podataka. Dakle, 12 linija je potrebno za izbor vrste. Nadalje, potrebno je jo 9
bitova da bi se specificirala grupa od 8 bitova u izabranoj vrsti. Prema tome,
potrebna je 21-bitna adresa za pristup bajtu u memoriji. Viih 12 bitova i niih 9
bitova predstavljae adresu vrste i adresu kolone za traeni bajt.
Tokom operacije itanja ili upisa, prvo se radi sa adresom vrste. Ona se, kao odgovor
na ulazni signalni puls RAS (Row Access Strobe) sa ipa, uita u bravu za adresu
vrste. Potom se inicira operacija itanja, pri emu se sve elije u izabranoj vrsti
proitaju i osvee. Kratko po uitavanju adrese vrste, u bravu za adresu kolone su
uita adresa kolone to je aktivirano kontrolnim signalom CAS (Column Access
Strobe) sa ipa. Potom se dekodira informacija iz ove brave i aktivira se izabrana
grupa od 8 Sense/Write elektronskih kola. Ako signal R/W ukazuje na operaciju
itanja, izlazne vrednosti izabranih kola se prenose na linije podataka D7-0. Za
operaciju pisanja, informacije sa linija D7-0 se prenose u izabrana kola, a potom se
te informacije koriste kako bi pregazile sadraj izabranih elija u 8 odgovarajuih
kolona. Signali RAS i CAS u komercijalnim procesorima imaju invertovanu shemu
reprezentacije RAS i CAS.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
18/76

Asinhroni DRAM

Interna organizacija dinamiki memorijski ip 2M x 8


Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
19/76

Asinhroni DRAM
Postavljanje adrese vrste dovodi do toga da sve elije u odgovarajuem redu budu
proitane i osveene i tokom itanja i tokom upisa. Da bi obezbedili da sadraj
DRAM bude korektan, svakoj vrsti se mora periodino pristupati. Kola za
osveavanje se obino koriste u tu svrhu. Mnogi DRAM ipovi u okviru sebe ve
sadre komponente za osveavanje i dinamika priroda takvih ipova biva skoro
nevidljiva korisniku.
Kod prethodno opisanog DRAM-a, vremenski sled za ovaj memorijski ureaj je
asinhrono kontrolisan, a vremenima upravljaju signali RAS i CAS, koje
obezbeuje specijalizovani kontroler memorije. Ovakva memorija se zato esto
oznaava kao asinhroni DRAM.
DRAM se iroko koristi zato to obezbeuje veliku gustinu podataka i nisku cenu.

Mod brzih stranica


Jednostavnom modifikacijom ipa opisanog prethodnim dijagramom, moe se postii
da se pristupa i drugim bitovima u vrsti, bez potrebe da se ponovo vri selekcija
vrste. Na izlaz oslukivaa kod svake kolone moe da se doda brava. Sada se,
prilikom primene adrese vrste, novododate brave napune sadrajem bitova
izabrane vrste. Potom samo treba postavljati razliite adrese kolona kako bi se
dobili razliiti podaci u linijama podataka.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
20/76

Asinhroni DRAM
Kod ovih DRAM, uobiajen period za osveavanje svih vrsta je 16ms.
Najkorisnija primena moda brzih stranica je prenos bajtova u sekvencijalnom
redosledu, koji se postie primenom sekvence uzastopnih adresa kolona, pod
kontrolom sukcesivnih CAS signala. Ova shema omoguuje prenos bloka
podataka mnogo veom brzinom nego to bi se postiglo kod sluajnih adresa.
Sposobnost blokovskog transfera se jo naziva i karakteristika moda brzih
stranica. (U argonu se manja grupa bitova esto naziva blok, a vea grupa kao
stranica).
Vea brzina blokovskog transfera moe biti eksploatisana u aplikacijama u kojim
memorijski pristup prati regularne obrasce, kao to je to sluaj kod grafikih
terminala. Ova karakteristika je takoe korisna i kod raunara opte namene pri
prenosu blokova podataka izmeu glavne memorije i kea, o emu e kasnije biti
vie rei.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
21/76

Sinhronizovani DRAM
Noviji tehnoloki razvoj kod memorije je doveo do kreiranja DRAM-ova iji je rad
direktno sinhronizovan sa signalom asovnika sistemske magistrale. Takve
memorije su poznate kao sinhronizovani DRAM, tj. SDRAM. Dijagram na
sledeem slajdu ukazuje na strukturu SDRAM-a.
Matrica elija je ista kao kod asinhronog DRAM-a. Adresne konekcije i konekcije
podataka su baferisane korienjem registara. Naroito istiemo da je izlaz
svakog oslukivaa povezan na bravu. Operacija itanja dovodi do toga da
sadraj svih elija u izabranoj vrsti bude uitan u te brave. Ali, ako se pristup vri
samo radi osveavanja, nee se menjati sadraj tih brava; iskljuivo e se
osveavati sadraj elija. Podaci koji se uvaju u bravama koje odgovaraju
izabranoj koloni se prenose u registar za izlaz podataka i tako bivaju dostupni na
izlaznim pinovima za podatke.
SDRAM ima nekoliko razliitih modova rada, koji se mogu izabrati upisom kontrolne
informacije u registar modova. Na primer, mogu se specificirati rafalne operacije
razliite duine. Rafalna operacija koristi blokovski transfer i mod brzih stranica.
Pri tome, kod SDRAM nije potrebno obezbeivati spolja generisani puls na CAS
liniju za izbor uzastopnih kolona. Potrebni kontrolni signali se obezbeuju interno,
korienjem brojaa kolona i signala asovnika, pa se novi podaci smetaju na
liniju za podatke pri svakom ciklusu asovnika (sinhronizovano na podignutu ivicu
asovnika) .
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
22/76

Sinhronizovani DRAM

Sinhroni DRAM
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
23/76

Sinhronizovani DRAM
Dijagram na sledeem slajdu prikazuje vremensku shemu za tipino rafalno itanje
duine 4. Prvo se adresa vrste smesti u brave, pod kontrolom signala RAS.
Memoriji obino treba 2 do 3 ciklusa (na dijagramu su prikazana 2 ciklusa) da bi
se aktivirala izabrana vrsta. Potom se adresa kolone smesti u odgovarajue
brave, pod kontrolom CAS signala. Posle kanjenja od koje traje jedan ciklus
asovnika, prvi skup bitova podataka biva smeten na linije za podatke. SDRAM
automatski uveava adresu kolone, kako bi pristupio sledeim trima skupovima
bitova u izabranoj vrsti, i ti skupovi bitova se smetaju na linije podataka u sledea
tri ciklusa asovnika.
SDRAM poseduje ugraena kola za osveavanje. Deo kola za osveavanje je i broja
osveavanja, koji obezbeuje adrese za vrste koje su izabrane za osveavanje. U
tipinoj SDRAM memoriji, svaka vrsta mora biti osveena najdue u svakih 64 ms.
Komercijalni SDRAM radi na brzini od preko 100MHz. SDRAM ipovi su dizajnirani
tako da ispune zahteva komercijalno dostupnih iroko korienih procesora. Na
primer, Intel je definisao specifikacije sistemske magistrale (na koju se povezuje
memorija) PC100 i PC133 koje su kontrolisane od strane asovnika sa
frekvencijom 100MHz i 133MHz respektivno. Stoga, glavni proizvoai
memorijskih ipova proizvode 100MHz i 133MHz SDRAM ipove.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
24/76

Sinhronizovani DRAM

Rafalno itanje duine 4 u SDRAM-u


Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
25/76

Sinhronizovani DRAM
Kanjenje i propusni opseg
Termin memorijsko kanjenje se koristi da bi oznaio koliinu vremena koja je
potrebna za prenos jedne rei podataka u/iz memorije. U sluaju itanja ili upisa
jedne rei podataka, kanjenje obezbeuje kompletnu indikaciju memorijskih
performansi.
Kod rafalnih operacija, gde se prenose blokovo podataka, vreme potrebno za
zavretak operacije jo zavisi i od brzine kojom se mogu prenositi uzastopne rei,
kao i od veliine bloka. U tom sluaju termin kanjenje se koristi radi oznaavanja
vremena potrebnog za prenos prvog bloka podataka a to vreme je obino due
od vremena potrebnog za prenos podataka koji slede (to se moe videti i sa
prethodnog dijagrama).
Pri merenju brzine prenosa podataka, dobro je znati i koliko je vremena potrebno za
prenos celog bloka. Kako veliina blokova moe varirati, korisno je da se definie
mera performansi kao broj bitova koji mogu biti preneseni u jednoj sekundi. Ta
mera se esto oznaava kao propusni opseg memorije. Na njega utie brzina
prenosa i broj bitova kojima se moe pristupiti paralelno.Efektivni propusni opseg
raunarskog sistema (to ukljuuje prenos podataka izmeu memorije i
procesora) ne zavisi samo od memorije on zavisi i od mogunosti za prenos
veza koje povezuju memoriju i procesor, to se obino svede na brzinu
magistrale.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
26/76

Sinhronizovani DRAM
SDRAM sa dvostrukom brzinom
Standardni SDRAM izvrava sve operacije na podiuoj ivici signala asovnika.
Kreiran je i slian ureaj, koji pristupa matrici elija na isti nain, ali prenosi
podatke na obema ivicama signala: podiuoj i padajuoj. Kanjenje ovog ureaja
je isto kao kod standardnog SDRAM. Ali, budui da on prenos podatke na obema
ivicama, to je njegov propusni opseg dupliran u sluaju rafalnih prenosa.
Takav ureaj se naziva SDRAM sa dvostrukom brzinom, (Double Data Rate SDRAM -
DDR SDRAM).
Da bi se omoguilo da se podacima pristupi dovoljno velikom brzinom, matrica elija
se organizuje u dve banke. Svakoj banci se odvojeno pristupa. Uzastopne rei
datog bloka se smetaju u razliitim bankama. Takvo preplitanje rei doputa
simultani pristup dvema reima koje se prenose na uzastopnim ivicama
asovnika, to e kasnije biti detaljnije opisano.
DDRSDRAM i standardni SDRAM su najefikasnije korieni u aplikacijama gde
dominira blokovski prenos, a to je sluaj i sa raunarima opte namene.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
27/76

Struktura veih memorija


Do sada smo posmatrali osnovnu organizaciju memorijskih kola, kao da e se ona
implementirati na jednom ipu. Sada emo ispitati kako se ipovi mogu povezati
da bi oformili mnogo veu memoriju.
Sistemi sa statikom memorijom
Razmotrimo memorijski sistem sa 2M rei duine 32 bita. Sledei dijagram pokazuje
kako se takva memorija moe implementirati korienjem 512Kx8 statikih
memorijskih ipova. Svaka od kolona na slici sadri po etiri ipa, gde jedan ip
implementira jednu bajt-pozicija. etiri takva skupa obezbeuju zahtevanu 2Mx32
memoriju. Svaki ip ima kontrolni ulaz nazvan Chip Select, tj. CS. Kada je CS
postavljeno na 1, ip je osposobljen za prijem podataka sa linije ili smetaj
podataka na liniju. Izlaz od svakog ipa je tip sa tri stanja. Stoga, samo izabrani
ip smeta podatke na izlazne linije za podatke, dok ostali smetaju na linju sa
visokom impendansom.
Da bi se izabrala 32-bitna re iz memorije, potrebna su 21 adresna bita. Dva najvia
bita adrese se dekodiraju da bi se odredilo koji se CS signal aktivira, a preostalih
19 bitova se koristi za pristup konkretnoj lokaciji unutar svakog od ipova izabrane
vrste.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
28/76

Struktura veih memorija

Organizacija memorijskih modula 2M x 32, korienjem statikih ipova 512K x 8


Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
29/76

Struktura veih memorija


Sistemi sa dinamikom memorijom
Organizacija velikih dinamikih memorijskih sistema je esencijalno ista kao na
prethodnom dijagramu. Meutim fizika implementacija je mnogo pogodnije
izvedena - u obliku memorijskih modula.
Dananja memorija je jako velika. Ako bi se jako velika memorija direktno stavila na
matinu plou, ona bi zauzela neprihvatljivo veliki deo ploe. Nadalje, bilo bi dobro
da se omogui dalje proirenje memorije u budunosti.
Ovo je dovelo do razvoja velikih memorijskih jedinica, nazvanih SIMM (Single In-Line
Memory Modul) i DIMM (Double In-Line Memory Modul).
Ti moduli predstavljaju sklop nekoliko memorijskih ipova koji se nalaze na odvojenoj
memorijskoj ploi, a ta ploa se vertikalno prikljuuje preko jedinstvenog
prikljunog sklopa (socket) na matinoj ploi. SIMM-ovi i DIMM-ovi razliitih
veliina su dizajnirani tako da koriste iste prikljune sklopove. Tako, na primer,
4Mx32, 16Mx32 i 32Mx32 soketi koriste isti 100-pinski prikljuni sklop. Slino
tome, 8Mx64, 16Mx64, 32Mx64 i 64Mx72 DIMM-ovi koriste prikljuni sklop od 168
pinova.
Ovakvi moduli zauzimaju manji prostor na matinoj ploi i olakavaju proirenje
memorije ukoliko vei modul koristi istu vrstu prikljunog sklopa koju je koristio
manji modul.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
30/76

Razmatranja memorijskih sistema


Izbor RAM ipa za datu primenu zavisi od nekoliko faktora. Najznaajniji meu ovim
faktorima su cena, brzina, troenje energije i veliina ipa.
Statiki RAM se u optem sluaju koristi samo kada je primarni zahtev koji se postavlja
pred memoriju veoma brz rad, tj. veoma brzo izvrenje operacija. Na cenu i
veliinu statikog RAM-a dominantno utie sloenost elektronskih kola kojima se
realizuje osnovna elija. Ova memorija se najee koristi u ke memorijama.
Dinamiki RAM je preovladavajui izbor za implementaciju glavne memorije raunara.
injenica da su kod ovih ipova postignute velike gustine smetaja ine da su
velike memorije oformljene na ovakav nain ekonomski veoma povoljne.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
31/76

Kontroler memorije
ipovi sa dinamikom memorijom koriste multipleksirane adresne ulaze i na taj nain
smanjuju broj pinova. U tom sluaju, adresa se deli u dva dela. Adresni bitovi
vieg reda, tj. oni bitovi koji biraju vrstu u matrici elija, se prvi obezbede i oni se
smeste u bravu memorijskog ipa pod kontrolom RAS signala. Potom se bitovi
manje teine, oni koji biraju kolonu, dovode na iste adresne pinove i smetaju se u
bravu pod kontrolom signala CAS.
Procesor obino istovremeno prosledi sve bitove adrese na adresne linije magistrale.
Zahtevano multipleksiranje adresnih bitova obino realizuju elektronska kola
kontrolera memorije, koji se postavlja izmeu procesora i dinamike memorije.

Korienje kontrolera memorije


Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
32/76

Kontroler memorije
Kontroler prihvata kompletnu adresu i signal R/W od procesora, pod kontrolom signala
Request, koji ukazuje da je potrebno izvriti memorijsku operaciju. Kontroler
potom prosleuje memoriji delove adrese koji predstavljaju vrstu i kolonu i
generie signale RAS i CAS. Na taj nain, kontroler (pored funkcije
multipleksiranja) obezbeuje RAS-CAS vremensko podeavanje signala.
Kontroler takoe i alje R/W i CS signale u memoriju. Kako je kod CS signala
aktivnost obino oznaena niskim nivoom napona, to je on na prethodnom
dijagramu oznaen sa CS. Linije za podatke direktno povezuju procesor i
memoriju. Uoavamo da je za SDRAM ipove neophodan i signal asovnika
magistrale.
Kada se radi sa DRAM ipovima koji nemaju sposobnost samoosveavanja, kontroler
memorije mora da obezbedi sve informacije potrebne za kontrolu procesa
osveavanja. U tom sluaju, kontroler sadri broja osveavanja koji prosleuje
uzastopne lokacije vrsta. Njegova funkcija je da prouzrokuje da osveavanje svih
vrsta bude zavreno tokom perioda koji je karakteristian za odreeni ureaj.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
33/76

Kanjenje zbog osveavanja


Sve dinamike memorije moraju da se osveavaju. Kod starijeg DRAM-a, uobiajen
period za osveavanje svih vrsta je bio 16 ms. Kod tipinih SDRAM-ova,
uobiajen period je 64 ms.
Razmotrimo SDRAM ije su elije organizovane u matricu sa 8K (=8192) vrste.
Pretpostavimo da su potrebna etiri ciklusa da bi se pristupilo svakoj vrsti. Stoga,
potrebno je 8192 x 4 = 32768 ciklusa kako bi se osveile sve vrste. Ako je
frekfenca asovnika 133 MHz, vreme potrebno za osveavanje svih vrsta iznosi
32768/(133x10-6) sekundi. Prema tome, osveavanje zauzima 0,246 ms u svakom
vremenskom intervalu od 64 ms. Dakle, kanjenje zbog osveavanja je
0,246/64=0,0038 to znai da se neto manje od 0,4% ukupnog vremena kada
procesor moe pristupiti memoriji troi za osveavanje memorije.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
34/76

Memorije samo za itanje


I statike i dinamike memorije su ranjive (volatile), to znai da e u sluaju nestanka
napajanja izgubiti podatke koji su smeteni u njima. Postoji mnogo primena koje
zahtevaju memorijske ureaje sposobne da zadre informacije koje uvaju i kada
nestane napajanje.
Na primer, kod tipinog raunara se koristi hard disk za smetaj velike koliine
informacija, ukljuujui i operativni sistem. Kada se ukljui raunar, operativni
sistem mora da bude uitan sa diska u memoriju. Ovo zahteva da se izvri
program koji podie operativni sistem. Kako je taj program veliki, to se njegov
najvei deo nalazi na disku. Procesor mora da izvri neke instrukcije koje
uitavaju program za podizanje u memoriju. Ako bi se cela memorija sastojala
samo od ranjivih memorijskih ipova, procesor ne bi imao naina da pristupi tim
instrukcijama. Praktino reenje je da se obezbedi mala koliina neranjive
memorije koja uva instrukcije ijim izvravanjem se program za podizanje uita
sa diska.
Neranjiva memorija se mnogo koristi u umetnutim sistemima, koji obino nemaju hard
diskove, pa su programi smeteni na neranjivu poluprovodniku memoriju.
Ova memorija moe da se ita na isti nain kao SRAM ili DRAM memorija. Meutim,
da bi se smestila informacija u memoriju, potrebno je realizovati specijalan proces
upisivanja. Kako njihovo normalno operisanje ukljuuje samo itanje smetenih
podataka, ova memorija se naziva memorija samo za itanje (ROM).
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
35/76

ROM
Dijagram jasno pokazuje moguu konfiguraciju ROM elije. Logika vrednost nula je
smetena u eliju ukoliko je na taki P tranzistor povezan sa uzemljenjem. U
suprotnom, u eliju je smetena vrednost 1. Linija bita je povezana preko
otpornika na izvor napajanja. Da bi se proitalo stanje elije, aktivira se linija rei.
Ako postoji veza sa uzemljenjem, tranzistor se zatvori i napon na liniji bita padne
blizu 0. Ako nema veze sa uzemljenjem, linija bita ostane pod visokim naponom,
to ukazuje na jedinicu. Elektronska kola za oslukivanje na kraju linije bita
generiu odgovarajui izlazni napon. Podaci se u ROM upisuju prilikom
proizvodnje.

ROM elija
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
36/76

PROM
Neke vrste ROM-a doputaju da korisnik unese podatke, i na taj nain obezbeuju
programabilni ROM (PROM). Programabilnost se postie ubacivanjem osiguraa
na taku P sa prethodnog dijagrama. Pre programiranja memorija sadri sve nule.
Korisnik moe postaviti jedinicu na konkretnu lokaciju tako to e impulsom jake
struje istopiti osigura na odgovarajuoj poziciji. Naravno, ovaj proces je
nepovratan.
PROM-ovi obezbeuju fleksibilnost i udobnost u radu koja sa ROM-ovima nije bila
dostupna. ROM je ekonomski atraktivnija opcija za smetaj fiksnih programa i
podataka u situacijama kada se proizvodi veliki broj memorijskih jedinica.
Meutim, cena pripreme maski koja su neophodne za smetaj konkretnog
obrasca informacija u ROM ini tu memoriju veoma skupom u sluaju kada je
potreban mali broj ipova. Dakle, u takvim sluajevima PROM predstavlja bri i
jeftiniji pristup, jer njega moe programirati i korisnik.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
37/76

EPROM
Druga vrsta ROM ipa doputa da smeteni podaci budu obrisani i da budu uneseni
novi podaci. Takav obrisivi, reprogramibilni ROM naziva se EPROM. On
obezbeuje poveanu fleksibilnost tokom faze razvoja digitalnog sistema. Budui
da je EPROM sposoban da tokom dugo vremena zadri informacije koje su
smetene u njega, on se tokom razvoja softvera moe koristiti umesto ROM-a. Na
ovaj nain se mogu lako vriti promene i auriranja u memoriji.
Struktura EPROM elije je slina strukturi ROM elije sa prethodnog dijagrama.
Meutim, kod EPROM elije na taki P uvek postoji uzemljenje, a koristi se
specijalni tranzistor, koji ima mogunost da radi bilo kao normalan tranzistor ili kao
onemogueni tranzistor (koji je uvek iskljuen). Ovaj specijalni tranzistor moe biti
programiran da se ponaa kao otvoreni prekida, tako to se u njega ubaci struja
koja ostaje zarobljena unutar tog tranzistora. Dakle, EPROM moe da se koristi za
konstrukciju memorije na isti nain kao i prethodno opisana ROM elija.
Vana prednost EPROM ipova je to to njihov sadraj moe biti obrisan i
reprogramiran. Brisanje zahteva rasipanje struje koja je zarobljena unutar
tranzistora; ovo se moe postii tako to se ip izloi ultraljubiastom zraenju.
Stoga se EPROM ipovi montiraju u paketima koji imaju prozirne prozore.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
38/76

EEPROM
Znaajan nedostatak EPROM-a je injenica da je za reprogramiranje ipa potrebno da
se on fiziki izvadi i izloi ultraljubiastom zraenju. Mogue je implementirati jo
jednu verziju izbrisivog PROM-a koji moe biti i programiran i izbrisan uz pomo
struje. Takvi ipovi, nazvani EEPROM-i, ne moraju da se vade da bi bili obrisani.
Nadalje, mogue je selektivno brisati sadraj pojedinih elija.
Jedina mana ove memorije u odnosu na EPROM je da su potrebni razliiti nivoi
napona za brisanje, za upis i za itanje smetenog podatka.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
39/76

Fle memorija
Pristup koji je slian kao kod EEPROM tehnologije je u poslednje vreme doveo do
pojave ureaja sa fle memorijom. Fle elija je zasnovana na jednom tranzistoru
koji kontrolie napon zarobljen u njemu, ba kao to je sluaj sa EEPROM
elijom. Dok je kod EEPROM-a mogue itati i pisati u jednu eliju, kod fle
memorije je mogue itati sadraj jedne elije, ali je samo mogue upisati ceo
blok podataka. Pre upisa podataka, dotadanji sadraj celokupnog bloka se brie.
Fle ureaji imaju veu gustinu, to dovodi do veeg kapaciteta i nie cene po bitu.
Fle ureaji troe manje struje za svoj rad.
Niska potronja struje ini ovu vrstu memorije veoma privlanom za male ureaja koji
rade na baterije. Tipina primena ukljuuje PDA-ove, mobilne telefone, digitalne
kamere i MP3 plejere. Svi prethodno pomenuti ureaji predstavljaju dobar primer
umetnutih sistema.
Jedan fle ip ne sadri dovoljno prostora za korienje u prethodno pobrojanim
situacijama, ve su nam za tu svrhu potrebni vei memorijski moduli koji se
sastoje od veeg broja ipova.
Postoje dva popularna izbora za implementaciju takvih modula: fle kartice i fle
ureaji.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
40/76

Fle kartice
Jedan nain za kreiranje veih modula je montiranje fle ipova na maloj kartici.
Takva fle kartica sadri standardni interfejs koji je ini korisnom u razliitim
proizvodima. Ona se stoga jednostavno ubaci u odgovarajui slot za pristup.
Fle kartice se proizvode u veem broju memorijskih veliina. Ako se koristi MP3
format, minut muzike zauzima otprilike 1Mb memorije. Sada je lako proceniti
koliko muzike moe da se smesti na konkretan MP3 plejer sa memorijom datog
kapaciteta.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
41/76

Fle ureaji
Razvijeni su i vei memorijski moduli kako bi zamenili hard diskove. Takvi fle ureaji
su dizajnirani tako da u potpunosti emuliraju hard diskove. Meutim, kapacitet fle
ureaja je znaajno nii.
injenica da fle ureaji nemaju pokretnih delova obezbeuje neke vane prednosti.
Ovakvi ureaji imaju kraa vremena traenja i vremena pristupa, to rezultuje
brim odgovorom. Oni imaju manju potronju struje, to ih ini pogodnim za
primenu u ureajima na baterije. Nadalje, oni su neosetljivi na vibracije.
Nedostatci u poreenju sa hard diskovima su njihov manji kapacitet i via cena po
bitu. Naime, hard diskovi imaju ekstremno nisku cenu po bitu.
Jo jedan nedostatak je to to se fle memorija kvar ako se u nju pie odreeni broj
puta. Na sreu, taj broj je veliki ne manji od milion.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
42/76

Brzina, veliina i cena


Procesor

Idealna memorija treba da bude brza,


velika i jeftina.
Iz prethodnih razmatranja je jasno da
se veoma brza memorija moe
implementirati pomou SRAM
ipova. Ali, zbog cene je
nepraktino da se velika
memorija gradi korienjem
SRAM ipova.
Alternativa je korienje dinamikih
DRAM ipova, sa jednostavnijim
osnovnim elijama, sa manjom
cenom i manjom brzinom.
Veoma veliki diskovi su dostupni po
povoljnoj ceni, i ovi se u veoma
velikoj meri koriste u raunarima.
Meutim, oni su mnogo sporiji od
poluprovodnikih memorija. Hijerarhija memorija
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
43/76

Ke memorije
Veoma je vano da se razvije shema koja smanjuje vreme potrebno procesoru za
pristup potrebnim informacijama. Kako je brzina glavne memorije ograniena
elektronskim ogranienjima i ogranienjima pakovanja, reenje je naeno u
arhitektonskim podeavanjima. To reenje je korienje brze ke memorije koja
omoguuje da procesoru glavna memorija izgleda brom nego to u stvari jeste.
Efikasnost mehanizma keiranja je zasnovana na osobini raunarskih programa koja
je nazvana lokalnost referenci. Lokalnost referenci se manifestuje u dva oblika:
vremenskom i prostornom. Prvo znai da e nedavno izvrene instrukcije vrlo
verovatno biti ponovo izvravane. Prostorna lokalnost znai da e instrukcije ije
su adrese blizu adresa nedavno izvrenih instrukcija vrlo verovatno biti ubrzo
izvravane. Lokalnost referenci se odnosi i na instrukcije i na programe nad
kojima se instrukcije izvravaju.

Korienje ke memorije
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
44/76

Ke memorije
Dakle, ako se aktivni segmenti programa mogu smestiti u brzu ke memoriju, tada se
ukupno vreme izvravanja moe znaajno skratiti.
Konceptualno, rad ke memorije je vrlo jednostavan i prikazan je na prethodnom
dijagramu.
Za referisanje na niz uzastopnih memorijskih lokacija iste veliine koristiemo termin
blok. Jo jedan termin koji se koristi za oznaavanje ovog pojma je ke linija.
Obino ke memorija moe sadravati vei broj blokova u datom trenutku, ali taj broj je
mali u odnosu na ukupan broj blokova u glavnoj memoriji. Veza izmeu blokova u
glavnoj memoriji i blokova u keu data je funkcijom mapiranja. Kada je ke pun a
referie se na memorijsku re (instrukciju ili podatak) koja nije u keu, tada
kontrolni hardver kea mora da odredi koji e blok da bude uklonjen, kako bi se
kreirao prostor za novi blok koji sadri memorijsku re na koju se referie. Skup
pravila za donoenje ove odluke oformljuje algoritam zamene.
Procesor ne mora eksplicitno da zna o postojanju kea. On samo izdaje zahteve za
itanje i za upis koji referiu na lokacije u memoriji. Kontrolna elektronska kola u
keu odreuju da li zahtevana re postoji u keu ili ne. Ako je re u keu, tada se
operacije itanja i pisanja obavljaju nad odgovarajuom lokacijom kea. U tom
sluaju, dolo je do pogotka pri itanju ili pogotka pri pisanju, zavisno od toga koja
se operacija izvrava.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
45/76

Ke memorije
Pri pogotku pri itanju, glavna memorija ne biva ukljuena u aktivnosti. Meutim, ako
se radilo o pogotku pri upisivanju, sistem moe da nastavi sa radom na dva
naina. Kod prve tehnike, nazvane protokol pii-kroz (write-through), lokacija u
ke memoriji i lokacija u glavnoj memoriji se simultano auriraju. Druga tehnika
aurira samo lokaciju u keu i oznaava je kao auriranu korienjem pridruenog
fleg-bita, nazvanog bit prljavosti ili bit modifikacije. Lokacija te rei u glavnoj
memoriji se aurira kasnije, onda kada doe do uklanjanja bloka koji sadri tu
markiranu re iz kea, kako bi se napravio prostor za novi blok. Ova druga tehnika
se naziva protokol povratnog pisanja (write-back) ili protokol povratnog kopiranja
(copy-back). Protokol pii-kroz je jednostavniji, ali on dovodi do nepotrebnih
operacija upisa u sluaju kada se podatak menja vie puta tokom boravka u keu.
Uoimo da i protoko povratnog pisanja moe dovesti do nepotrebnih upisivanja
kada se blok iz kea upisuje natrag u memoriju, upisuju se sve rei bloka, ak i u
sluaju kada je samo jedna re promenjena tokom vremena boravka tog bloka u
ke memoriji.
Kada se pri operaciji itanja referie na re koja nije u keu, dolazi do promaaja pri
itanju. Tada se blok rei koji sadri zahtevanu re kopira iz glavne memorije u
ke. Poto se ceo blok uita u ke, zahtevana re se prosleuje procesoru.
Alternativa tome je da se re poalje procesoru im bude donesena iz memorije.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
46/76

Ke memorije
Taj drugi pristup, nazvan uitaj-kroz (load-through) ili rano restartovanje u nekoj meri
smanjuje period ekanja procesora, ali po cenu izgradnje sloenijih elektronskih
kola.
Tokom operacije pisanja, ako re koja se adresira nije u keu, dolazi do promaaja pri
upisu. Tada, ako se koristi protokol pii-kroz, informacija biva upisana direktno u
memoriju. U sluaju protokola povratnog pisanja, blok koji sadri re na koju se
referie se smeta u ke i potom se u odgovarajuu re iz kea upiu nove
informacije.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
47/76

Funkcije mapiranja
Razmatramo ke koji se sastoji
od 128 blokova duine 16
rei, ukupne veliine 2048
(=2K) rei, i
pretpostavljamo da je
glavna memorija
adresibilna pomou 16-
bitnih adresa, to znai da
sadri 64K rei, koje emo
posmatrati kao 4k blokova
od 16 rei.

Direktno mapirana ke memorija


Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
48/76

Funkcije mapiranja

Asocijativno mapirana ke memorija


Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
49/76

Funkcije mapiranja

Skup-asocijativno mapirana ke memorija sa


dva bloka po skupu
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
50/76

Algoritmi zamene
U direktno mapiranom keu, pozicija svakog bloka je unapred odreena. Stoga ne
postoji strategija zamene. Kod asocijativnog i skup-asocijativnog keiranja postoji
neka fleksibilnost. Kada se novi blok treba smestiti u ke, tada ke kontroler mora
da odlui koji od starih blokova e da bude pregaen.
Ovo je vana odluka zato to u velikoj meri utie na performanse sistema. Uopteno
govorei, cilj je da se u keu zadri blok na koji e se veoma verovatno referisati u
bliskoj budunosti. Osobina lokalnosti referenci ukazuje na razumnu strategiju.
Naime, postoji velika verovatnoe da e blokovi koji su bili nedavno referisani biti
uskoro referisani ponovo. Stoga e kontroler kea uklanjati blokove koji su bili
najdavnije referisani (least reacent used) LRU.
Da bi se koristio LRU algoritam, ke kontroler mora pratiti reference na sve blokove
tokom izvravanja.
Pretpostavimo da je potrebno odreivati LRU blok u skupu od etiri bloka unutar skup-
asocijativnog kea. Za svaki blok skupa koristi se dvobitni broja. Kada doe do
pogotka, broja bloka koji je referisan se postavlja na 0. Brojai sa vrednostima
koje su originalno bile nie od referenciranog se uveavaju za 1, a sve ostale
ostaju nepromenjene. Kada doe do promaaja, a skup nije pun, broja koji je
pridruen novouitanom bloku se postavlja na 0, a vrednosti svih ostalih brojaa
se uveavaju za 1.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
51/76

Algoritmi zamene
Kada doe do promaaja, a skup jeste prazan, uklanja se blok kome je pridruen
broja sa vrednou 3, postavlja se na njegovo mesto novi blok i njegov broja se
postavlja na 0. Preostali brojai se uveavaju za 1.
LRU algoritam se najee koristi u ovu svrhu. Ipak, u nekim sluajevima on moe
dovesti do loih performansi (npr. kada se pristupa sukcesivnim lokacijama niza
koji je malo vei od veliine kea). Performanse LRU algoritma mogu da se
poprave dodavanjem male koliine sluajnosti.
U praksi se koristi i jo nekoliko algoritama zamene: intuitivno jasno uklanjanje
najstarijeg bloka iz punog skupa blokova, uklanjanje sluajno izabranog bloka
itd.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
52/76

Primeri tehnika mapiranja

Niz koji je smeten u glavnoj memoriji


Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
53/76

Primeri tehnika mapiranja

Primer zadatka i nain njegove realizacije


Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
54/76

Primeri tehnika mapiranja

Sadraj direktno mapiranog kea za podatke


Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
55/76

Primeri tehnika mapiranja

Sadraj asocijativno mapiranog kea za podatke


Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
56/76

Primeri tehnika mapiranja

Sadraj skup-asocijativno mapiranog kea za podatke


Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
57/76

Primeri keiranja kod komercijalnih


procesora
Razmotriemo implementaciju kea kod procesora 68040, ARM710T, te Pentium III i
Pentium 4.
Ke kod procesora 68040
Procesor Motorola 68040 sadri dva kea koji se nalaze na ipu jedan koji se koristi
za instrukcije i drugi za podatke. Svaki ke ima kapacitet od 4K bajtova i koristi
etvorostranu skup-asocijativnu organizaciju koja je prikazana na sledeem
slajdu. Ke sadri 64 skupa, a svaki skup sadri etiri bloka. Svaki blok ima
duinu od etiri rei, a svaka re se sastoji od etiri bajta.
Poslednja etiri bita najmanje teine odreuju poziciju bajta unutar bloka. Sledeih
est bitova identifikuju jedan od 64 bloka. Najviih 22 bita obrazuju oznaku (tag).
Da bi notacija na dijagramu ostala kompaktna, sadraj svakog od ovih polja se
prikazuje u heksadekadnom obliku.
Mehanizam za kontrolu kea sadri i jedan bit validnosti po bloku i jedan bit prljavosti
po svakoj rei unutar bloka. Bit validnosti se postavlja na 1 kada se odgovarajui
blok uita u ke. Bit prljavosti se postavlja na 1 kada god odgovarajua re biva
promenjena tokom operacije upisa. Bit prljavosti ostaje postavljen sve dok se
sadraj bloka ne upie nazad u memoriju.
Ke podataka moe koristiti i protokol povratnog upisa i protokol pii-kroz, yavisno od
operativnog sistema. Algoritam zamene na sluajan nain bira blok koji se
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
58/76

Primeri keiranja kod komercijalnih


procesora

Organizacija kea podataka kod procesora Motorola 68040


Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
59/76

Primeri keiranja kod komercijalnih


procesora
Ke kod procesora ARM710T
Kao to je ve istaknuto, ARM familija procesora ima RISC arhitekturu, malu cenu i
malu potronju energije. Procesor ARM710T koristi jedan ke i za instrukcije i za
podatke. Ke kod procesora ARM710T je organizovan kao etvorostrani skup-
asocijativni ke. Svaki blok sadri 16 bajtova, tj. etiri 32-bitne rei.
Pri upisu u ke koristi se protokol pii-kroz. Za odluivanje koji e blok biti pregaen
kada se bude zahtevao novi blok, a ne bude slobodnog prostora, koristi se
algoritam sluajnog izbora.
Ke kod procesora Pentium III
Pentium III je procesor visokih performansi. On sadri dva nivoa kea.
Nivo 1 se sastoji od kea za instrukcije veliine 16Kb i kea za podatke veliine 16Kb.
Ke za podatke ima etvorostranu skup-asocijativnu organizaciju i moe koristiti
bilo politiku povratnog pisanja, bilo politiku pii-kroz. Ke za instrukcije ima
dvostranu skup-asocijativnu organizaciju. Kako se instrukcije obino ne modifikuju
tokom izvrenja programa, nema potrebe za politikom upisa kod kea za
instrukcije.
Ke nivoa 2 je mnogo vei. On sadri i instrukcije i podatke i povezan je na ke-
magistralu (koja je bitno bra od sistemske magistrale raunara) preko jedinice za
interfejs sa magistralom. Kod nekih verzija procesora (Katmai) L2 ke je van ipa
procesora, sadri 256 Kb implementiranih kao SRAM memorija.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
60/76

Primeri keiranja kod komercijalnih


procesora
Organizacija ovakvog ipa je etvorostrana skup-asocijativna i koristi bilo protokol pii-
kroz, bilo protokol povratnog pisanja, to se moe programirati na nivou bloka.
Magistrala za ke je irine 64 bita.
Poboljanja kod VLSI tehnologije su omoguila da se L2 integrie na ip procesora,
to je i uraeno kod ipa Pentium III verzija Coppermine. Veliina kea je 256K,
koristi se osomostrana skup-asocijativna organizacija, a kako je L2 ke na
procesorskom ipu, to je magistrala za ke irine 256 bita.
Katmai L2 ke radi polovinom brzine procesora, dok Coppermine L2 ke radi przinom
procesora. Smetanje L2 kea u procesor smanjuje kanjenje pri pristupu i
poveava propusnost, jer se podaci prenose kroz ire puteve, to rezultuje boljim
performansama. Glavni problem kod pristupa u kome se L2 ke integrie u
procesor je to to ip procesora postaje mnogo vei, pa se mnogo tee moe
proizvoditi.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
61/76

Primeri keiranja kod komercijalnih


procesora

Ke i spoljanje veze kod procesora Pentium III


Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
62/76

Primeri keiranja kod komercijalnih


procesora
Ke kod Pentium 4 procesora
Pentium 4 ima do tri nivoa kea. L1 ke se sastoji od odvojenog kea za instrukcije i
kea za podatke. Ke za podatke ima kapacitet od 8Kb, organizovanih na
etvorostrani skup-asocijativni nain. Svaki blok kea sadri 64 bajta. Za upis
podataka na ke koristi se politika pii-kroz. Celobrojnim podacima u keu
podataka se moe pristupiti u dva ciklusa asovnika, to sa frekvencijom
procesora od preko 1.3 GHz dovodi do vremena pristupa manjeg od 2 ns. Ke za
instrukcije ne sadri normalne mainske instrukcijie, ve verzije tih instrukcija koje
su ve dekodirane.
L2 ke je unificirani ke kapaciteta 256Kb, organizovan na osmostrani skup-
asocijativni nain. Svaki njegov blok sadri 128 bajtova. Za upis u ke se koristi
politika povratnog pisanja. Kanjenje pri pristupu ovom keu iznosi sedam ciklusa
asovnika.
I ke nivoa 1 i ke nivoa 2 su implementirani na ipu procesora. Ova arhitektura jo
doputa i ukljuenje L3 kea na ipu. To nije implementirano na procesorima za
desktop raunare, ve je omogueno za procesorske ipove koji e se koristiti na
serverskim sistemima.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
63/76

Razmatranje performansi
Dva kljuna faktora za uspeh su cena i performanse.
Uobiajena mera za uspenost dizajna kojim se poboljavaju performanse sistema
bez znaajnog uveavanja cene je odnos cena/performanse.
Hijerarhija memorije opisana ovde se stvarala tokom potrage za optimalnim odnosom
cena/performanse.
U postizanju optimalnog odnosa, od velikog znaaja je da se prenos prema brim
jedinicama ili od njih vri brzinom tih brih jedinica. Ovo nije mogue ako se i
brim i sporijim memorijskim jedinicama pristupa na isti nain, ali to moe biti
postignuto kada se koristi paralelizam u pristupu sporijoj jedinici.
Preplitanje predstavlja jedan efikasan nain uvoenja paralelizma.
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
64/76

Preplitanje
Dva dijagrama na sledeem slajdu prikazuju dva naina strukturisanja memorijskih
adresa. U prvom sluaju, k bitova vee teine oznaavaju jedan od n modula, a m
bitova manje teine ukazuju na konkretnu re u tom modulu. U sluaju kada se
pristupa uzastopnim lokacijama, sve se deava u jednom modulu.
U drugom sluaju, gde se radi o tzv. memorijskom preplitanju, niih k bitova u adresi
slui za izbor modula, a viih m bitova odreuje lokaciju unutar modula. Da bi se
impementirala prepliua struktura, mora biti 2k modula inae e biti biti rupa sa
nepostojeim lokacijama u adresnom prostoru.

Primer. Prenosi se blok od 8 rei iz glavne memorije u ke, zato to se dogodio


promaaj. Pretpostavimo da hardveru treba jedan ciklus da poalje adresu u
memoriju, da je DRAM memorija spora, pa se prvoj rei pristupa za 8 ciklusa, a
svakoj sledeoj za 4 ciklusa i da je jedan ciklus potreban za slanje redne rei u
ke. Broj ciklusa potrebnih za prenos u sluaju jednog memorijskog modula je
1+8+(7*4)+1 = 38
Broj ciklusa u sluaju prepliue strukture memorije sa 4 modula je
1+8+4+4 = 17
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
65/76

Preplitanje

Adresiranje kod memorijskih


sistema sa vie modula
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
66/76

Nivo pogodaka i kazna za


promaaj
Nivo pogodaka je kolinik izmeu broja pogodaka i ukupnog broja pokuanih pristupa,
a nivo promaaja je kolinik izmeu broja promaaja i ukupnog broja pokuanih
pristupa. Visoki nivoi pogotka, dosta iznad 0.9 su esencijalni za raunare visokih
performansi.
Kazna za promaaj je veliina koja predstavlja dodatno vreme potrebno za dovoenje
nove informacije u ke. Termin kazna se koristi zato to je u sluaju promaaj
procesor zaustavljen u svom radu. Kao to je ve istaknuto, preplitanje smanjuje
veliinu kazne.
tave = hC+(1-h)M
tave = h1C1+(1-h1)h2C2+(1-h1)(1-h2)M

Primer. Odrediti grubu aproksimaciju za poboljanje performansi kod istog sluaja kao
prilikom preplitanja, pri emu je pretpostavka da na 100 izvravanja memorijskih
instrukcija ima 30 operacija itanja ili upisa podataka, da je nivo pogodaka kea
za instrukcije 0.9, a kea za podatke 0.95.
vreme bez kesa 130(1 8 1)
5.04
vreme 100(0.95 1 0.05 17) 300.9 1 0.117
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
67/76

Nivo pogodaka i kazna za


promaaj
Nivo pogodaka je kolinik izmeu broja pogodaka i ukupnog broja pokuanih pristupa,
a nivo promaaja je kolinik izmeu broja promaaja i ukupnog broja pokuanih
pristupa. Visoki nivoi pogotka, dosta iznad 0.9 su esencijalni za raunare visokih
performansi.
Kazna za promaaj je veliina koja predstavlja dodatno vreme potrebno za dovoenje
nove informacije u ke. Termin kazna se koristi zato to je u sluaju promaaj
procesor zaustavljen u svom radu. Kao to je ve istaknuto, preplitanje smanjuje
veliinu kazne.
tave = hC+(1-h)M
tave = h1C1+(1-h1)h2C2+(1-h1)(1-h2)M

Primer. Odrediti grubu aproksimaciju za poboljanje performansi kod istog sluaja kao
prilikom preplitanja, pri emu je pretpostavka da na 100 izvravanja memorijskih
instrukcija ima 30 operacija itanja ili upisa podataka, da je nivo pogodaka kea
za instrukcije 0.9, a kea za podatke 0.95.
vreme bez kesa 130(1 8 1)
5.04
vreme 100(0.95 1 0.05 17) 300.9 1 0.117
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
68/76

Virtuelna memorija

Organizacija virtuelne memorije


Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
69/76

Translacija adrese

Translacija adrese kod


virtuelne memorije
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
70/76

Translacija adrese

Korienje asocijativno -
mapiranog TLB
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
71/76

Magnetni diskovi

Principi rada magnetnih


diskova
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
72/76

Magnetni diskovi

Organizacija jedne povri diska


Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
73/76

Magnetni diskovi

Diskovi koji su povezani na sistemsku magistralu


Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
74/76

Optiki diskovi

Optiki disk
Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
75/76

Sistemi sa magnetnim trakama

Organizacia podataka na magnetnoj traci


Matematiki fakultet Mikroraunari vladaf@matf.bg.ac.yu
76/76

Zadaci

You might also like