View
21
Download
10
Category
Preview:
DESCRIPTION
comp
Citation preview
Sistemi i Memories II
Leksioni VII
Arkitektura e Kompjuterave
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
3
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.
4
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.
5
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
7
Memoria SRAM • Operacioni i leximit
– Te dy linjat B dhe 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 ).
B
8
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.
9
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 1
1K × 4 10 4
512 × 8 9 8
256 × 16 8 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: 16–512 rrjeshta, 0.5–1 cikle per hit, 10–100 cikle per miss, 0.01%–1% miss rate
• Deshtimet(miss) mund te menaxhohen si nga HW dhe nga SW 29
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
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
Shoqerueshmeria Metoda e vendndodhjes Krahasimi i etiketes Adresim direkt Indeks 1 n set shoqerues Indeksi i Setit, me tej
kerko hyrjet brenda nje seti
n
Totalisht shoqerues Kerko te gjithe hyrjet #hyrjeve Kerkim i plote i tabeles 0
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, 201-
206) 3. Computer Organization and Design (Patterson,
Hennessy) (fq.492-510)
40
Recommended