Professional Documents
Culture Documents
Leksioni VI Arkitektura e Kompjuterave 2014 UPT
Leksioni VI Arkitektura e Kompjuterave 2014 UPT
Sistemi i Memories
Leksioni VI
Input
Memoria
Kontrolli
Output
I/O
Procesori
k-bit
busi i adresave
Memoria
MAR
n-bit
busi i te dhenave
MDR
linjat e kontrollit
( R / W , MFC, etj.)
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
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
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)
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 :
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
Memoria Cache
Politika e organizimit te cache
Hartezim shoqerues
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.
Miss penalty
Program
Instruksio n
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
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)