Upload
enrik
View
77
Download
32
Embed Size (px)
DESCRIPTION
computer
Citation preview
Sistemi i Memories
Leksioni VI
Arkitektura e Kompjuterave
Njesite kryesore funksionale
I/O Procesori
Output
Memoria
Input arithmetike Njesia
llogjike
Kontrolli
• Madhesia maksimale e memories • Adresimi ne nivel byte • Lidhja midis CPU-Memories
Koncepte kryesore te memories
Deri ne2 k vendndodhje MDR
MAR
k -bit busi i adresave
n -bit busi i te dhenave
linjat e kontrollit ( , MFC, etj.)
Procesori Memoria
te adresueshme
Madhesia e fjales= n bite
W R /
• 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.
Koncepte kryesore te 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:
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
n = t + tm
n = ntc + tm t c av
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:
– Shprehja e mesiperme tregon qe ndersa numri i elementeve ne nje bllok m, rritet, koha mesatare e aksesit zvogelohet.
m m = mtc + tm + tm = t t c av
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:
= = + tc m m m
c c c mtc + tm + (n − 1)t t + tm + (n − 1)t
tav = nm t
n n
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 :
kryesore ne blloqe.
– 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 , ku M eshte madhesia e mem.
• (4) Numri i biteve ne adresen e memories kryesore = log2 (B × M )
M N
2
Memoria Cache • Politika e organizimit te cache - Hartezimi Direkt
Cache Shembull 8-blloqe, 1 word/bllok, adresim direkt Gjendja fillestare
Index V Tag Data 000 N 001 N 010 N 011 N 100 N 101 N 110 N 111 N
Cache Shembull
Index V Tag Data 000 N 001 N 010 N 011 N 100 N 101 N 110 Y 10 Mem[10110] 111 N
Word addr Binary addr Hit/miss Cache block 22 10 110 Miss 110
Cache Shembull
Index V Tag Data 000 N 001 N 010 Y 11 Mem[11010] 011 N 100 N 101 N 110 Y 10 Mem[10110] 111 N
Word addr Binary addr Hit/miss Cache block 26 11 010 Miss 010
Cache Shembull
Index V Tag Data 000 N 001 N 010 Y 11 Mem[11010] 011 N 100 N 101 N 110 Y 10 Mem[10110] 111 N
Word addr Binary addr Hit/miss Cache block 22 10 110 Hit 110 26 11 010 Hit 010
Cache Shembull
Index V Tag Data 000 Y 10 Mem[10000] 001 N 010 Y 11 Mem[11010] 011 Y 00 Mem[00011] 100 N 101 N 110 Y 10 Mem[10110] 111 N
Word addr Binary addr Hit/miss Cache block 16 10 000 Miss 000 3 00 011 Miss 011 16 10 000 Hit 000
Cache Shembull
Index V Tag Data 000 Y 10 Mem[10000] 001 N 010 Y 10 Mem[10010] 011 Y 00 Mem[00011] 100 N 101 N 110 Y 10 Mem[10110] 111 N
Word addr Binary addr Hit/miss Cache block 18 10 010 Miss 010
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 = log2 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 set-eve 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.
Perdorimi i cache-se
Teknikat e zevendesimit
Direct Po Ska I Ulet Nuk nevojitet Associative Jo Perdoret I larte Po Set-associative E moderuar I moderuar I moderuar 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 write-no-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:
penalty MissnInstruksio
MissProgram
neInstruksio
penalty Missrate MissProgram
memories e Aksesetmemories te bllokimit e Ciklet
××=
××=
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 Set-Shoqerues Madhesia e bllokut 32 byte Madhesia e memories 4 GB (M = 128 Mega bloqe) Madhesia e Cache 16 KB (N = 512 blocks) Numri i blloqeve per set 4 Numri i seteve ne cache 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 cache-se.
• 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 + 187-
200)