40
Sistemi i Memories II Leksioni VII Arkitektura e Kompjuterave

Leksioni VII Arkitektura e Kompjuterave 2014 UPT

  • Upload
    enrik

  • View
    21

  • Download
    10

Embed Size (px)

DESCRIPTION

comp

Citation preview

Page 1: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

Sistemi i Memories II

Leksioni VII

Arkitektura e Kompjuterave

Page 2: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 3: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

“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

Page 4: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 5: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 6: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 7: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

Memoria SRAM • Qelize statike CMOS

7

Page 8: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 9: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 10: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 11: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 12: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 13: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

Memoria kryesore • Sistemi i memories mund te organizohet me 4

rrjeshta ku secili rrjesht ka 8 chip-e.

13

Page 14: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 15: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

Memoria kryesore • Qarku i lexim/shkrimit kryen funksionin e degjimit

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

15

Page 16: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 17: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 18: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

18

Page 19: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 20: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

DDR SDRAM

20

Page 21: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

Optimizimet e memories

21

Page 22: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 23: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

23

Page 24: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 25: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 26: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

Perkthimi duke perdorur tabelen e faqeve

26

Page 27: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

Hartezimi i faqeve ne disk

27

Page 28: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 29: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 30: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

Perkthimi i shpejte duke perdorur TLB

30

Page 31: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 32: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 33: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 34: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 35: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 36: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 37: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 38: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 39: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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

Page 40: Leksioni VII Arkitektura e Kompjuterave 2014 UPT

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