kapitulli 7 - Memoria kryesore

23
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 A n-1, A n-2 … A 1 A 0 jane perdorur si inpute te dekoderit te adresave me qellim qe te gjeneroje linjat e fjales se selektuar W 2 n -1 …W 1 W 0 . 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’akt ivizuar 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 N 2 do te jete ne “on” (pozicion pune) dhe pika B=0 e cila ne kthim shkakton qe tranzistori P te jete “ on “ duke shkaktuar p iken A=1. Kjo paraqet nje gjendje stabel te qelizes, te quajtur gjendja 1.

Transcript of kapitulli 7 - Memoria kryesore

Page 1: 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.

Page 2: kapitulli 7 - Memoria kryesore

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

Page 3: kapitulli 7 - Memoria kryesore

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

Page 4: kapitulli 7 - Memoria kryesore

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

Page 5: kapitulli 7 - Memoria kryesore

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)

Page 6: kapitulli 7 - Memoria kryesore

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)

Page 7: kapitulli 7 - Memoria kryesore

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.

Page 8: kapitulli 7 - Memoria kryesore

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

Page 9: kapitulli 7 - Memoria kryesore

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

Page 10: kapitulli 7 - Memoria 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.

Page 11: kapitulli 7 - Memoria kryesore

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.

Page 12: kapitulli 7 - Memoria kryesore

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

Page 13: kapitulli 7 - Memoria kryesore

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

Page 14: kapitulli 7 - Memoria kryesore

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.

Page 15: kapitulli 7 - Memoria kryesore

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

Page 16: kapitulli 7 - Memoria kryesore

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.

Page 17: kapitulli 7 - Memoria kryesore

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

Page 18: kapitulli 7 - Memoria 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

Page 19: kapitulli 7 - Memoria kryesore

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)

Page 20: kapitulli 7 - Memoria kryesore

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.

Page 21: kapitulli 7 - Memoria kryesore

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.

Page 22: kapitulli 7 - Memoria kryesore

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

Page 23: kapitulli 7 - Memoria kryesore

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