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

Arkitektura e Kompjuterave

Sistemi i Memories
Leksioni VI

Njesite kryesore funksionale


Njesia
arithmetike
llogjike

Input
Memoria

Kontrolli

Output

I/O

Procesori

Koncepte kryesore te memories


Madhesia maksimale e memories
Adresimi ne nivel byte
Lidhja midis CPU-Memories
Procesori

k-bit
busi i adresave

Memoria

MAR
n-bit
busi i te dhenave
MDR

Deri ne2k vendndodhje


te adresueshme
Madhesia e fjales= n bite

linjat e kontrollit
( R / W , MFC, etj.)

Koncepte kryesore te memories


Problem i rendesishem i projektimit eshte
paisja e sistemit me nje memorie sa me te
madhe brenda nje kostoje te parashikuar.
Parametra te shpejtesise se memories:
koha e ciklit
koha e aksesit
Sot, perdoren disa teknika per te rritur
shpejtesine dhe madhesine e memories.

Principi i Lokalitetit
Programet aksesojne nje pjese te vogel te hapsires se tyre te
adresimit (Lokaliteti i referencave).
Lokaliteti kohor (Temporal Locality)
Elementet e aksesuar se fundmi kane shume
mundesi te aksesohen serish
Shembull: instruksionet ne cikel, variablat e ndryshme,
Lokaliteti hapsinor
Elementet afer me ata qe jane aksesuar se fundmi
kane mundesi te aksesohen shpejte
Shembull: instruksionet sekuenciale, elementet e
matrices

Perfitimi nga lokaliteti


Hierarkia e Memories
Ruaj gjithcka ne disk.
Kopjo elementet e aksesuar se fundmi (dhe ato afer)
ne nje nivel me afer procesorit .
Memoria RAM
Kopjo elementet me te perdorur akoma me afer CPU
Niveli i siperm i hierarkise.

Hierarkia e Memories

Teknologjite e perdorura

Konceptet Kryesore
Sekuenca e ngjarjeve qe ndodhin kur procesori ben nje kerkese per nje te
dhene:
Fillimisht, elementi kerkohet ne nivelin e pare te hierarkise.
Ngjarja e gjetjes se elementit ne nivelin e pare quhet hit
Probabiliteti per ta gjetur elementin ne nivelin e pare te
hierarkise quhet "hit ratio", h1
Probabiliteti per mos ta gjetur (missing) elementin e kerkuar
ne nivelin e pare te hierarkise quhet miss ratio, (1- h1).
Kur elementi i kerkuar shkakton nje deshtim (miss), ai kerkohet
ne nivelin e meposhtem te hierarkise.
Probabiliteti per te gjetur elementin ne nivelin e dyte te
hierarkise, "hit ratio" per nivelin e dyte, eshte h2
"miss ratio" per nivelin e dyte te hierarkise eshte (1- h2)
Procesi perseritet derisa elementi gjendet. Ne momentin qe ai
gjendet, dergohet tek niveli i siperm i hierarkise dhe me tej
procesorit.

Ndikimi i lokalitetit
Impakti i lokalitetit kohor
Ne kete rast supozohet qe instruksionet qe ndodhen ne cikel,
ekzekutohen shume here, p.sh. n here, ne momentin qe
ngarkohen ne cache perdoren me shume se nje here derisa
zevendesohet nga instruksione te tjere. Koha mesatare e
aksesimit, tav, jepet nga formula:
nt + t
t
tav = c m = tc + m
n
n
Shprehja e mesiperme tregon se ndersa numri i akseseve n,
rritet, koha mesatare e aksesimit te elementit bie, pra nje tipar i
hierarkise se memories

Ndikimi i lokalitetit
Impakti i lokalitetit hapesinor
Ne kete rast supozohet se madhesia e bllokut qe transferohet
nga memoria ne cache, ne rastin e deshtimit te aksesit, eshte m
elemente. Supozohet gjithashtu se per shkak te lokalitetit
hapesinor m elementetet do te kerkohen nga procesori njeri pas
tjetrit. Duke bere keto supozime, koha mesatare e aksesit te m
elementeve, tav, eshte:
tav =

t
mtc + tm
= tc + m
m
m

Shprehja e mesiperme tregon qe ndersa numri i elementeve ne


nje bllok m, rritet, koha mesatare e aksesit zvogelohet.

Ndikimi i lokalitetit
Impakti i kombinimit te lokaliteteve
Ne kete rast supozohet qe elementi qe kerkohet nga procesori
gjeneron nje deshtim ne aksesin e cache (cache miss) duke
cuar ne transferimin e nje blloku, qe perbehet nga m elemente,
drejt cache (koha tm).
Per shkak te lokalitetit hapsinore, te gjithe m elementet qe
perbejne nje bllok kerkohen nga procesori, nje ne kohe, (koha
mtc).
Duke ndjekur arsyetim elementi origjinal i kerkuar do te aksesohet
(n-1) here ne cache (lokaliteti kohor), qe do te thote, nje total
prej n aksesesh te elementit.
Koha mesatare e aksesit, tav , eshte:
t
mtc + tm
+ (n 1)t c tc + m + (n 1)t c
t
m
m
=
= m + tc
tav =
n
n
nm

Memoria Cache
Niveli i hierarkise me afer me CPU
Aksesimi i fjaleve X1,X2,.,Xn-1 dhe Xn
Si te marrim vesh nese e dhena ndodhet ne Cache?
Nese ndodhet, si ta gjejme ku eshte?

Memoria Cache
Politika e organizimit te cache
Politika e organizimit te cache prezantohet duke pasur parasysh
dy nivele te njepasnjeshme ne hierarkine e memories:
Niveli i pare dhe niveli i dyte.
Nese fokusi eshte ne nderfaqen midis cache dhe memorie,
atehere cache eshte niveli primar i hierarkise dhe memoria eshte
niveli sekondar.

Memoria Cache
Politika e organizimit te cache
Nje kerkese per aksesimin e nje elementi te memories behet nga
procesori duke gjeneruar adresen e elementit te kerkuar.
Adresa e gjeneruar nga procesori mund te korespondoje me ate
te nje elementi qe ndodhet ne cache (cache hit); perndryshe
mund ti korispondoje nje elementi qe ndodhet ne memorien
kryesore.
Prandaj duhet te behet nje perkthim adrese per te percaktuar ku
ndodhet elementi.
Ky funksion kryhet nga njesia e menaxhimit te
memories Memory Management Unit (MMU).

Memoria Cache
Politika e organizimit te cache

Memoria Cache
Politika e organizimit te cache
Ka tre politika organizimi per memorien cache:
Organizimi direkt (Direct mapping)
Organizimi shoqerues (Associative mapping)
Organizimi set shoqerues (Set-associative mapping)

Keto teknika ndryshojne ne dy aspekte kryesore:


Kriteri qe perdoret per te vendosur ne cache, nje bllok qe vjen
nga memoria.
Kriteri qe perdoret per te zevendesuar nje bllok ne cache me nje
bllok te ri (kur cache eshte plote).

Memoria Cache
Politika e organizimit te cache Hartezimi Direkt
Kjo eshte teknika me e thjeshte e perdorur.
Thjeshtesia vjen nga fakti qe vendos nje bllok qe vjen nga memoria
kryesore ne nje pozicion specifik te vendodhjes ne cache.
Vendosja behet ne baze te nje relacioni midis bllokut ardhes i, numri i
bllokut ne cache j, dhe numri i blloqeve ne cache, N pra j = i mod N .

Memoria Cache

Memoria Cache
Politika e organizimit te cache - Hartezimi Direkt
Avantazhi me i madh i kesaj politike organizimi qendron tek
thjeshtesia ne percaktimin e vendit ne cache ku do qendroje
blloku i ri i ardhur nga memoria kryesore.
Disavantazhi me i madh qendron ne perdorimin jo eficente te
cache.
Kjo sepse sipas kesaj teknike nje numer i caktuar blloqet nga
memoria kryesore duhet te konkurojne per te njejtin vend ne cache
edhe pse ne cache ka vende te tjera te lira. Ky disavantazh do te
coje ne nje nivel te ulet hit ratio.

Memoria Cache
Politika e organizimit te cache - Hartezimi Direkt
Sipas teknikes se hartezimit direkt, njesia e menaxhimit te
memories (MMU) interpreton adresen e gjeneruar nga
procesori duke e ndare ne tre pjese :

Madhesia, ne bit, i fushave te mesiperme eshte:


(1) Fusha e fjales (Word Field) = log2 B , ku B eshte madhesia
e bllokut ne fjale.
(2) Fusha e bllokut(Block Field) = log2 N , ku N eshte
madhesia e cachese ne blloqe.
(3) Etiketa = log 2 M , ku M eshte madhesia e mem.
kryesore ne blloqe. N
(4) Numri i biteve ne adresen e memories kryesore = log2 (B M )

Memoria Cache
Politika e organizimit te cache - Hartezimi Direkt

Cache Shembull
8-blloqe, 1 word/bllok, adresim direkt
Gjendja fillestare

Index

000

001

010

011

100

101

110

111

Tag

Data

Cache Shembull
Word addr

Binary addr

Hit/miss

Cache block

22

10 110

Miss

110

Index

000

001

010

011

100

101

110

111

Tag

Data

10

Mem[10110]

Cache Shembull
Word addr

Binary addr

Hit/miss

Cache block

26

11 010

Miss

010

Index

000

001

010

011

100

101

110

111

Tag

Data

11

Mem[11010]

10

Mem[10110]

Cache Shembull
Word addr

Binary addr

Hit/miss

Cache block

22

10 110

Hit

110

26

11 010

Hit

010

Index

000

001

010

011

100

101

110

111

Tag

Data

11

Mem[11010]

10

Mem[10110]

Cache Shembull
Word addr

Binary addr

Hit/miss

Cache block

16

10 000

Miss

000

00 011

Miss

011

16

10 000

Hit

000

Index

Tag

Data

000

10

Mem[10000]

001

010

11

Mem[11010]

011

00

Mem[00011]

100

101

110

10

Mem[10110]

111

Cache Shembull
Word addr

Binary addr

Hit/miss

Cache block

18

10 010

Miss

010

Index

Tag

Data

000

10

Mem[10000]

001

010

10

Mem[10010]

011

00

Mem[00011]

100

101

110

10

Mem[10110]

111

Memoria Cache
Politika e organizimit te cache

Hartezim shoqerues

Nje bllok qe vjen nga memoria kryesore mund te vendoset ne cdo


pozicion te cache.
Prandaj adresa qe gjenerohet nga procesori duhet te kete vetem dy
fusha.
Etiketa: identifikon ne menyre unike bllokun qe eshte ne cache.
Fjala: identifikon nje element brenda bllokut qe kerkohet nga procesori.

Memoria Cache
Politika e organizimit te cache

Hartezim shoqerues

Njesia e menaxhimit te memories (MMU) interpreton adresen e


gjeneruar nga procesori ne dy fusha.
Madhesia ne bit per secilen fushe jepet me poshte:
(1) Fusha e fjales = log2 B, ku B eshte madhesia e bllokut ne fjale.
(2) Fusha e etiketes = log 2 M , ku M eshte madhesia e mem. ne blloqe.
(3) Numri i biteve ne adrese eshte = log2 (B M )

Memoria Cache
Politika e organizimit te cache Hartezim shoqerues

Memoria Cache
Politika e organizimit te cache Hartezim Set-shoqerues
Cache-ja ndahet ne nje numer set-esh.
Cdo set konsiston ne nje numer blloqesh.
Nje bllok nga memoria kryesore lidhet me nje set specifik te
cache bazuar ne ekuacionin s = i mod S, ke S eshte numri i seteve ne cache, i eshte numri i bllokut ne memorien kryesore, dhe
s eshte seti ne cache me te cilin lidhet blloku i.
Megjithate nje bllok nga memoria kryesore mund te vendoset
kudo brenda set-it.
Prandaj adresa e gjeneruar nga procesori ndahet ne tre fusha.
Etiketa: identifikon bllokun brenda nje seti.
Set: identifikon set-in e cachese qe mund te mbaje bllokun e
kerkuar.
Fjala: identifikon elementin brenda nje blloku.

Memoria Cache
Politika e organizimit te cache Hartezim Set-shoqerues

Shembull

Memoria Cache
Krahasimi cilesor ndermjet teknikave

Teknika e
hartezimit

Thjeshtesia Kerkim
shoqerues i
eti.
Direct
Po
Ska
Associative
Jo
Perdoret
Set-associative E moderuar I moderuar

Perdorimi i
cache-se

Teknikat e
zevendesimit

I Ulet
I larte
I moderuar

Nuk nevojitet
Po
Po

Memoria Cache
Teknikat e Zevendesimit
Zgjedhje e rastesishme: perfshin nje bllok te zgjedhur ne menyre
te rastesishme.
First-in-First-out, FIFO: blloku qe ka ndejtur ne cache per me
shume kohe.
Least Recently Used, LRU: blloku qe eshte perdorur me pak
gjate qendrimit ne cache.

Memoria Cache
Politikat e shkrimit ne cache
Koherenca ndermjet nje fjale ne cache dhe kopjes se saj ne
memorien kryesore duhet te mbahet ne cdo kohe.
Nje grup politikash (teknikash) perdoren per operacionet e
shkrimit per blloqet ne memorien kryesore per sa kohe qe ato
jane edhe ne cache.
Keto politika percaktojne edhe shkallen e koherences qe mund te
mbahet midis informacionit ne cache dhe kopjes se tij ne
memorien kryesore.

Memoria Cache
Politikat e shkrimit te Cache per nje akses te suksesshem
Ka dy politika te ndryshme per shkrimin ne nje cache hit:
Write-through
Cdo operacion shkrimi ne cache perseritet ne te njejten kohe edhe ne
memorien kryesore.
Kjo politike mban koherencen ndermjet informacionit ne cache dhe kopjes
se tij ne memorie dhe e gjithe kjo vjen me koston e kohes shtese per te
shkruar informacionin ne memorie. Kjo sjelle rritjen e kohes se aksesit.

Write-back
Te gjithe shkrimet behen ne cache.
Shkrimi ne memorie shtyhet deri kur vjen nevoja per zevendesim.
Cdo blloku ne cache i jepet nje bit, i quajtur dirty bit, qe tregon se te pakten
nje operacion shkrimi ka ndodhur ne bllok.
Ne momentin e zevendesimit shikohet biti i papastertise, nese eshte i
vendosur atehere blloku shkruhet ne memorien kryesore; perndryshe
blloku mbishkruhet nga blloku i ri.
Koherenca sigurohet vetem ne momentin e zevendesimit.

Memoria Cache
Politika e shkrimit ne cache ne momentin e deshtimit
te aksesit
Dy skema kryesore perdoren:
Write-allocate atehere kur blloku merret nga memoria kryesore
vendoset ne cache dhe shkruhet.
Write-no-allocate atehere kur blloku qe nuk gjendet ne cache
shkruhet ne memorien kryesore.

Ne pergjithesi cache-te e tipit write-through perdorin writeno-allocate ndersa write-back perdor write-allocate.

Memoria Cache
Politika e leximit te cache ne rast deshtim te aksesit
Dy strategji te ndryshme.
Ne te paren blloku qe mungon sillet ne cache nderkohe qe fjala e
kerkuar dergohet direkt ne CPU.
Ne te dyten blloku i munguar sillet i gjithi ne cache dhe me vone
fjala e kerkuar dergohet tek CPU.

Matja e performances se Cachese

Komponente te kohes se CPU


Cikle te ekzekutimit te programit
Perfshin kohen e kapjes ne cache
Ciklet e bllokimit te memories
Kryesisht nga deshtimet e cachese
Duke thjeshtuar supozimet kemi:

Ciklet e bllokimit te memories


Akseset e memories
=
Miss rate Miss penalty
Program
Instruksio ne
Miss
=

Miss penalty
Program
Instruksio n

Shembull i performances se Cache-se


Jepet:
I-cache miss rate = 2%
D-cache miss rate = 4%
Miss penalty = 100 cikle
CPI-ja baze (cache ideale) = 2
Load & store jane 36% te instruksioneve
Cikle miss per instruksion
I-cache: 0.02 100 = 2
D-cache: 0.36 0.04 100 = 1.44
CPI reale = 2 + 2 + 1.44 = 5.44
CPU ideale eshte 5.44/2 =2.72 here me e shpejte

Koha mesatare e aksesimit


Koha e kapjes (hit time) eshte e rendesishme per
performancen.
Average memory access time (AMAT)
AMAT = Hit time + Miss rate Miss penalty
Shembull
CPU me 1ns clock, hit time = 1 cikel, miss penalty = 20 cikle,
I-cache miss rate = 5%
AMAT = 1 + 0.05 20 = 2ns
2 cikle per instruksion

Cache me disa nivele


Cache-ja primare ne CPU
E vogel por e shpejte
Chache-ja Level-2 sherben deshtimet e cache-se primare
E madhe, e ngadalte por prape me e shpejte se
memoria kryesore
Memoria kryesore sherben deshtimet e cache-se L-2
Disa sisteme perdorin cache-ne L-3

Shembull Cache me disa nivele


Kemi
CPU me CPI = 1, frekuenca = 4GHz
Miss rate/instruksion = 2%
Koha e aksesit te memories = 100ns
Vetem me cache primare kemi
Miss penalty = 100ns/0.25ns = 400 cikle
CPI = 1 + 0.02 400 = 9

Shembull Cache me disa nivele


Shtojme L-2 cache
Koha e aksesit= 5ns
Miss rate global per mem. kryesore = 0.5%
Primary miss with L-2 hit
Penaliteti = 5ns/0.25ns = 20 cikle
Penaliteti ekstra= 400 cikle
CPI = 1 + 0.02 20 + 0.005 400 = 3.4
Rritja ne performance = 9/3.4 = 2.6

Konsiderata per Cache me disa nivele


Cache primare
Fokusi tek koha e kapjes minimale (hit time minimal)
L-2 cache
Fokusi ne miss rate te ulet ne menyre qe te shmanget
memoria kryesore
Hit time ka nje ndikim minimal
Rezultatet
L-1 cache me i vogel
Blloku ne L-1 eshte me i vogel se ne L-2

Shembuj reale
Analiza e organizimit te cache ne sistemet reale
Intel Pentium IV Processor Cache

Shembuj reale
Analiza e organizimit te cache ne sistemet reale
PowerPC 604 Processor Cache
Cache-ja PowerPC ndahet ne dy pjese cache data dhe cache
instruksion.
Te dy cache-te organizohen ne formatin 16-Kbyte four-way set
associative.

Organizimi i Cache
Madhesia e bllokut
Madhesia e memories
Madhesia e Cache
Numri i blloqeve per set
Numri i seteve ne cache

Set-Shoqerues
32 byte
4 GB (M = 128 Mega bloqe)
16 KB (N = 512 blocks)
4
128 sete

Shembuj reale
Analiza e organizimit te cache ne sistemet reale
PMC-Sierra RM7000A 64-bit MIPS RISC Processor
RM7000 perdor nje organizim ndryshe te cache-se nga Intel dhe
PowerPC. Ne kete rast kemi 3 cache te ndara.
Keto jane:
Cache-ja primare e instruksiove :16 Kbytes, 4-way set associative
cache me blloqe 32-byte.
Cache-ja primare e te dhenave: 16 Kbytes, 4-way set associative
cache me 32 byte.
Cache sekondare: 256 Kbytes, 4-way set associative cache per
instruksione dhe te dhena.
Pervec tre chipeve te cache-se, ne RM7000 kemi dhe nderfaqe per
nje nivel te trete cache me madhesi 512 Kbytes, 2 Mbytes, and 8
Mbytes. Niveli i trete i cache-se aksesohet kur deshton niveli i dyte.

Permbledhje
Projektimi dhe analiza e nivelit te pare te hierarkise se
memories.
Koncepti i lokalitetit ne justifikimin e perdorimit te cachese.
Tre teknika te organizimit te cache u analizuan:
Direkt
Shoqerues, dhe
Set-shoqerues

Tre teknika zevendesimi u permenden:


Random,
FIFO, dhe
LRU.

Permbledhje
U analizua impakti i tre teknikave ne frekuencen e
akseseve te goditura ne cache.
Politikat e shkrimit ne cache u analizuan.
Diskutimi ne cache perfundoi duke sjelle disa shembuj
nga sistemet reale:
Pentium-IV,
PowerPc, dhe
PMC-Sierra-RM-7000.

Literatura
1. Computer Organization and Design. D. Patterson,
J.Hennessy. Kapitulli V
2. Arkitektura e Kompjuterave A.Cami (fq. 159-167 + 187200)

You might also like