kapitulli 7 - Memoria kryesore
-
Upload
albi-al-alketa -
Category
Documents
-
view
605 -
download
1
Transcript of kapitulli 7 - Memoria kryesore
KAPITULLI 7
KOMPOZIMI (PROJEKTI) I SISTEMIT TE MEMORIES
Ne kapitullin 6 futem konceptin e hierarkise se memories. Gjithashtu kemi
karakterizuar nje hierarki kujtese ne kushtet e pozicionit (Locality) te references dhe
impaktet e tij mbi kohen mesatare te aksesimit ( average access time). Me pas levizem
ne mbulimin e problemeve te tjera te lidhura me nivelin e pare te hierarkise qe eshte
memorja cache (eshte e keshillueshme te studiohet mire kapitulli 6 perpara vazhdimit
te ketij kapitulli). Ne kete kapitull ne vazhdojme me mbulimin e niveleve te ndyshme
te hierarkise se memorjes. Ne vecanti fillojme diskutimin tone me ceshtje te lidhura
me kompozimin dhe analizat e njesise se memories (kryesore). Jane diskutuar ceshtje
te lidhura me virtual memory. Sid he nje vezhgim i shkurter i zbatimit te read-only
memory (ROM) eshte bere ne fund te kapitullit.
7.1 MEMORJA KRYESORE
Sic nenkuptohet edhe nga emri memorja kryesore siguron ruajtjen kryesore per nje
kompjuter. Figura 7.1 tregon nje nderfaqe tipike midis memories kryesor edhe CPU-se.
Dy regjistra CPU-je jane perdorur si nderfaqe midis CPU –se dhe memorjes kryesore.
Keto jane: regjistri i memorjes se adresave (memory address register) (MAR) dhe
regjistri i memorjes se te dhenave (memory data register) (MDR). MDR perdoret per
mbajtjen e te dhenave qe do te ruhen dhe / ose terhiqen (merren) nga vendodhja ne
kujtese, adresa e te ciles eshte mbajtur ne MAR.
Eshte e mundur te vizualizojme strukturen tipike te brendshme te memorjes kryesore,
si te perbere nga qelizave baze te vendosura ne rreshta dhe kolona. Cdo qelize eshte e
afte qe te ruaje 1 bit informacion. Figura 7.2 na tregon organizimin konceptual te
brendeshem te nje qarku (cip-i) te kujteses. Ne kete figure qelizat qe i perkasin nje
rreshti te dhene mund te pranohen qe formojne bit-et te nje fjale te dhene te kujteses.
Linjat e adreses An-1, An-2… A1A0 jane perdorur si inpute te dekoderit te adresave me
qellim qe te gjeneroje linjat e fjales se selektuar W2n
-1…W1W0. Linja e fjales se
selekjtuar te dhene eshte e perbashket ne te gjitha qelizat e memorjes se te njejtit
rresht. Ne cdo kohe te dhene dekoderi i adresave aktivizon vetem nje linje te fjale se
selektuar duke c’aktivizuar linjat e tjera. Linja e fjales se selektuar eshte perdorur qe te
aktivizoje te gjitha qelizat e rreshtit, per leximin dhe shkrimin.Linjat e dhenes (bit)
jane perdorur per te hyre ose dale permbajtjen e qelizave. Cdo qelize memorjeje eshte
e lidhur me dy linja te te dhenave. Nje linje e dhene e te dhenave eshte e njejte per te
gjitha qelizat e nje kolone te dhene.
Ne teknologjine me statike CMOS, cdo qelize e memorjes kryesore perbehet nga 6
tranzistore, sic tregohet ne figuren 7.3. Te gjashte tranzistoret statike CMOS te qelizes
se memorjes konsistojne (kryejne rolin) ne dy invertera back to back. Duhet te
theksojme se qeliza mund te egzistoje ne nje nga dy gjendjet stabel. Per shembull, nese
ne figuren 7.3 A=1 atehere tranzistori N2 do te jete ne “on” (pozicion pune) dhe pika
B=0 e cila ne kthim shkakton qe tranzistori P te jete “ on “ duke shkaktuar piken A=1.
Kjo paraqet nje gjendje stabel te qelizes, te quajtur gjendja 1.
Figura 7.1 Nje nderfaqje tipike e CPU-se dhe Memories Kryesore
Figura 7.2 Ideja e Organizimit te brendshem te qarkut te memories
Ne nje rruge te ngjashme mund te tregohet qe nese A=0 atehere B=1, e cila paraqet nje
gjendje tjeter stabel te qelizes, qe quhet gjendja 0. Te dy tranzistoret N3 dhe N4 jane
perdorur per te lidhur qelizen tek dy linjat e te dhenave. Normalisht (nese fjala e
zgjedhur nuk eshte aktivizuar) keto dy tranzistore jane kthyer OFF, duke mbrojtur
qelizen nga vlerat e sinjalit te mbajtur nga linjat e te dhenave. Te dy tranzistoret
kthehen ne ON kur linja e urdherit te selektuar aktivizohet. Cfare ndodh kur dy
tranzistoret kthehen ne ON do te varet nga operimi i pritshem i memories sic tregohet
me poshte.
Figura 7.3 Qeliza e memories me CMOS statik
Operacioni i leximit
1. Te dy linjat b dhe
b jane parangarkuar shume
Figura 7.4 Organizimi efikas i brendshem i nje chip-i memorije me 1K x 4
2. Linja e fjales se selektuar eshte aktivizuar, qe kthen ne ON te dy tranzitoret N3
dhe N4.
3. Ne varesi te vleres se brendeshme te ruajtuar ne qelize, pika A (B) do te coje ne
shkarkimin e linjes b(
b )
Operacioni i shkrimit
1. Linjat bit jane parangarkuar ne menyre te tille qe b(
b )= 1(0)
2. Linja e zgjedhur e fjales eshte aktivizuar duke kthyer ne kete menyre ne ON te
dy tranzistoret N3 dhe N4.
3. Linja bit e parangarkuar ne 0 do ta detyroje piken A(B) qe ishte ne 1 , te shkoje
ne 0.
Organizimi i brendeshem i rreshtimit te memorjes do te kenaqe nje faktor te
rendesishem sic eshte shfrytezimi eficent i qarkut (chip-it) te memorjes. Konsiderojme
per shembull nje qark (chip) memorjeje 1K x 4. Duke perdorur organizimin e figures
7.2 rradhitja e memorjes do te jete organizuar si 1K rreshta me qeliza, secila e pebere
nga 4 qeliza. Qarka (chip) atehere do te kishte 10 kunja (pin) per adresen dhe 4 kunja
per te dhenat. Megjithate kjo nuk te con ne shfrytezimin me te mire te hapesires se
qarkut (chip).
Nje menyre tjeter e mundeshme e organizimit te rradhitjes se memorjes se qelizes
eshte 64 x 64. Kjo do thote te organizosh rradhitjen ne 64 rreshta ku secili permban 64
qeliza. Ne kete rast, gjashte linjat e adesave (formojne te ashtuquajturen adrese e
rreshtit) do te duhen per te selektuar nje nga 64 rreshtat. Kater linjat e mbetura te
adreses (te quajtura adrese e kolonave) do te perdoren qe te zgjedhin 4 bit-et e
pershtatshme midis 64 bit-eve ne dispozicion, qe formojne nje rresht. Figura 7.4
ilustron kete organizim.
Nje faktor tjeter i rendesishem qe lidhet me kompozimin e nensistemve te memorjes
kryesore, eshte dhe numri i kunjave te qarkut (chip) te kerkuara ne nje qark te
integruar. Konsiderojme p. sh. kompozimin e nensistemit te nje memorje me kapacitet
4K bits. Organizime te ndryshme te te njejtit kapacitet te memorjes mund te cojne ne
kerkesa te ndryshme te kunjave te cip-it. Tabela 7.1 ilustron nje vezhgim te tille.
Tabela 7.1 ilustron nje vezhgim te tille. Nga tabela eshte e qarte se, rritja e numrit te
bit-eve per adresa lokalizimi, sjell nje rritje te numrit te pin-eve te nevojshem ne nje
qark te integruar.
Nje faktor tjeter i lidhur drejtpersedrejti me kompozimin e nensistemit te memories
kryesore eshte numri i kerkuar i chip-eve te memories. Eshte e rendesishme te
kuptojme qe kapaciteti i chip-it te memorjes mund te jete nje faktor kufizues ne
kompozimin e nensistemeve te memorjes.
Le te shqyrtojme kompozimin e nje nensistemi te memorjes kryesore prej 4M bytes
duke perdorur nje chip-e 1M bite. Numri i kerkuar i cip-eve eshte 32. Duhet theksuar
se numri i kerkuar i linjave te adresave per nje system 4M eshte 22, ndersa numri i
linjave te te dhenave eshte 8. Figura 7.5 tregon nje bllok diagram si per nensistemin
Tabela 7.1 Ndikimi i perdorimit te organizimeve te ndryshme
Ne numrin e pin-eve (kembe) Organizimi Numri I linjave te
adresave te nevojshme
Numri I linjave te te
dhenave te nevojshme
4K x 1 12 1
1K x 4 10 4
512 x 8 9 8
256 x 16 8 16
e memorjes se pritur edhe per strukturen bllok baze qe do te perdoret per strukturimin
e nje nensistemi te tille.
Nensistemi i memorjes mund te rregullohet ne kater rreshta ku secili ka 8 chip-e. Nje
organizim i tille paraqitet ne figuren 7.6. Ne kete figure 20 linjat e fundit te
rendesishme te adresave A19- A0 jane perdorur per te adresuar cdo nje nga chip-et bit
1M te struktures bllok baze. Dy linjat e adreses high – order A21 – A20 jane perdorur si
inpute per 2 - 4 dekodera ne menyre qe te gjenerojne kater linja te mundeshme; secila
eshte e lidhur me linjen CE te tete qarqeve qe formojne nje rresht.
Diskutimi i mesiperm mbi ndertimin e sistemit te memorjes kryesore supozon
perdorimin e nje qelize statike te rastit prej 6 tranzistoresh. Megjithate, eshte e mundur
perdotimi i nje qelize dinamike me nje transistor. Memorja dinamike varet nga ruajtja
e vlerave logjike duke perdorur nje kapacitor se bashku me nje transistor, me
funksionin e nje celesi.
Figura 7.5 Bllok diagrama e sistemit te memories se kerkuar dhe struktura bllok baze e saj
Perdotimi i memorjes dinamike con ne ruajtjen e hapesires se chip-it. Megjithate, per
shkak te mundesise se renies se vlerave te ruajtura (rrjedhje e ngarkeses se ruajtur ne
kondensator) , memorja dinamike kerkon periodikisht (cdo disa milisekonda)
Figura 7.6 Organizimi i memories 8-bit me kapacitet 4M duke perdorur qarqe
memorje 1-bit me kapacitet 1M
rifreskimin me qellim qe te perterije vlerat logjike te ruajtura. Fugura 7.7 ilustron
organizimin e radhitjes se meorjes dimanike. Qarku lexo/shkruaj ne Fig. 7.7 kryen
funksionet e ndijimit te vleres ne bit- line, e amplifikon ate dhe rifreskon vleren e
ruajtur ne kondensator.
Me qellim qe te kryejme nje operacion leximi, linja e leximit eshte e parangarkuar me
vlere te larte ( njesoj si ne memorjen statike ) dhe linja e fjales aktivizohet. Kjo do te
shkaktoje qe vlera e ruajtur ne kapacitor nga linje bit, shfaqet ne linjen e te dhenave
Di. Sic mund te verehet oeracioni i leximit eshte destruktiv. Kjo do te thote qe
kondensatori eshte ngarkuar nga bit line. Megjithate, cdo operim leximi ndiqet nga
veprimi i te shkruarit ne te njejten vlere.
Me qellim qe te kryejme nje operacion te shkruar vlera e pritur vendoset mbi bit line
dhe linja e te shkruarit aktivizohet. Ne qofte se vlera e pritur eshte 1 atehere
kondensatori do te ngarkohet, ne qofte se vlera e pritur eshte 0 atehere kondensatori
do te shkarkohet. Tabela 7.2 permbledh operimin e qarkut te kontrollit. Sic eshte
diskutuar me pare, nje organizim i brendeshem i pershtatshem, i nensistemit te
memorjes mund te coje ne kursimin e numrit te kunjave (pin) te kerkuara ne IC, nje
faktor i rendesishem ne kompozimin e IC.
TABELA 7.2 Operimi i qarkut te kontrollit
CE R/W Funksionimi
0 X Asnje
1 1 Lexo
1 0 Shkruaj
x = I parendeishem (don’t care)
Figura 7.7 Organizimi i rreshtit te memories dinamike
Sic eshte diskutuar me pare, nje organizim i brendeshem i pershtatshem, i nensistemit
te memorjes mund te coje ne kursimin e numrit te kunjave (pin) te kerkuara ne IC, nje
faktor i rendesishem ne kompozimin e IC. Me qellim per te reduktuar numrin e pin-eve
te kerkuara per memorien dinamike te dhene te sistemit, eshte nje praktike normale (si
dhe ne rastin e memories statike) te ndajme linjat e adresave ne rreshta dhe kolona
linja adresash. Pervec kesaj rreshtat dhe kolonat e linjave te adresave transmetohen
nga te njejtat kunja, njera pas tjetres me nje skeme te njohur si multipleksim ne kohe
(time – multiplexing). Kjo pergjysmon numrin e kunjave te adreses. Per efekt te time –
multiplexing te linjave te adreses do te jete e nevojshme qe te shtojme dhe dy linja
extra te kontrollit te cilat jane kontrolluesi i adreses se rreshtit (RAS) dhe kontrolluesi i
adreses se kolones (CAS). Keto dy linja kontrolli perdoren per t’i treguar Chip- it te
memorjes se kur adresa e linjave te rreshtit dhe se kur adresa e linjave te kolones jane
te vlefshme, respektivisht. Le te konsiderojme per shembull kompozimin e 1M x 1 te
nensistemit dinamik te memorjes. Figura 7.8 na tregon nje organizim te brendeshem te
mundeshem te rradhitjes se qelizes se memorjes ne te cilin ajo (radhitja) eshte
organizuar si nje 1024x1024.
Duhet te theksohet se vetem 10 linja adresash jane te treguara. Keto jane perdorur per
te multipleksuar linjat e adresave si te rreshtave dhe te kolonave; secila eshte 10 linja.
Lidhjet e rreshtave dhe te kolonave janeperdorur qe te ruajne adresat e rreshtave e
kolonave per nje kohezgjatje te njejte me ciklin e memorjes. Ne kete rast aksesimi i
memories do te perbehet nga nje RAS dhe nje adrese e rreshtit, e ndjekur nga nja CAS
dhe nje adrese e kolones.
Figura 7.8 Organizimi i memories me permase 1024 x 1024
7.2 MEMORJA VIRTUALE
Koncepti i memorjes virtuale ne princip eshte i ngjashem me memorjen cache te
pershkruar ne Seksionin 6.2. Nje sistem memorjeje virtuale perpiqet te optimizoje
perdorimin e memorjes kryesore (porcionin me shpejtesi te madhe) me hard diskun
(porcionin me shpejtesi te vogel). Efektivisht, memorja virtuale eshte nje teknike per
perdorimin e ruajtjtesit (storage) sekondare, per te shtuar madhesine ne dukje te
kufizuar te memorjes fizike pertej permasave te saj. Eshte i zakonshem rasti kur
hapesira e mundeshme e memorjes fizike nuk eshte e mjaftueshme per te pritur te
gjitha pjeset e nje programi aktiv te dhene. Ato pjese te programit qe jane vazhdimisht
aktive jane hedhur ne memorjen kryesore, nderkaq ato pjese qe nuk jane aktive do te
ruhen ne diskun magnetik. Ne qofte se segmenti i programit qe permban fjalet e
kerkuara me ane te procesorit nuk eshte ne memorjen kryesore ne kohen qe kerkohet,
atehere ky segment duhet te sillet nga disku ne memorjen kryesore. Principet e
perdorura ne kompozimin e memorjes virtuale jane te njejta me ato te shfrytezuara ne
memorjen cache. Principi me i spikatur eshte mbajtja e segmenteve aktive ne
memorjen kryesore me shpejtesi te larte (high - speed) dhe levizja e segmenteve
inaktive mbrapa drejt hard disk.
Levizja e te dhenave midis diskut dhe memories kryesore merr formen e faqeve. Nje
faqe eshte nje mbledhje e fjaleve te memories, te cilat mund te levizin nga disku ne
MK kur procesori kerkon aksesin e nje fjale te kesaj faqeje. Nje permase tipike e nje
faqeje te kompjuterave moderne shkon nga 2 ÷ 16K bytes. Nje gabim ne faqe ndodh
kur faqja qe mban fjalen e kerkuar nga procesori nuk egziston ne MK dhe ajo duhet te
sillet nga disku. Levizja e faqeve te programeve ose te dhenave midis memories
kryesore dhe diskut eshte totalisht transparente per aplikacionet e programuara.
Sistemi operues eshte pergjegjes per te tilla levizje te te dhenave dhe programeve.
Eshte e rendesishme eshte qe te permendim ne kete ceshtje qe megjithese bazur ne
principe te ngjashme, nje ndrydhim i rendesishem egziston midis memories cache dhe
asaj virtuale. Humbja ne cache mund te shkaktoje nje penalitet ne kohe i cili eshte 5
deri ne 10 here me i madh se susksesi ne cache. Nga ana tjeter gabimi ne faqe
shkakton nje vonese 1000 here me te madhe se suksesi ne faqe. Pra eshte e
paarsyeshme qe procesori te prese gjate gabimit te faqes, qe faqja te filloje te
transferohet tek memorja kryesore. Kjo sepse mijra instruksione muns te egzekutohen
nga procesoret moderne gjate transferimit te faqes.
Adresa e leshuar nga procesori ne menyre qe te aksesohet fjala e dhene nuk
korrespondon me hapesiren fizike te memories. Pra nje adrese e tille eshte quajtuar
adrese virtuale (logjike). Njesia e manaxhimit te memories (MMU) eshte pergjegjese
per perkthimin e adreses virtuale tek adresa fizike korresponduese e saj. Egzistojne tre
teknika perkthimi. Ato jane: Organizimi direkt, Organizim i shoqeruar dhe Organizimi
i shoqeruar ne set. Ne te tre teknikat informacioni per vendndodhjet e memorjes
kryesore dhe korrespondueseve ne faqet virtuale mbahet ne nje tabele te quajtur tabela
e faqes. Tabela e faqes eshte e ruajtur ne memorjen kryesore. Informacione te tjera te
mbajtura ne tabelen e faqes perfshijne: bit-in indikator te vlefshmerise se faqes,
modifikimin e faqes dhe autoritetin e aksesimit te faqes. Bit-i i vlefshem setohet ne
qofte se faqja korresponduese eshte e ngritur (loaded) aktualisht ne memorjen
kryesore. Bit-et e validitetit per te gjitha faqet risetohen kur kompjuteri ndizet per here
te pare. Bit tjeter kontrolli qe mbahet ne tabelen e faqes eshte bit-i i piste (dirty bit). Ai
setohet nese faqja korresponduese, shnderrohet, kur ndodhet ne memorjen kryesore.
Nese, faqja e dhene, kur ndodhet ne memorjen kryesore nuk shnderrohet atehere bit -i i
piste mund te resetohet. Kjo na ndihmon per te vendosur kur duhet ta shkruajme
mbrapsht ne disk (ne kohen e zevendesimit), permbajtjen e faqes, ose ta zevendesojme
permbajtjen e saj direkt me nje faqe tjeter. Ne ceshtjet e meposhtme do te
perqendrohemi ne teknikat e perkthimit te adresave duke mbajtur mend bit-et e
ndryshme te kontollit te ruajtura ne tabelen e faqes.
7.2.1 Organizimi direkt
Figura 7.9 ilustron procesin e transferimit te adreses sipas teknikes se organizimit
direkt. Ne kete rast adresa virtuale e leshuar nga procesori eshte e ndare ne dy fusha:
numri i faqes virtuale dhe fusha e offset-it. Nese numri i bit-eve ne fushen e numrit te
faqes virtuale eshte N, atehere numri i hyrjeve ne tabelen e faqes do te jete 2N.
Fusha e faqes virtuale eshte perdorur adresimin direkte te nje hyrjeje ne faqen e
tabeles. Nese faqja korresponduese eshte e vlefshme (sic indikohet nga nje bit i
vlefshem), atehere permbajtja e hyrjes specifike e tabeles se faqes do te korrespondoje
me adresen e faqes fizike. Atehere i fundit nxirret dhe lidhet me fushen e offset-it me
me qellim qe te formoje adresen fizike te fjales se kerkuar nga procesorit. Nga ana
tjeter ne qofte se futja e specifikuar ne tabelen e faqes nuk permban nje numer te
vlefshem te faqes fizike atehere kjo paraqet nje gabim ne faqe. Ne kete rast MMU
duhet te marre faqen koresponduese nga hard disku, ta ngeje ate ne memorjen kryesore
Figura 7.9 Perkthimi i adreses virtuale sipas Organizimit Direkt
dhe te tregoje vlefshmerine e faqes. Procesi i perkthimit te saj kryhet jashte sic eshte
shpjeguar me lart.
Avantazhi kryesor i teknikes se organizimt direkt eshte thejeshtesia e saj e
matur ne termat e adresimit direkt te hyrjeve ne faqen tabele. Disavantazhi kryesor
eshte permasa e madhe e pritur e faqes tabele. Me qellim qe ta kapercejme kete
disavantazh, perdoret teknika e organizimit te shoqeruar qe shpjegohet me poshte.
7.2.2. Organizim i shoqeruar
Figura 7.10 ilustronperkthimin e adreses sipas teknikes se organizimit te shoqeruar.
Kjo teknike eshte e ngjashme me ate te organizimit direkt, ne faktin se adresa virtuale
e leshuar nga mikroprocesori eshte ndare ne dy fusha: numri i faqes virtuale dhe fusha
e offset-it. Megjithate tabela e faqes e perdorur ne organizimin e shoqeruar mund te
jete shume me e shkurter se metoda e organizimit direkt. Cdo hyrje ne tabelen e faqes
eshte e ndare ne dy pjese: numri i faqes virtuale dhe numri i faqes fizike. Nje perputhje
eshte e nevojshme midis fushes se numrit te faqes virtuale te adreses dhe numrave te
faqes virtuale te ruajtura ne tabelen e faqes. Nese kjo perputhje eshte gjetur, numri
korrespondues i faqes fizike i ruajtur ne tabelen e faqes, nxirret dhe lidhet me fushen e
offset-it me qellim qe te gjeneroje nje adrese fizike te fjales se kerkuar nga
mikroprocesorit. Nga ana tjeter nese pershtatja nuk do te gjendej kjo do te paraqese nje
gabim ne faqe. Ne kete rast MMU duhet sjelle faqen korresponduese nga hard disku, ta
ngeje ate ne memorjen kryesore dhe do te tregoje vlefshmerine e faqes. Procesi i
transferimit do te kryhet sic eshte shpjeguar me siper. Avantazhi kryesor i teknikes se
organizimit te shoqeruar eshte tabela e faqjes me e shkurter (krahasuar me tekniken e
organizimit direkt) e kerkuar nga procesi i transferimit. Disavantazhi kryesor eshte
kerkimi i nevojshem per gjetjen e perputhjes midis fushes se numrit te faqes virtuale
dhe te gjithe numrave te faqes virtuale te ruajtur ne tabelen e faqes.
Figura 7.10 Perkthimi i adresave ne organizimin e shoqeruar
Megjithese nje kerkim i tille eshte kryer ne menyre shoqeruese, kjo kerkon perdorimin
e nje hardware-i shtese.
Nje kompromis i mundeshem ndermjet kompleksitetit te teknikes se organizimit te
shoqeruar dhe thjeshtesise se teknikes se organizimit direkt eshte teknika organizim i
shoqeruar ne set. Kjo teknike shpjegohet me poshte.
7.2.3. Organizimi i shoqeruar ne set (bashkesi)
Figura 7.11 ilustron transferimin e adreses sipas teknikes se organizimit te shoqeruar
ne set. Ne kete rast adresa virtuale qe leshohet nga procesori eshte ndare ne tre fusha:
etiketa, indeksi dhe offset-i. Tabela e faqes e perdorur ne kete rast eshte e ndare ne set
–e (bashkesish), secili i perbere nga nje numer hyrjesh. Cdo hyrje ne tabelen faqen
perbehet nga nje etikete dhe adresa korresponduese e faqes fizike. Nesoj, si ne
organizimin direkt, indeksi i fushes eshte perdorur per te percaktuar direkt set -in ne te
cilin kerkimi duhet te drejtohet. Nese numri i bit-eve ne fushen e indeksit eshte S,
atehere numri i set-eve ne tabelen faqe do te jete 2S. Menjehere, sapo set-i eshte
percaktuar, atehere kerkimi (i ngjashem me organizimin e shoqeruar) eshte drejtuar per
te perputhur fushen e etiketave me te gjitha hyrjet ne ate set te specifikuar. Nese
perputhja gjendet atehere faqja korresponduese e adreses fizike nxirret dhe lidhet me
fushen e offset –it me qellim qe te gjeneroje adresen fizike te fjales se kerkuar nga
procesori. Nga ana tjeter, nese perputhja nuk gjendet kjo paraqet nje gabim ne faqe. Ne
kete rast MMU duhet te sjelle faqen korresponduese nga hard disku, ta ngreje ate ne
memorjen kryesore, rifeskon set-in korrespondues dhe tregon vlefshmerine e faqes.
Procesi i kalimit kryhet sic eshte shpjeguar me pare.
Figura 7.11 Perkthimi i adresave ne organizimin e shoqeruar me set-e
Teknika e organizimit te shoqeruar ne set perdor nje kompromis midis ineficences ne
organizimin direkt ne termat e permasave te faqes tabele dhe nje varesie te tepert
hardware ne organizimin e shoqeruar.Gjithashtu ajo na jep me te miren e dy teknikave:
thjeshtesine e organizimit direkt dhe eficencen e teknikes se organizimit te shoqeruar.
Duhet theksuar se ne gjitha teknikat e transmetimit, akesesi ne memorjen kryesore
eshte I domosdoshem per aksesin ne tabelen faqe. Ky ekstra akses i memorjes
kryesore, potencialisht, mund te ruhet nese nje kopje e nje pjese te vogel te tabeles se
faqes mund te mbahet ne MMU. Kjo pjese (porcion) konsiston ne hyrjet e tabeles faqe
qe korrespondojne me faqet me te fundit te aksesuara. Ne kete rast, para cdo
perkthimit adrese, kerkimi eshte drejtuar per te zbuluar nese numri I faqes virtuale (ose
etiketes) ne fushen e adreses virtuale mund kete perputhje. Ky porcion I vogel eshte
mbajtur ne tabelen Look - Aside Buffer (TLB) cache ne MMU. Kjo shpjegohet me
poshte.
7.2.4 Perkthimi Look-Aside Buffer (TLB) (shiko menjeane buffer-it)
Ne kompjuterat moderne nje pjese e vogel e tabelave te faqeve mbahet ne cip-in e
procesorit. Kjo pjese perbehet nga hyrjet e tabeles faqe qe i korrespondon faqeve te
aksesuara se fundi me shpesh. Kjo pjese e vogel mbahet ne cache-ne TLB. Nje kerkim
ne TLB i paraprin kesaj ne tabelen faqe. Megjithate fusha e faqes virtuale kontrollohet
ne fillim me shpresen per gjetjen e nje perputhjeje. Suksesi ne TLB sjell gjenerimin e
adreses fizike te fjales se kerkuar nga procesorit duke ruajtuar keshtu aksesin eksta ne
memorjen kryesore te kerkuar per aksesimin e tabeles faqje. Duhet theksuar qe nje
humbje ne TLB nuk eshte ekuivalent me nje gabim ne faqe. Figura 7.12 ilustron
perdorimin e TLB – se ne procesin e perkthimit te adreses virtuale. Permasa tipike e
nje TLB-je eshte ne diapazonin nga 16 deri ne 64 hyrje. Duke patur kete permase
TLB-je te limituar, koeficent suksesi me I madh se 90% eshte gjithmone i mundeshem.
Duke patur permasa te kufizuara, kerkimi ne TLB behet i shoqeruar duke reduktuar
keshtu kohen e kerkimit. Per te ilustruar efektivitetin e perdorimit te nje TLB-je le te
konsiderojme rastin e perdorimit te TLB-se ne nje sistem memorjeje virtuale duke
patur specifikimet e meposhtme
Nr I hyrjeve ne TLB = 16 Koha e kerkimit te shoqeruar ne TLB =10ns
Koha e hyrjes ne memorjen kryesore = 50ns Koeficenti i suksesit TLB = 0.9
Koha mesatare e hyrjes = 0.9(10+50)+0.1(10+2*50)=0.9*60+0.1*110= 65ns. Kjo
eshte per t’u krahasuar me kohen e hyrjes 100ns qe duhet ne mungese te TLB-se.
Duhet te theksojme qe per thjeshtesi mbikqyrem egzistencen e cache-se ne ilustrimin e
mesiperm.
Nga diskutimi i mesiperm eshte e qarte se sa me shume te dhena qe nuk egzistojne ne
memorjen kryesore (gabim faqeje) te kerkohen, aq me shume faqe do te sillen nga hard
disku ne memorjen kryesore. Ardhja e cdo faqeje te re nga hard disku tek nje memorje
kryesore plot (te mbushur) shtron pyetjen: Cila faqe e memorjes kryesore duhet te
levizet (zevendesohet) ne menyre qe te krijojme hapesire per faqen (et) qe jane duke
ardhuar? Algoritmet e zevendesimit (politikat) jane shpjeguar me poshte.
Figura 7.12 Perdorimi i TLB-se ne perkthimin i adresave virtuale
Duhet te theksohet se procesori Intel Pentium 4 ka nje bus adresash 36 bit, e cila lejon
nje kapacitet te memorjes kryesore prej 64 GB. Sipas specifikimeve te Intel-it,
memorja virtuale eshte 64 TB (65.528 GB). Kjo rrit hapesiren e memorjes se
procesorit nga 236
ne 246
bytes. Kjo mund te krahasohet me Power PC 604 e cila ka dy
hyrje 12-she, dy rruge te organizimit te shoqeruar ne set qe kalojne ne TLB: njera per
instruksionet dhe tjetra per te dhenat. Hapesira virtuale e memorjes ne kete rast eshte
=252
= 4 Peta-bytes.
7.2.5. Algoritmat e zevendesimit (politikat)
Themelor ne zbatimin e konceptit te memorjes virtuale eshte kerkimi i faqes. Kjo do te
thote qe sistemi operativ, dhe jo programuesi, kontrollon shkembimin e faqeve brenda
dhe jashte memorjes kryesore sic eshte e domosdoshme nga proceset aktive. Kur nje
proces kerkon nje faqe jorezidente, sistemi operativ duhet te vendose cilen faqe
rezidente te zevendesoje me faqen e kerkuar. Teknika e perdorur ne memorjen virtuale
qe merr keto vendime eshte quajtur rregulli i zevendesimit.
Ka nje numer te mundeshem te mekanizmave te zevendesimit. Objektivi kryesor per te
gjithe keta mekanizma eshte ezgjedhja e faqes qe duhet zevendesuar, e cila,
pritshmerisht, nuk do te referohet ne nje te ardhtme te afert.
Zevendesimi i rastesishem. Bazuar ne kete politike nje faqe zgjidhet rastesisht per
zevendesim. Ky eshte mekanizmi me i thjeshte i zevendesimit. Ai mund te zbatohet
duke perdorur nje Ai mund te zbatohet duke perdorur nje gjenerator numrash pseudo-
te rastesishem qe gjeneron numrat qe i korrespondojne tek te gjitha pjesezat e faqes se
mundeshme. Ne momentin e zevendesimit numri i rastesishem i gjeneruar do te tregoje
pjesen e faqes qe duhet te zevendesohen. Megjithese e thjeshte, kjo teknike ndoshta
nuk rezulton eficente ne perdorimin e memorjes kryesore, sepse ajoka nje koeficient te
ulet suksesit h. Zevendesimi i rastesishem eshte perdorur ne familjen e procesoreve
Intel i860 me RISC.
Zevendesimi e para brenda - e para jashte (FIFO). Bazuar ne kete politike
zevendesimi, faqja qe eshte ngritur (loaded) para gjithe te tjerave ne memorjen
kryesore eshte zgjedhur per zevendesim. Baza per zevendesimin e faqes ne kete
teknike eshte koha e harxhuar nga faqja e dhene rezidente ne memorjen kryesore
pavaresisht nga menyra e perdorur e kesaj faqeje. Kjo teknike eshte gjithashtu e
thjeshte Megjithate, ajo ka performance te pranueshme, e matur ne % suksesi te
memories kryesore, nese faqa referuese e bere nga procesori eshte ne nje rradhe
sekuecilale strikte.
Per te ilustruar perdorimin e kesaj metode ju japim shembullin e meposhtem.
Shembull. Shqyrtojme vargun e meposhtem te faqeve te krijuara nga nje processor: 6,
7, 8, 9, 7, 8, 9, 10, 8, 9, 10. Vecanarisht konsiderojme dy raste: (a) numri i pjeseve te
faqes te pozicionuara ne memorjen kryesore eshte DY dhe (b) numri i pjeseve te faqes
te pozicionuara eshte TRE. Figura 7.13 ilustron nje gjurme te vargut reference per te
dy rastet. Sic mund te shihet nga figura, kur numri i pjeseve te faqeve eshte DY kemi
11 gabime ne faqe (shenuar me te zeze ne fig). Kur numri pjeseve rritet ne TRE numri
i gabimeve ne faqe reduktohet ne pese. Meqe i jemi referuar pese faqeve, ky eshte
kondicioni optimal. Rregulli FIFO rezulton me i miri (minimum) gabim ne faqe kur
vargu eshte rigorozisht ne rendin rrites.
Figura 7.13 Teknika e zevendesimit FIFO.(a) Zevendesimi FIFO duke perdorur dy pjese te
faqes (#PFs =11), zevendesimi FIFO duke perdorur tre pjese te faqes (#PFs = 5),
Zevendesohet i fundit i perdorur (LRU – Last recently used). Sipas kesaj teknike
zevendesimi i faqes eshte bazuar ne menyren e perdorimit te faqes se dhene rezidente
ne memorjen kryesore pavaresisht nga koha e qendrimit ne te. Faqja te ciles nuk i
jemi referuar per nje kohe te gjate qendrimit ne memorjen kryesore ndersa selektohet
per zevendesim. Metoda LRU perkon me karakteristikat e shume programeve
nderkohe qe pritet rezultati me i mire i mundeshem ne termat e koeficentit te suksesit
ne memorjes kryesore. Megjithate , kjo metode, perdoret me shume e krahasuar me
teknikat e tjera. Per te ilustruar mekanizmin LRU kemi shembullin e meposhtem.
Shembull. Konsiderojme vargun e meposhtem e reference te faqeve te bera nga
procesori: 4, 7, 5, 7, 6, 7, 10, 4, 8, 5, 8, 6, 8, 11, 4, 9, 5, 9, 12, 4, 7, 5, 7. Supozojme se
numri i pjeseve te faqes ne memorien kryesore eshte KATER. Llogarisim numrin e
gabimeve te gjeneruara te faqes. Gjurma e memories kryesore tregohet ne figuren 7.14.
Numri i gabimeve te faqes = 17.
Ne paraqitjen LRU, ne kemi nje zbatim te vecante te quajtur stack-based LRU. Ne kete
zbatim, faqja e aksesuar me vone perfaqsohet nga kuadrati ne krye te faqes. Kuadratet
nuk perfaqsojne pjeseza specifike si ne rastin e diagrames FIFO. Pra, cdo reference qe
gjeneron nje gabim ne faqe vendoset tashme ne fillim te rreshtit. Duhet te theksohet se
sa me shume faqe i jane percaktuar programit faqja referuese nuk ndyshon, ne cdo
rresht. Vetem numri i faqeve gabim ndyshon. Kjo do ta beje set-in e faqes ne memorje
per n pjeseza faqesh te jene nensete te set –it te faqeve per n+1 pjeseza te faqeve.
Figura 7.14 Teknika e zevendesimit LRU
Ne fakt nje diagrame mund te konsiderohet nje STACK (grumbull) strukure te dhenash
me thellesine e stack-u qe perfaqson numrin e pjseve te faqes. Nese faqja nuk eshte
ne grumbull (stack) (p.sh. eshte gjetur ne thellesi nje numer me i madh i pjeseve te
faqes) atehere kemi nje gabim ne faqe.
Shembull. Shqyrtojme rastin e nje rreshti dy dimensional 8 x 8. Rreshti eshte ruajtur
ne rreshtin ne rendin rrites. Per TRE pjeseza te faqes llogarisim sa gabime faqeje jane
gjeneruar nga laku i inicjalizimit te rreshtit.
Supozojme se nje algoritem zevendesues LRU eshte perdorur dhe te gjitha pjesezat
fillimisht jane bosh. Supozojme se madhesia e faqes eshte 16.
Per I = 0 ne 7 do
Per J = 0 ne 7 do
A [I, J] = 0.
End for
End for.
Menyra e vendosjes e elementeve te rreshtit ne ruajtesin sekondare tregohen ne figuren
7.15. Sekuenca e kerkimit per elementet ne rresht ne DY laqet e para te jashtme
egzekutohet si me poshte:
I = 0
J = 0, 1, 2, 3, 4, 5, 6, 7
a00 , a01, a02, a03, a04, a05, a06, a07 Numri i faqeve gabim (PFs)=1
I = 1
J = 0, 1, 2, 3, 4, 5, 6, 7
a00 , a01, a02, a03, a04, a05, a06, a07 Numri i faqeve gabim (PFs)=1
Nga analiza e mesiperme, eshte e qarte qe do te kemi nje PF ne gjate cdo ekzekutimi te
lakut te jashteme. Kjo ben qe numri total i PFs te jete 8. Duhet theksuar qe nese
rreshti do te ishte ruajtur ne rendin rrites ne kolone, cdo ekzekutim i lakut te
brendeshem do te gjeneronte tete gabime faqeje, duke bere qe numri total i PFs te jete
64.
Clock replacement algorithm. Ky eshte nje algoritem FIFO i modifikuar. Ky merr
parasysh si kohen e harxhuar te qendrimit te nje faqeje ne memorjen kryesore (e
ngjashme me FIFO) dhe menyren e perdorimit te faqes (i ngjashem me LRU). Kjo
teknike quhet ndonjehere Firs-In-Not-Used-Fist-Out (FINUFO). Ne gjurmet e
mbajtura per kohen dhe perdorimin teknika perdor point-era per te treguar se ku te
vendosim faqen e ardhur dhe nje bit perdoret per te treguar perdorimin e faqes se
dhene. Teknika mund te shpjegohet duke perdorur tre hapat e meposhtem:
1. nese bit-i i perdorimit = 1, atehere bit-i riset-it, shton pint-erin dhe perseritet.
2. nese bit-i i perdorimit = 0 , atehere zevendeson faqen koresponduese dhe shton
pint-erin
3. Bit-i i perdorur eshte set nese faqja eshte referuar pas ngritjes fillestare.
Figura 7.15 Menyra e vendosjes e elementeve te rreshtit gjate kalimit midis ruajtesit sekondar
dhe ne memorjes kryesore
Shembull Konsiderojme faqen e kerkuar si me poshte (Fig. 7.16) Ne te TRE pjeset e
faqes te sistemit te MK-se kemi perdorur tekniken FINUFO: 2, 3, 2, 4, 6, 2, 5,6 1, 4, 6.
Llogarisni koeficentin e suksesit. Koeficenti i suksesit u llogarit = 4/11
Figura 7.16 Teknika e zevendesimit FINUFO
7.2.6. Sistemet e memorjes virtuale me memorje cache
Sistemi tipik i kompjuterit do te permbaje nje cache, nje memorje kryesore dhe nje
TLB. Kur nje adrese virtuale vjen nga procesori, nje numer i ndryshem skenaresh
mund te ndodhe, secili varet nga gjendshmeria e njesise se kerkuar ne cache, ne
memorjen kryesore ose ne ruajtesin sekondar. Figura 7.17 tregon ecurine e diagrames
kryesore per skenare te ndryshem.
Figura 7.17 Skenaret e aksesimit te hierarkise se memories
Niveli i pare i perkthimit kontrollon per nje perputhje midis adreses se marre
virtuale dhe adreses virtuale te ruajtur ne TLB. Nese perputhja ndodh (sukses TLB)
atehere merret adresa fizike korresponduese. Kjo adrese fizike mund te perdoret per te
aksesuar cache-ne. Nese perputhja ndodh (sukses ne cache) atehere elementi i kerkuar
nga procesori mund te dergohet nga cache –ja ne processor. Nga ana tjeter nese
perputhja nuk ndodh atehere blloku qe permban elementin e shenuar (target) kopjohet
nga memorja kryesore ne cache (sic u diskutua me pare) dhe elemementi i kerkuar
dergohet ne procesor.
Skenari i mesiperm tregon nje sukses ne TLB. Nese ndodh nje humbje ne TLB, atehere
tabela e faqes (PT – page table) kerkon per egzistencen e faqes qe permban elementin
e shenuar (target) ne memorjen kryesore. Nese nje sukses ne PT ndodh atehere adresa
fizike korresponduese gjenerohet (sic u diskutua me pare) dhe nje kerkim percillet tek
blloku qe permban elementin e kerkuar (sic u diskutua me pare). Kjo do te kerkoje nje
rifreskim te TLB-se.
Nga ana tjeter nje humbje PT ndodh (duke treguar gabim ne faqe) atehere faqja qe
permban elementin e kerkuar kopjohet nga disku ne memorjen kryesore, nje bllok
kopjohet ne cache dhe elementi cohet ne procesor. Ky skenar i fundit do te kerkoje
rifreskim te tabeles se faqes, memorjes kryesore dhe te cache-se. Nje sekuence e
adreses virtualete kerkuar nga procesori do te coje ne rifreskimin e TLB-se.
7.2.7 Segmentimi
Nje segment eshte nje bllok i vendosjeve te aferta me permasa te ndryshme. Segmentet
jane perdorur nga sistemi operativ (OS- operating system) per te rivendosur programe
te plota ne memorjen kryesore dhe ne disk. Segmentet mund te ndahen midis
programeve. Ata sigurojne mbrojtjen ndaj aksesit dhe/ ose egzekutimit te paautorizuar.
Nuk eshte e mundur futja e segmenteve nga segmente te tjera, kjo ndodh vetem kur
specifikohet me perpara. Te dhenat e segmenteve dhe kodet e segmenteve jane te
ndara. Gjithashtu nuk eshte e mundur te ndryshojme informacionin ne kodin e
segmentit ndersa marrim nje instruksion, as te egzekutoje te dhena ne te dhenat e
segmentit.
7.2.8. Perkthimi I adreses se segmentit
Ne menyre qe te mbeshtesim segmentimin, adresa e leshuar nga procesori duhet te
konkonsistoje ne nje numer segmenti (baze) dhe nje zhvendosje (ose nje offset) brenda
segmentit. Adresa e transferuar shfaqet direkt permes nje tabele segmentimi. Adresa
fillestare e segmentit te etiketuar merret duke shtuar numrin e segmentit ne tabelen
treguese te tij. Nje perberes i rendesishem i tables segment eshte adresa fizike baze e
segmentit. Shtimi me vone i fushave te offset-it kerkon adresen fizike
Fig. 7.18 iluston procesin e perkthimit te adreses se segmentit
Informacione shtese te mundeshme qe perfshihen ne ne tabelen e esegmentuar
permbajne:
1. Gjatesine e segmentit
2. Mbrojtjen e memorjes ( read-only, execute-only, system-only, etj)
3. Algoritmi i zevendesimit(i ngjashem me ate te sistemit te faqeve)
Figura 7.18 Perkthimi i adreses se segmenti
4. Algoritmi i vendosjes(duke gjetur nje vend te pershtatshem ne memorjen
kryesore qe te mbaje segmentin ne hyrje). Shembujt perfshijne
(a) pershtatja e pare
(b) pershtatja me e mire
(c) pershtatja me e keqe
7.2.9. Segmentimi i faqes
Si segmentimi dhe faqosja jane te kombinuara ne pjesen me te madhe te sistemeve.
Cdo sistem eshte i ndare ne nje numer faqesh me te njejtat permasa. Njesia baze per
transferimin e te dhenave midis memorjes kryesore dhe diskut eshte faqja, kjo eshte
ne cdo kohe te dhene, memorja kryesore mund te mbaje faqe nga segmente te
ndryshme. Ne kete rast adresa virtuale eshte ndare ne numer segmenti, numer faqeje
dhe zhvendosje ndermjet faqes. Perkthimi i adreses eshte i njejte me ate qe u shpjegua
me lart me perjashtimin se adresa baze fizike e segmentit i marre nga tabela e
segementit shtohet tani ne numrin e faqes virtuale ne menyre qe te merret hyrja e
duhur ne tabelen e faqes. Outputi i tabels faqe eshte adresa e faqes fizike, e cila, kur
lidhet me fushen e fjales se adreses virtuale rezulton ne adrese fizike. Figura 7.19 na
ilustron perkthimin e adreses se faqes se segmentuar.
Figura 7.19 Perkthimi i adresave te faqes se segmentuar
7.2.10. Manaxhimi i Memorjes Pentium
Ne procesorin Pentium, si segmentimi dhe faqosja jane individualisht te disponueshem
dhe munden gjithashtu te c’aktivizohen.Egzistojne kater pamje te dallueshme te
memorjes:
1. Memorja e pasegementuar e pafaqosur
2. Memorja e pasegementuar e faqosur
3. Memorja e segementuar e pafaqosur
4. Memorja e segementuar e faqosur
Per segmentimin, numri i segmenteve 16-bit (dy nga te cilet jane perdorur per
mbrojtje) dhe offset-i 32-bit prodhojne nje hapesire ne adresen virtuale te segmentuar
te njejte me 246
= 64 terabytes. Hapesira e adreses virtuale eshte e ndare ne dy pjese:
njera gjysem qe eshte 8K x 4 GB, eshte globale (teresore) dhe ndahet (share) midis
gjithe procesoreve dhe gjysma tjeter eshte locale dhe e percaktuar per cdo proces.
Per faqosjen, nje tabele dy-nivelesh perdoret per permiresimin e sistemit te
faqosjes. Niveli i pare eshte nje direktori faqeje me 1024 hyrje, qe eshte, 1024 grupe
faqeje, secila me nga nje tabele faqeje te saj dhe secila me gjatesi KATER MB. Cdo
tabele faqeje permban 1024 hyrje, secila hyrje korrespondon me nje faqe te vetme 4
KB.
7.3. Memorja Read-Only
Akseset e rastesishem sikur se ai i memorjeve cache jane shembuj te memorjeve te
paqendrueshme (volatile). Nje ruajtje e paqendrueshme perkufizohet si nje e tille qe
humbet permbajtjen kur sistemi fiket. Ruajtjet e memorjeve te qendrueshme
(nonvolatile) jane ato qe e mbajne informacionin e ruajtur kur sistemi fiket. Nese lind
nevoja per ruajtjen e paqendrueshme te sistemit, ka gjithashtu nevoje per nje ruajtje te
qendrueshme. Sistemi i kompjuterit rinis nenrutinat, kontrollin e mikrokodeve dhe te
paketes se video game-eve. Keto jane vetem disa nga shembujt qe software – i i
kompjuterit kerkon te perdore ne memorjen e qendrueshme. Memorja Read-Only
(ROM) mund te perdoret gjithashtu qe te realizoje kombinimin logjik te funksioneve.
Teknologjia e perdorur ne implementimin e chip-eve ROM ka evoluar gjate
viteve. Fillimisht implemetimi i ROM-eve u quajt mask-programmed ROMs. Ne kete
rast urdheri i bere nje here ROM-i programohet sipas menyrave specifike te kodimit,
te pranuara nga perdoruesit. Struktura 4 x 4 e nje chip-i CMOS ROM tregohet ne
figuren 7.20.
Ne kete figure nje transistor i tipit n eshte vendosur atje ku 1- shi do te ruhet. Nje
decoder adresash two-to-four (dy-kater) eshte perdorur per te krijuar kater linjat e
fjales; secila eshte perdorur per te aktivizuar nje rresht te tranzistoreve. Kur 1-shi
shfaqet ne linjen e fjales, tranzistori korrespondues do te hapet, kjo do te shtyje linjen
korresponduese bit ne 0 (zero). Nje inverter ne dalje te linjave bit perdoret per te
nxjerre 1-sh ne dalje te atyre linjave bit me nivel te ulet. Tabela 7.3 tregon menyrat e
ruajtjes te seciles nga kater vendndodhejet e ROM-it.
Maskat e programimit ROM – it fillimisht jane perdorur per te ruajtur
mikrokodet e makines, inicjalizimin e desktopit dhe paketave te lojrave video.
Figura 7.20 Shembull chip-i ROM-i CMOS 4 x 4
Tabela 7.3 Modelet e ruajtura ne kater vendndodhjet e ROM-it Linja e adresave Linja e fjaleve te aktivizuara Modeli I output-it
00
01
10
11
W0
W1
W2
W3
1001
0110
1010
0101
Meqenese ato programohen vetem nje here nga prodhuesi, maskat e programimit ROM
nuk jane fleksibel. Nese perdoruesi do te programoje ROM-in e tij/saj ne site nje lloj
tjeter ROM-i , i quajtur Programable ROM (PROM) (ROM I programueshem) duhet te
perdoret. Ne kete rast, siguresat jane vendosur ne vend te tranzistoreve, ne kryqezimet
e linjave te fjaleve dhe bit-eve. Perdoruesi mund te programoje PROM-in duke hequr
siguresen e pershtatshme. Kjo ben te mundur lejimin e nje rryme te larte te rrjedhe ne
siguresat e vecanta e cila shkakton hapjen e tyre. Ky proces quhet “diegie e ROM-it”.
Nepermjet tyre mund te shtohen disa informacione. PROM-i qendron i kufizuar nga
fakti qe ai mund te programohet vetem nje here (nga perdoruesi). Tipi i trete i ROM-it
quhet PROM i fshijshem (EPROM), ai eshte i riprogramueshem;sepse lejon qe te
dhenat e ruajtura te fshihen dhe te ruhen te dhena te reja. Ne menyre qe te ruaje kete
fleksibilitet EPROM-et jane ndertuar duke perdorur tipe tranzistoresh speciale. Keta
tranzistore mundet te marrin dy gjendje : normale dhe te c’aktivizuar. Tranzistori i
c’aktivizuar i ngjan nje celesi te c’kycur gjate gjithe kohes. Tranzistori normal mund te
progrmohet te qendroje i hapur gjate gjithe kohes, duke induktuar nje sasi te caktuar
rryme te kaloje nepermjet portes. Tranzistori i c’aktivizuar mund te sillet si normal
duke hequr rrymen e induktimit. Kjo kerkon ekspozimin e ketyre tranzistoreve ne rreze
ultraviolet. Ekspozimin ne to, con ne fshirjen e permbajtjes se te gjithe cip-it. Ky
konsiderohet si disavantazhi me i madh i EPROM-it. Si PROM-i dhe EPROM-i
perdoren si prototipe te sistemeve me madhesi mesatare.
Flash EPROM ( FEPROM) doli si konkuruesi me i forte i EPROM-it. Kjo sepse
FEPROM-i eshte me i shpejte, me compact dhe i zevendesueshem krahasuar me
EPROM-in.
Nje tjeter ROM, qe rregullon dizavantazhin e EPROM-t, eshte EPROM-i Elektrik
(EEPROM). Ne kete rast fshirja e EEPROM-it kryhet ne menyre elektrike, dhe aq me
teper ne menyre te selektuar. Ne kete menyre mund te fshihet vetem informacioni i
qelizave te caktuara, duke lene te pa ndryshueshem pjesen tjeter. Si EEPROM dhe
FEPROM perdoren ne aplikacione qe kerkojne nje rifreskim te te dhenave, si per
shembull: TV e programueshem, VCR-te, Makinat etj.
Tabela 7.4 permbledh karakteristikat kryesore te tipeve te ndryshem te ROM-eve te
diskutuara me lart.
Tabela 7.4 Karakteristikat e implementimit te ROM-eve te ndryshem
Tipi i ROM Kosto Programimi Aplikimet tipike ROMmask-programmed
PROM
EPROM
FEPROM
EEPROM
Vertete e pakushtueshme
E pakushtueshme
E pa tepruar
E shtrenjte
Shume e shtrenjte
Njehere ne prodhim
Njehere ne site
Shume here
Shume here
Shume here
Mikrocode
Prototip
Prototip
VCR& TVs
VCR& TVs