Download as pdf or txt
Download as pdf or txt
You are on page 1of 40

Arkitektura e Kompjuterave

Sistemi i Memories II
Leksioni VII

Hierarkia e memories
Gjashte optimizime te Cachese:

Blloqe me te medhenj
+ Redukton disa tipe deshtimesh
- Rrit deshtimet per shkak te kapacitetit dhe konflikteve
dhe rrit penalitetin
Te rrisim kapacitetin e Cache
- Rritet koha e gjetjes, rritet fuqia e konsumuar
Shoqerueshmeri me e larte
+ Redukton deshtimet per shkak te konfliktit
- Rritet koha e gjetjes, rritet fuqia e konsumuar
Numer me i madh nivelesh te cache
+ Redukton kohen mesatare te aksesit te memories
I jepet prioritet deshtimeve ne lexim sesa ne shkrim
+ Redukton penalitetin ndaj deshtimit
Shmangia e perkthimit te adreses ne indeksimin e cache
+ Redukton kohen e gjetjes
2

Multibanked Cache
Organizohet Cache ne disa pjese (banks) te
pavarura per te mbeshtetur akseset paralele
Shembuj reale:
ARM Cortex-A8 suporton 1-4 banke per L2
Intel i7 suporton 4 banke per L1 dhe 8 banke per L2

Shperndahen blloqet e njepasnjeshme ne pjese


te ndryshme

Memoria kryesore
Memoria e punes eshte vendruajtja kryesore e
informacionit per kompjuterin.
Dy jane regjistrat e CPU qe perdoren per te bere
nderfaqen me memorien:
Memory Address Register (MAR) dhe
Memory Data Register (MDR): mban te dhenat qe do te ruhen
dhe/ose lexon nga memoria kryesore ne adresen qe specifikohet
nga MAR.

Memoria kryesore
Eshte e mundur te paraqesim strukturen e brendshme
te memories kryesore si e perbere nga rrjeshta dhe
kolona me qeliza elementare. Cdo qelize eshte e afte
per te ruajtur 1 bit informacioni.

Memoria SRAM
Ne teknologjine CMOS, cdo qelize memorieje
perbehet nga 6 tranzistore.
Gjashte tranzistoret e qelizes CMOS perbejne dy
invertera te lidhur krah per krah. Duhet te theksojme
qe qeliza ekziston ne njeren nga dy gjendjet.
Tranzistoret T5 dhe T6 perdoren per te lidhur qelizen
me dy linjat e te dhenave (linjat e bitit).
Nese selektimi i fjales nuk eshte i aktivizuar, keto dy
tranzistore jane te mbyllur, duke mbrojtur qelizen nga
sinjalet qe mbarten ne linjen e te dhenave.
Dy tranzistoret hapen kur linja e selektimit te fjales
eshte e aktivizuar. Ajo qe ndodh kur te dy tranzistoret
jane te hapur, varet nga tipi i operacionit ne memorie.
6

Memoria SRAM
Qelize statike CMOS

Memoria SRAM

Operacioni i leximit

Te dy linjat B dhe B vendosen ne 1.


Linja e selektimit te fjales aktivizohet, duke hapur tranzistoret
T5 dhe T6.
Ne varesi te vleres se ruajtur ne qelize, pika C1 (C2) do te
coje ne shkarkimin e linjes B( B ).

Memoria SRAM

Operacioni i shkrimit

Linjat e biteve jane te parangarkuara ne menyre qe B(B ) = 1(0).


Linja e selektimit te fjales aktivizohet, duke hapur tranzistoret T5
dhe T6.
Linja e bitit e ngarkuar me 0 do te drejtoje piken C1 (C2), e cila
eshte ne 1 drejt 0.

Memoria kryesore

Ndertimi i brendshem i memories duhet te plotesoje


nje faktor te rendesishem te projektimit te memorieve
:nje perdorim eficent te cipit te memories.

10

Memoria kryesore

Nje faktor tjeter i rendesishem ne projektimin e


memories kryesore eshte edhe numri i pin-eve te
chip-it te memories.

Organizime te ndryshme me te njejtin kapacitet, kane kerkesa


te ndryshme persa i perket numrit te pineve.

Organizimi Numri i linjave te adreses

Numri i linjave te te dhenave

4K 1

12

1K 4

10

512 8

256 16

16
11

Memoria kryesore

Nje tjeter faktor qe ka rendesi ne projektimin e sistemit


te memories eshte numri i chip-eve.
Duhet kuptuar se kapaciteti i memories per chip
behet nje faktor limitues per memorien kryesore.

12

Memoria kryesore

Sistemi i memories mund te organizohet me 4


rrjeshta ku secili rrjesht ka 8 chip-e.

13

DRAM (ndertimi)

Eshte e mundur te perdoret 1 tranzistor ne nje qelize


dinamike ne vend te 6 tranzistorave ne nje qelize
statike.
Memoria dinamike ben ruajtjen e informacionit ne nje
kondensator dhe nje tranzistor sherben si celes.
Perdorimi i memories dinamike sjell kursimin e
hapsires se qarkut.
Megjithate per shkak te mundesise se humbjes se
vleres llogjike te ruajtur ne kondensator, memoria
dinamike kerkon rifreskim periodik (cdo disa
millisekonda, zakonisht 8ms) ne menyre qe te
perforcoje vlerat llogjike te ruajtura ne qeliza.
14

Memoria kryesore

Qarku i lexim/shkrimit kryen funksionin e degjimit


te linjes se bitit, e amplifikon, dhe rifreskon vleren
e ruajtur ne kondensator.

15

Memoria kryesore

Ne menyre qe te reduktohet numri i pin-eve te


kerkuara per ndertimin e memories dinamike, eshte
praktike normale ndarja e linjave te adreses ne
adrese rrjeshti dhe adrese kolone.
Per me teper adresat e rrjeshtave dhe kolonave
transmetohen ne te njejtat pin-e te memories , njera
pas tjetres ne nje skeme te njohur si multipleksim ne
kohe.
Kjo pergjysmon numrin e adresave qe duhen. Per
shkak te multipleksimit ne kohe te adresave eshte e
nevojshme qe te shtohen dy lija kontrolli qe quhen:
row address strobe ( RAS ) dhe column address
strobe ( CAS ).
16

Memoria kryesore

Keto dy linja kontrolli sherbejne per ti treguar qarkut te


memories se kur adresat e rrjeshtit jane te vlefshme
dhe kur adresat e kolonave jane te vlefshme.

17

18

Synchronous DRAM (SDRAM)

Aksesi sinkronizohet me nje clock te jashtem.


Adresa i prezantohet RAM.
RAM gjen te dhenat.
Meqenese SDRAM leviz te dhenat nepermjet
sinkronizimit te ores, CPU e di kur te dhenat do te jene
gati.
CPU nuk pret por kryen nje detyre tjeter.
Transferimi me Burst i lejon SDRAM te bashkoje nje
grup te dhenash dhe ta japi si nje bllok.
DDR-SDRAM dergon te dhena dy here gjate nje cikli.

19

DDR SDRAM

20

Optimizimet e memories

21

Memoria Virtuale
Perdor memorien kryesore si cache per
vendruajtjen sekondare te info. (disku)
Menaxhohet nga bashkepunimi midis hardware-it
te CPU dhe sistemit operativ.
Programet ndajne memorien kryesore por cdo
programi i jepet nje hapsire private virtuale
adresash ne te cilen mban te dhenat e veta.
Mbrohet nga programet e tjere, CPU dhe SO
perkthejne adresat virtuale ne adresa fizike.
Blloku i mem. virtuale quhet faqe(page).
Deshtimi (miss) ne aksesimin e nje faqe quhet
gabim ne faqe (page fault).
22

Perkthimi i adreses
Faqe me madhesi fikse (p.sh., 4K)

23

Penaliteti ndaj deshtimit te nje faqe


Ne rast deshtimi te gjetjes se faqes, faqja duhet
te ngarkohet nga disku.
Kerkon miliona cikle ore.
Menaxhohet nga kodi i sistemit operativ.
Perpjekje per te minimizuar frekuencen e
deshtimeve.
Vendosje totalisht shoqeruese + algoritma
inteligjente zevendesimi.

24

Tabelat e faqeve
Ruan informacionin e vendosjes se faqeve.
Matrice me rrjeshta qe perfaqesojne faqet,
indeksohet nga numri i faqes virtuale.
Regjistri i tabeles se faqeve ne CPU shenjon tek
vendodhja e saj ne memorie.
Nese faqja eshte e pranishme ne memorie atehere
nje rrjesht ne tabele ruan numrin e faqes fizike.
Plus bite te tjera te gjendjes (referencuar, dirty, )
Nese faqja nuk eshte e pranishme rrjeshti ne tabele
referon nje adrese ne hapsiren e swap ne disk.

25

Perkthimi duke perdorur tabelen e


faqeve

26

Hartezimi i faqeve ne disk

27

Zevendesimi dhe shkrimet


Per te reduktuar frekuencen e deshtimeve te
faqeve, preferohet per zevendesim algoritmi
(LRU).
Biti i referencimit (use bit) ne rrjeshtin e
tabeles eshte 1 ne rast kur faqja aksesohet.
Periodikisht kthehet ne 0 nga SO.
Nje faqe me bit referencimi= 0 nuk eshte
perdorur se fundmi.
Shkrimet ne disk kerkojne miliona cikle.
Shkruhen blloqe dhe jo lokacione te vecanta.
Write through eshte i paperdorshem.
Perdoret write-back.
Biti dirty vendoset 1 ne faqe kur ajo shkruhet.

28

Perkthimi i shpejte duke perdorur TLB


Perkthimi i adreses na kerkon disa referenca ndaj
memories.
Nje per te aksesuar rrjeshtin ne tabele dhe me tej
aksesi i vertete i informacionit te kerkuar.
Por aksesi ne tabelen e faqeve shfaq nje lokalitet te
mire keshtu qe mund te perdorim nje Cache te
vecante qe ndodhet ne CPU per ruajtur disa
rrjeshta te tabeles se faqeve.
Kjo memorie quhet Translation Look-aside Buffer
(TLB).
Zakonisht: 16512 rrjeshta, 0.51 cikle per hit, 10
100 cikle per miss, 0.01%1% miss rate
Deshtimet(miss) mund te menaxhohen si nga HW
29
dhe nga SW

Perkthimi i shpejte duke perdorur TLB

30

Deshtimet e TLB
Nese faqja eshte ne memorie atehere ngarkohet
rrjeshti nga tabela e faqeve dhe riekzekutohet
instruksioni qe shkaktoi deshtimin.
Deshtimi mund te menaxhohet ne HW por kjo
mund te sjelle kompleksitet ne strukturat qe do te
mbajne informacionin e nevojshem.
Si alternative deshtimi menaxhohet me SW, ku
ngrihet nje perjashtim i vecante, me nje
menaxher te optimizuar.
Nese faqja nuk eshte ne memorie (page fault)
SO menaxhon ngarkimin e faqes dhe modifikimin
e tabeles.
Me tej restartohet ekzekutimi i instruksionit qe
shkaktoi deshtim.
31

Menaxheri i TLB miss


Nje TLB miss tregon qe:
Faqja eshte prezente, por rrjeshti perkates
nuk ndodhet ne TLB, ose faqja nuk eshte
prezente.
Duhet njohur TLB miss perpara se regjistri
destinacion te mbishkruhet nga instruksioni.
Ngrihet nje perjashtim dhe menaxheri kopjon
rrjeshtin e tabeles se faqeve nga memoria ne
TLB, me tej restarton ekzekutimin e instruksionit.
Nese faqja nuk eshte prezente, ndodh nje page
fault
32

Menaxheri i Page Fault


Perdor adresen virtuale per te gjetur rrjeshtin ne
tabelen e faqeve.
Lokalizohet faqja ne disk.
Zgjidhet faqja per tu zevendesuar.
Nese eshte dirty, shkruhet fillimisht ne disk.
Lexo faqen ne memorie dhe rifresko tabelen e
faqeve.
Rifillo nga instruksioni qe shkaktoi deshtimin.

33

Nderveprimi midis TLB dhe Cache


Nese etiketa e Cache
perdor adrese fizike
Duhet perkthyer adresa
perpara se te behet
kerkimi i Cache

Alternativa: perdor
etiketen e adreses
virtuale
Komplikime per shkak
te sinonimeve
Adresa virtuale te
ndryshme per nje hapsire
fizike te perbashket

Mbrojtja e memories

Procese te ndryshem mund te ndajne pjese te


hapsires se tyre virtuale te adresave.
Por duhet ta mbrojne nga akseset e gabuara.
Kerkohet asistenca e SO per te kryear kete.
Nevoja per mbeshtetje nga HW per mbrojtjen e
ofruar nga SO ne tre nivele:
Menyra e privilegjuar supervizor
(ndryshe kernel mode).
Instruksione te privilegjuara.
Tabela e faqeve dhe informacione te tjera
gjendjeje mund te aksesohen vetem ne
menyren supervizor.
35

Hierarkia e memories (aspekte te vecante)

Principe te perbashketa zbatohen ne te gjithe


nivelet e hierarkise.
Bazuar ne nocionin e cachimit.
Ne cdo nivel te hierarkise kemi:
Vendosja e bllokut
Gjetja e bllokut
Zevendesimi ne rast deshtimi
Politika e shkrimit

36

Vendosja e bllokut

Percaktohet nga shoqerueshmeria


Adresim Direkt (1-way associative)
Nje zgjedhje per vendosje
n-way set associative
n zgjedhje brenda setit
Totalisht shoqeruese
Cdo vendodhje
Shoqerueshmeri e larte ul miss rate
Rritet kompleksiteti, kosto, dhe koha e aksesit

37

Gjetja e nje blloku


Shoqerueshmeria

Metoda e vendndodhjes

Krahasimi i etiketes

Adresim direkt

Indeks

n set shoqerues

Indeksi i Setit, me tej


kerko hyrjet brenda nje
seti

Totalisht shoqerues

Kerko te gjithe hyrjet

#hyrjeve

Kerkim i plote i tabeles

Cache hardware
Redukton krahasimet per te reduktuar koston

Memoria virtuale
Shikimi i gjithe tabeles e ben sistemin totalisht te
shoqerueshem problematik
Si benefit kemi nje miss rate me te ulet
38

Permbledhje

U mbuluan aspektet kryesore te projektimit duke


u bazuar ne strukturen e brendshme te
memories.
U prezantua ndertimi i brendshem i qelizes statike
RAM me fokus ne operacionet e shkrimit dhe
leximit.
U diskutuan dhe analizuan tre teknika te perkthimit te
adresave.
U paraqit perdorimi i TLB per te reduktuar kohen
mesatare te aksesimit.

39

Literatura
1. Organizimi dhe arkitektura e kompjuterave (A.Cami) (fq.
368-376)
2. Arkitektura e kompjuterave (A.Cami) (fq. 172-187, 201206)
3. Computer Organization and Design (Patterson,
Hennessy) (fq.492-510)

40

You might also like