aor g6 memorijski sistem 2

12
1 6. MEMORIJSKI SISTEM Glavna i vi rtuelna memori ja Nebojša Milenković Elektronski fakultet u Nišu GLAVNA MEMORIJA Gl avna memor ija (koristi se i termin primarna memorija i operativna memorija)  je osnovna memo rija u računaru. U njoj izvršavaju i podaci koje ti programi koriste. Adr ese in str ukc ija i operanada odnos e se na lokacije glavne memorije u kojima su instrukcije i operandi prisutni. N. Milenković, Arhitektura i organizacija računara 2011 Karakteristike performansi DRAM memorija DRAM memori je, k oje se s koro isklju čivo koriste za gradnju glavnih memorija računara, imaju pri proizvoljnim pristupima veliku latenciju merenu periodama takta procesora. , propusnošću, DRAM memorije stoje mnogo bolje. Rešenje koje umanju je neg ativan uticaj velike latencije glavne memorije i koristi njenu veliku propusnost je velika dužina blokova podataka koje glavna memorij a dostavlja keš memori ji. N. Milenković, Arhitektura i organizacija računara 2011 Zahtevi saobraćaja sa ulazom- izlazom Glavn a memor ija komunicir a i sa ulaz no- izlaznim uređajima u sistemu, od kojih su disk drajvovi, grafičke i mrežne kartice. Ovi uređaji zahtevaju od glavne memorije pre svega dovoljno veliku propusnost, koju ona višestruko premašuje. N. Milenković, Arhitektura i organizacija računara 2011 Prenos bloka podataka u keš • Razmot rimo mogu će organizacije glavne memorije koje mogu da doprinesu smanjenju promaš ajne kazne keš memor ije. Pri tome treba imati u vidu da j e pri pr ibavlj anju u keš promaš enog bloka poda taka dužine B za to potrebno vreme T B = t  A +B/ D, gde je t  A latencija a D je propusnost memorije. N. Milenković, Arhitektura i organizacija računara 2011 Primer parametara glavne memorije Ispi tajmo kako povećanje propusnosti memorije, dobijeno povećanjem njene širine, utiče na smanjenje vremena T B . Poslužimo s e pri tome sle de ćim brojnim . • Blokov i poda taka s ekunda rnog ke ša su d užine B=128 bajtova. Glavna memorija realizovana je čipovima tipa DDR3 1333, 10-10-10 sa interfejsom na 667MHz (T DRAM =1, 5ns) i dužinom grup e BL=8. N. Milenković, Arhitektura i organizacija računara 2011

Upload: stevan-mihajlovic

Post on 14-Oct-2015

32 views

Category:

Documents


0 download

DESCRIPTION

Skripta

TRANSCRIPT

  • 16. MEMORIJSKI SISTEM

    Glavna i virtuelna memorija

    Neboja MilenkoviElektronski fakultet u Niu

    GLAVNA MEMORIJA

    Glavna memorija (koristi se i termin primarna memorija i operativna memorija) je osnovna memorija u raunaru. U njoj moraju biti prisutni programi koji semoraju biti prisutni programi koji se izvravaju i podaci koje ti programi koriste.

    Adrese instrukcija i operanada odnose se na lokacije glavne memorije u kojima su instrukcije i operandi prisutni.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Karakteristike performansi DRAM memorija

    DRAM memorije, koje se skoro iskljuivo koriste za gradnju glavnih memorija raunara, imaju pri proizvoljnim pristupima veliku latenciju merenu periodama takta procesora.

    Sa drugim vanim pokazateljem performansi Sa drugim vanim pokazateljem performansi, propusnou, DRAM memorije stoje mnogo bolje.

    Reenje koje umanjuje negativan uticaj velike latencije glavne memorije i koristi njenu veliku propusnost je velika duina blokova podataka koje glavna memorija dostavlja ke memoriji.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Zahtevi saobraaja sa ulazom-izlazom

    Glavna memorija komunicira i sa ulazno-izlaznim ureajima u sistemu, od kojih su najzahtevniji u pogledu brzine memorijenajzahtevniji u pogledu brzine memorije disk drajvovi, grafike i mrene kartice.

    Ovi ureaji zahtevaju od glavne memorije pre svega dovoljno veliku propusnost, koju ona viestruko premauje.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Prenos bloka podataka u ke

    Razmotrimo mogue organizacije glavne memorije koje mogu da doprinesu smanjenju promaajne kazne ke memorije.

    Pri tome treba imati u vidu da je pri pribavljanju u ke promaenog bloka podataka duine B za to potrebno vreme TB = tA +B/ D,

    gde je tA latencija a D je propusnost memorije.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Primer parametara glavne memorije

    Ispitajmo kako poveanje propusnosti memorije, dobijeno poveanjem njene irine, utie na smanjenje vremena TB.

    Posluimo se pri tome sledeim brojnim podacimapodacima.

    Blokovi podataka sekundarnog kea su duine B=128 bajtova.

    Glavna memorija realizovana je ipovima tipa DDR3 1333, 10-10-10 sa interfejsom na 667MHz (TDRAM=1,5ns) i duinom grupe BL=8.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

  • 2Parametri prenosa podataka

    Neka procesor radi na 1333MHz, pa je TCP=0,75ns.

    Neka je latencija glavne memorije samo Neka je latencija glavne memorije samo10+10+10=30TDRAM=60TCP.

    Prenos grupe duine BL=8 (88=64B namagistrali) zahteva 4TDRAM= 8TCP.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Osnovno i proireno reenje

    Izmeu procesora i primarnog kea najee se prenose podaci duine rei, pa je logino da ke memorije (primarna i sekundarna), glavna memorija i magistrala koja ih povezuje budu iste irine (ovde 8B), to je prikazano na slici a.

    Reenje sa dvostrukom irinom glavne memorije, sekundarnog kea i njihove veze prikazano je na slici b.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    CP CP

    Ke{Primarni

    ke{ Ke{

    CP

    Tri reenja sa razliitim irinama glavne memorije, magistrale i ke memorije

    a.

    b.

    c.

    memorija

    Sekundarni ke{

    ke{memorija

    Glavnamemorija

    Glavna memorija

    Memorijabanka 0

    Memorijabanka 1

    Memorijabanka 2

    Memorijabanka 3

    Magistrala

    Magistrala

    MultiplekserMagistrala

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Memorija sa preklapanjem

    Sve memorijske banke dele zajedniku memorijsku magistralu irine jednake irini primarnog kea. Takvo reenje sa 4 banke prikazano je na slici c.

    Slanjem naloga, naprimer za itanje, sa jednom j g , p j , jadresom, paralelno se pristupa adresiranim lokacijama u svim bankama.

    Po obavljenom pristupu, svaka memorijska banka ekskluzivno koristi magistralu za vraanje proitanog podatka.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Raspodela podataka po bankama Ovako organizovana memorija naziva se

    memorija sa preklapanjem pristupa (engl. interleaved memory).

    Lokacije u ovakvoj memoriji sa k banaka, k 2c adresiraju se odbacivanjem ck=2c, adresiraju se odbacivanjem c adresnih bitova najmanje teine.

    Memorijska banka 0 sadri sve rei ije su adrese po modulu k jednake 0, memorijska banka 1 sadri sve rei ije su adrese po modulu k jednake 1 itd.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Prilagoenost razmeni podataka sa ke memorijama

    Dakle, adrese lokacija u jednoj memorijskoj banci menjaju se sa korakom k.

    Ovakva organizacija memorije je idealna za razmenu podataka sa ke memorijama, jer blokovi podataka sadre podatke sa sukcesivnim adresama.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

  • 3Vremena pribavljanja bloka podataka

    Vreme za pribavljanje 128-bajtnog bloka podataka u ke je

    a) 128/64 pristupa-T1=60+20+28 = 96 TCP. (drugi pristup u otvorenu vrstu)

    b) 128/(264) pristupa-T2 = 1(60+8) = 68 TCP.

    c) 1 pristup, 2 grupna prenosa po 8 rei T3 = 60+28 = 76 TCP.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Propusnost

    Prosena brzina prenosa podataka izmeu glavne i ke memorije je

    a) 128B/96TCP =1,333 [B/TCP].b) 128B/68T 1 882 [B/T ] b) 128B/68TCP =1,882 [B/TCP].

    c) 128B/76 TCP =1,684 [B/TCP].

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    I sinhrone DRAM memorije...

    Sinhrone DRAM memorije, kada rade u reimu prenosa grupe duine k rei, ponaaju se kao memorija saponaaju se kao memorija sa preklapanjem pristupa sa k memorijskih modula.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    VIRTUELNA MEMORIJA Do prelaska na izvrenje, programi se obino

    dre u sekundarnoj memoriji u svom izvrnom objektnom obliku.

    Prelasku na izvrenje programa prethodi punjenje glavne memorije programom. Sastavni p j j g j p gdeo punjenja je dodela memorije programu, tj. odreivanje slobodnog bloka glavne memorije u koji se prenosi (kopira) program iz sekundarne memorije.

    Po zavretku izvrenja programu se oduzima memorija, tj. blok glavne memorije koji mu je bio dodeljen proglaava se slobodnim.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Operativni sistem upravlja memorijom

    Poslovi dodele memorije programima, punjenja memorije i oslobaanja memorije od okonanih programa su u nadlenosti operativnog sistema raunara. Uzeti zajedno, ovi poslovi nazivaju se upravljanje memorijomupravljanje memorijom.

    Oni se detaljno izuavaju u kursevima o operativnim sistemima raunara, tako da o tome ovde neemo detaljnije govoriti.

    Meutim, upravljanje memorijom zahteva i odreena arhitekturna i implementaciona reenja, kojima emo se baviti u izlaganju koje sledi.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Memorijska slika procesa pod Linuxom

    Programi uvek poinju od virtuelne adrese 0x08048000. Stek korisnika uvek poinje od virtuelne adrese 0xbfffffff. Deljeni objekti se uvek pune u oblast poev od virtuelne adrese 0x40000000.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

  • 4Virtuelna memorija kao apstrakcija glavne memorije

    Upravljanje memorijom postaje sloeno kada u glavnoj memoriji nema dovoljno prostora za

    dranje celih programa i njima pridruenih podataka u toku izvrenja programa, ili

    u glavnoj memoriji smenjuje se vie procesa g j j j j p(programa u izvrenju) pri multiprogramskom radu raunara.

    U tenji da se korisnici raunara oslobode svih zaduenja vezanih za upravljanje memorijom, kao apstrakcija glavne memorije nastala je virtuelna memorija, razvijena sa ciljem da upravljanje memorijom uini efikasnijim i sa manje greaka.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Virtuelna memorija kao sloeni sistem

    U sistemima koji rade u multiprogramskom reimu upravljanje memorijom mora obezbediti izolovanje adresnih prostora razliitih programa, ali i dozvoliti kontrolisanu deobu memorije za kooperaciju i sinhronizaciju programakooperaciju i sinhronizaciju programa.

    Virtuelna memorija uspeno objedinjuje hardverske izuzetke, hardverom potpomognuto prevoenje adresa, glavnu memoriju, disk memoriju i jezgo operativnog sistema da svakom procesu obezbedi veliki, uniformni i privatni adresni prostor.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Odvajanje logikih od fizikih adresa

    Kljuna koncepcija na kojoj se zasniva virtuelna memorija je odvajanje virtuelnih, odnosno logikih adresa, koje se koriste u programu, od

    d l k ij l ij i k dadresa lokacija glavne memorije i sekundarne memorije u kojima se programi uvaju.

    Virtuelne adrese sistem generie pri prevoenju i/ili povezivanju programa. Ove adrese na jedinstven nain odreuju elemente koji pripadaju jednom logikom adresnom prostoru.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Prevoenje adresa pri svakom obraanju memoriji

    Sistem odlae konkretnu dodelu memorije programu sve do trenutka kada poinje izvrenje programa. Naime tek tada operativni sistem, prema trenutnom zauzeu memorije moe naprema trenutnom zauzeu memorije, moe na najbolji nain dodeliti memoriju tom programu.

    Pri izvrenju programa svako obraanje memoriji zahteva prevoenje virtuelne adrese,koju generie procesor, u fiziku adresu, odreenu dodelom memorije programu i relativnom adresom instrukcije ili podatka u programu.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Jedinica za upravljanje memorijom(MMU)

    Prevoenje virtuelnih u fizike adrese vri jedinica za upravljanje memorijom (engl. memory management unit, skr. MMU), koja je obino implementirana u ipu procesora.

    Mogunost da se programi izvravaju pri bilo kojoj dodeli memorije programu zahteva ikojoj dodeli memorije programu zahteva i potovanje sledeeg ogranienja: u programima se ne smeju koristiti naini adresiranja sa fiksnim adresama, kao to je to direktno odnosno apsolutno adresiranje.

    Najpogodniji nain adresiranja je bazno adresiranje, koje je u savremenim procesorima esto i jedini nain adresiranja podataka u memoriji.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Preslikavanje virtuelne u fiziku adresu pri izvrenju instrukcije Load.

    Virtuelna Fizi~kaadresa

    0

    12

    48Prevo|enje adresa

    ^ip procesora

    Glavnamemorija

    MMUadresa

    (VA)adresa (FA)

    121620

    4116 20

    M-4Re~ podatka

    ad esa

    CPU

    N. Milenkovi, Arhitektura i organizacija raunara 2011

  • 5Segmentna virtuelna memorija

    Virtuelna memorija kod koje se virtuelni adresni prostor deli u segmente ije su duine odreene duinom programa naziva se segmentna virtuelna memorija (engl. segmented virtual memory).

    Kod nje se i dodela memorije programima vri u takvim segmentima.

    Pojava velikog broja malih slobodnih blokova memorije, koji se pojedinano ne mogu iskoristiti za nove dodele, a zbirno mogu initi znaajan deo memorije- spoljanja fragmentacija memorije.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Stranina virtuelna memorija

    Dodela memorije programima moe se pojednostaviti ako se svaki program upakuje u izvestan broj stranica fiksnih duina. Za datu veliinu stranica i duinu programa potreban broj stranica odreuje se tako da njihova zbirnastranica odreuje se tako da njihova zbirna duina bude jednaka ili vea od duine programa.

    Virtuelna memorija kod koje se virtuelni adresni prostor deli u ovakve stranice fiksnih duina naziva se stranina virtuelna memorija (engl. paged virtual memory).

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Unutranja fragmentacija memorije

    Kod nje se i memorija dodeljuje programu u stranicama. Pri tome se takoe javljaju neiskorieni delovi memorije, ovog puta u vidu neiskorienih delova poslednjihvidu neiskorienih delova poslednjih stranica dodeljenih programima.

    Ova pojava naziva se unutranja fragmentacija memorije.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Stranina virtuelna memorija

    Kod stranine virtuelne memorije virtuelni adresni prostor podeljen je na virtuelne stranice, a fiziki adresni prostor na fizike stranice, za koje se esto koristi i termin okvir stranice.

    Veliina stranica L odreena je celobrojnim stepenom dvojke, i najee iznosi L=4 KB.

    Virtuelni adresni prostor veliine 2v bajtova sadri V virtuelnih stranica oznaenih brojevima 0, 1,, V-1.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Elementi virtuelne i fizike adrese

    Fiziki adresni prostor veliine 2r bajtova sadri R fizikih stranica oznaenih brojevima 0, 1,, R-1.

    Data virtuelna adresa av deli se na pomerajv p junutar stranice p i broj virtuelne stranice BVS.

    Pri svakom obraanju memoriji ova virtuelna adresa preslikava se u fiziku adresu af , koja se takoe deli na pomeraj unutar stranice p i broj fizike stranice BFS.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Preslikavanje virtuelnih u fizike stranice

    Virtuelnamemorija Glavna

    memorijaVS 0

    GM

    NP

    GM

    VS 1

    VS 2

    FS 0

    FS 1

    GM- virtuelne stranice prisutne u glavnoj memoriji,DSK i t l

    NP

    GM

    GM

    DSK

    DSK

    DSK

    VS 2

    VS 3

    FS 1

    FS (R-1)

    VS (V-1)

    DSK- virtuelne stranice prisutne na disku,

    NP-nepostojee virtuelne stranice.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

  • 6Stranina tablica

    Prevoenje virtuelnih u fizike adrese vri se pri svakom obraanju memoriji. Ovo prevoenje vri se korienjem stranine tablice (ST), koja za svaku virtuelnu stranicu ima po jednu stavku.

    Stavka stranine tablice (SST) adresira se ( )brojem virtuelne stranice BVS, dobijene iz virtuelne adrese av izdvajanjem pomeraja iz nje.

    Ova stavka stranine tablice sadri broj fizike stranice BFS u koju se preslikava virtuelna stranica BVS.

    Pomeraj u virtuelnoj adresi av se neizmenjen prenosi u polje pomeraja fizike adrese.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Korienje stranine tablice pri prevoenju virtuelne u fiziku adresu

    pomerajBVS

    Strani~na tablica

    Virtuelna adresa

    Indeks BFSP RMK W

    P - prisutna u glavnoj memoriji,

    K-koriena u proteklom periodu,

    M modifikovana u

    Fizi~ka adresa

    pomerajBFS Bazna adresastrani~ne tabliceRegistar procesora

    Indeksu ST

    M-modifikovana u glavnoj memoriji,

    R-dozvoljen pristup radi itanja, i

    W-dozvoljen pristup radi upisa.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Greka stranice

    Ako je virtuelna stranica prisutna u glavnoj memoriji, tj P(SST)=1, imamo pogodak stranice. P(SST)=0 signalizira da stranica nije prisutna u glavnoj memoriji, i tada se javlja greka stranice (engl. page fault).

    Pored ove stranine tablice, mora postojati jo jedna tablica koja za svaku kreiranu virtuelnu stranicu sadri njenu adresu na disku.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Prevoenje adresa pri pogodku

    Prevoenjem virtuelne adrese u sluaju pogotka upravlja MMU kroz sledee korake, prikazane na slici 6.28a:

    Korak 1: Procesor formira virtuelnu adresu VA i alje je u MMU.

    Korak 2: MMU formira adresu stavke stranine tablice A(SST) i upuuje zahtev za pribavljanje SST iz kea/glavne memorije.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Prevoenje adresa pri pogodku

    Korak 3: Ke/glavna memorija vraaju u MMU zahtevanu SST.

    Korak 4: MMU formira fiziku adresu i Korak 4: MMU formira fiziku adresu i dostavlja je keu/glavnoj memoriji.

    Korak 5: Ke/glavna memorija vraaju procesoru zahtevanu re podatka.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    1Procesor

    ^ip procesora

    R k l i tkIzuzetak

    MMUVA

    a)

    Podatak

    FA

    A(SST)

    SST Ke{/memorija

    3

    4

    4

    5

    2

    Uee hardvera

    raunara u prevoenju

    virtuelne adrese

    a) pri pogotku

    1Procesor

    ^ip procesora

    Rukovalac izuzetka gre{ke stranice

    `rtvovana stranica

    novastranica

    Izuzetak

    MMUDisk

    b)

    VA

    A(SST)

    SST Ke{/memorija

    3

    4

    5

    76

    2

    a) pri pogotku stranice,

    b) pri greci stranice

    N. Milenkovi, Arhitektura i organizacija raunara 2011

  • 7Prevoenje adresa pri greci stranice

    Greka stranice zahteva sadejstvo hardvera i kernela operativnog sistema, definisano sledeim koracima, ilustrovanim slikom 6.28b.

    Koraci 13: Istovetni su sa koracima 13 pri pogotku stranice.

    Korak 4: Bit P(SST)=0 pa MMU aktivira izuzetak Korak 4: Bit P(SST)=0 pa MMU aktivira izuzetak, koji predaje upravljanje procesorom rukovaocu izuzecima greke stranice u kernelu operativnog sistema.

    Korak 5: Rukovalac izuzecima greke stranice pronalazi rtvovanu stranicu u glavnoj memoriji (onu koja e biti zamenjena), i ako je ona modifikovana, vraa je na disk.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Prevoenje adresa pri greci stranice

    Korak 6: Rukovalac izuzecima greke stranice pribavlja novu stranicu u glavnu memoriju i aurira u njoj i odgovarajuu SST.

    Korak 7: Rukovalac izuzecima greke stranice vraa upravljanje procesu koji ga je aktivirao, p j j p j g jdovodei do restartovanja instrukcije na kojoj se javio izuzetak. Procesor ponovo alje istu virtuelnu adresu u MMU. Meutim, sada je virtuelna stranica prisutna u glavnoj memoriji pa se javlja pogodak, pri kome se zahtevani podatak dostavlja procesoru na ve opisani nain.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Linearna stranina tablica

    Ovakva linearna stranina tablica ili potpuna stranina tablica, ima V stavki.

    Za 32-bitni virtuelni adresni prostor sa adresiranjem na nivou bajtova i straniceadresiranjem na nivou bajtova i stranice veliine L=4 KB, V=232/212 =220=1M. Ako je svaka stavka stranine tablice duine etiri bajta, cela stranina tablica je veliine 4 MB.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Dranje stranine tablice u memoriji

    Po jedna ovakva stranina tablica potrebna je za svaki proces u sistemu.

    Stranine tablice ovih veliina ne mogu se d i i i drati u registrima procesora, ve u glavnoj memoriji raunara.

    Onda svako obraanje memoriji za pribavljanje instrukcije ili podatka zahteva po jedno dodatno obraanje memoriji za prevoenje virtuelne u fiziku adresu.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    TLB - ke za prevoenje virtuelnih u fizike adrese

    Ovaj problem moe se delimino reiti korienjem posebne ke memorije u kojoj se dre najaktuelnije stavke stranine tablice.

    Ke memorija sa ovom namenom poznata je kao Translation Lookaside Buffer, skr. TLB.

    Pri svakom obraanju memoriji najpre se pristupa TLB-u, sa ciljem da se u njemu nae broj fizike stranice u kojoj je prisutna tekua virtuelna stranica.

    U sluaju pogotka, nije potrebno obraanje straninoj tablici u memoriji, pa se prevoenje adrese znatno ubrzava.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Struktura stavki TLB-a

    Nastoji se da se obraanje TLB-u svede na samo jedan taktni ciklus, to upuuje da se TLB implementira kao mala kememorija sa potpunim asocijativnim preslikavanjem.

    Stavka TLB-a sadri kao etiketu broj virtuelne stranice na koju se odnosi, broj fizike stranice u kojoj je prisutna ta virtuelna stranica, i indikatore V, R, W i M.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

  • 8TLB u postupku prevoenja virtuelnih adresa

    pomerajBVS

    BFS

    TLB

    etiketaV R W M

    Virtuelna adresa

    pomerajBFS

    BFSetiketaV R W M

    pogodak Fizi~ka adresa

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Greku stranice opsluuje operativni sistem

    Ako se javi promaaj u TLB-u sledi pristup straninoj tablici iz koje dobijamo informaciju da li je virtuelna stranica prisutna u memoriji i gde, ili da ona tamo nije prisutna.

    U drugom sluaju javlja se greka stranice (page fault), koja dovodi do istoimenog izuzetka, za ije opsluivanje se poziva operativni sistem.

    Poto opsluivanje greke stranice traje dugo (nekoliko ms), dolazi do promene konteksta, do okonanja ovog opsluivanja.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Promaaj TLB-a

    Opsluivanje greke stranice ukljuuje prenoenje promaene stranice u glavnu memoriju, auriranje stranine tablice i TLB-a.

    Kada se javi promaaj u TLB-u ali se u straninoj tablici nae fizika stranica u kojoj jestraninoj tablici nae fizika stranica u kojoj je prisutna virtuelna stranica, aurira se TLB zamenom sadraja polja u izabranoj stavci.

    U pogoenoj stavci TLB-a ili stranine tablice proveravaju se bitovi zatite memorije R i W, i ako je pokuan nedozvoljeni pristup memoriji, javlja se izuzetak povrede zatite memorije.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Aktivnosti pri prevoenju virtuelne adrese uz uee TLB-a

    Pregledanje TLB-a

    proma{aj

    Virtuelna adresaRestartovanje instrukcije

    pogodak

    hardver

    hardver ili softversoftver

    A`uriranje TLB-a

    Proveraza{tite

    ne neda daStranica u GM Pristup dozvoljen

    Fizi~ka adresa (ka ke{u)

    Gre{kaza{tite

    [etnja krozstrani~nu tablicu

    Gre{ka stranice (OS pribavlja stranicu)

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Sadraj TLB-a pri promeni konteksta procesa

    Poto TLB sadri stavke stranine tablice tekueg procesa, promena konteksta procesa zahteva izmenu celokupnog sadraja TLB-a.

    Pri naputanju tekueg procesa moraju se sve stavke TLB a proglasiti nevaeim to sestavke TLB-a proglasiti nevaeim, to se postie jednostavnim brisanjem indikatora V u svim njegovim stavkama.

    Alternativno reenje je da se etiketi u svakoj stavci TLB-a doda identifikator procesa PID, koji bi uestvovao u traenju stavke TLB-a koja odreuje zahtevano prevoenje virtuelne adrese.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Organizacija TLB-a

    Broj stavki TLB-a kree se od 32 do 256. TLB-i manjeg obima implementiraju se kao ke

    memorije sa potpunim asocijativnim preslikavanjem, a oni veeg obima sa skupno-asocijativnim preslikavanjem i asocijativnouasocijativnim preslikavanjem i asocijativnou 24.

    Mnogi procesori sa posebnim ke memorijama instrukcija i podataka imaju i odvojene TLB-e za prevoenje virtuelnih adresa instrukcija i podataka.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

  • 9Hijerarhijska stranina tablica Razmotrimo virtuelnu memoriju sa 32-bitnim

    virtuelnim adresnim prostorom, adresivom na nivou bajtova, i stranicama veliine 4KB. Stranina tablica ima 1M stavki.

    Linearna struktura ovakve stranine tablice moe se zameniti hijerarhijskom strukturom, naprimer u dva nivoa na sledei nainnaprimer u dva nivoa, na sledei nain.

    Neka je svaki blok stranine tablice sa po 1K njenih sukcesivnih stavki (nazovimo ga ST-blok) adresiran jednom stavkom pomone stranine tablice, nazovimo je stranina tablica nivoa 1 (skr. STN1), koja takoe ima 1K stavki. Sa stavkama duine 4B, STN1 je veliine jedne stranice, i moe se uvati u glavnoj memoriji.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Hijerarhijska stranina tablica u dva nivoa

    0

    pomeraj

    pomeraj

    11

    v1 v2

    2

    Virtuelna adresa12212231

    Indeks u STnivoa 1(10b)

    Indeks u STnivoa 2(10b)

    v1

    v2

    (Bazni registar procesora)

    Koren teku}estrani~ne tablice

    Strani~na tablica nivoa 1

    Strani~ne tablice nivoa 2

    Stranicepodataka

    Stranica u glavnoj memoriji

    Stranica u sekundarnoj memoriji

    SST nepostoje}e stranice

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Dobre i loe strane...

    Hijerarhijska stranina tablica moe smanjiti zauzee glavne memorije delovima straninih tablica procesa.

    Ako je lokalnost obraanja procesa memoriji slabo izraena aktivni ST blokovi se estoslabo izraena, aktivni ST-blokovi se esto menjaju.

    Ovo povlai potrebu za estom razmenom prethodno aktivnih ST-blokova i novih aktivnih ST-blokova izmeu glavne memorije i diska, to poveava premaenje operativnog sistema raunara.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    ... hijerarhijske stranine tablice

    Znaajan nedostatak hijerarhijske organizacije stranine tablice je povean broj obraanja memoriji pri prevoenju u sluaju promaaja TLB-a, jednak broju nivoa stranine tablice.

    Novi 64-bitni procesori sa vrlo velikim virtuelnim adresnim prostorom zahtevaju tri i vie nivoa stranine tablice, to znatno produuje prevoenje virtuelnih adresa.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Strategije pribavljanja i zamene podataka u memoriji

    Podaci se sa diska u glavnu memoriju mogu pribavljati po zahtevu, unapred, ili njihovom kombincijom.

    Strategijom pribavljanje po zahtevu virtuelna stranica se sa diska prenosi u memoriju poslestranica se sa diska prenosi u memoriju posle nastanka greke stranice. Ona nastaje u okviru instrukcije a ne po njenom zavretku.

    Procesor po nastanku ove greke, koju zapaa kroz pojavu izuzetka greke stranice, pamti informacije potrebne za restartovanje instrukcije u kojoj je dolo do greke stranice i poziva rukovoca izuzetka.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Pribavljanje po zahtevu i pribavljanje unapred

    Po opsluenom izuzetku obnavlja informacije o prekinutoj instrukciji i restartuje njeno izvrenje.

    Pribavljanje unapred zasniva se na prostornoj l k l ti k b ti t i i i llokalnosti: ako se program obratio stranici i, vrlo je verovatno da e se uskoro obratiti i susednim stranicama. i-2, i-1, i+1, i+2,itd.

    Pribavljanje ovih stranica unapred moe iskljuiti greke stranica pri skorom obraanju njima. U tome mogu biti od velike koristi ke memorije diskova

    N. Milenkovi, Arhitektura i organizacija raunara 2011

  • 10

    Izbor fizike stranice za dodelu

    Izbor fizike stranice za dodelu vri algoritam zamene stranica.

    Sistem vodi evidenciju o nedodeljenim stranicama naprimer u obliku posebne liste nedodeljenih stranica Kada ova lista nijenedodeljenih stranica. Kada ova lista nije prazna, onda se za dodelu uzima fizika stranica sa poetka liste.

    Ako se pri tome takva lista formira za svaki proces odvojeno, algoritam zamene je lokalni. Ako je lista zajednika za sve procese, algoritam zamene je globalni.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Algoritmi kandidati

    Za izbor se mogu koristiti algoritmi zamene pominjani kod ke memorija (FIFO, RANDOM, LRU) ali i drugi koji su pogodni ba kod virtuelnih memorija.

    Ovde se mogu koristiti sloeniji algoritmi, koji daju bolje rezultate sa stanovita smanjenja buduih greaka stranica, jer sistem ima vie vremena za analizu istorije korienja ranije dodeljenih fizikih stranica.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Ipak, LRU algoritam

    Ipak se i za zamenu stranica kod virtuelnih memorija najee koristi LRU algoritam.

    Kako je ovde broj kandidata za zamenu veliki, striktna implementacija LRU , p jalgoritma nije mogua.

    Zato se ovde koristi jedna aproksimacija LRU algoritma, koja je jednostavna za implementaciju a daje zadovoljavajue rezultate.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Zatita memorije od neovlaenog korienja

    Pri istovremenom izvravanju vie procesa u sistemu, postoji opasnost od neovlaenog pristupa jednog procesa podacima drugog procesa.

    Ali postoji i potreba da se omogui deoba nekih p j p gprograma i/ili podataka u svrhu sinhronizacije procesa i razmene podataka izmeu njih.

    Pri tome pristupi deljenim programima ili podacima mogu biti ogranieni na odreene aktivnosti.

    Takva zatita se u straninoj virtuelnoj memoriji lako izvodi na sledei nain.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Deljive i privatne stranice

    Neka procesi Proces_i i Proces_j imaju kako privatne, tako i deljive stranice podataka.

    Pri dodeli memorije ovim procesima, deljivim stranicama podataka dodeljuju se iste fizike p j jstranice.

    Na sledeem slajdu prikazan je primer dva procesa. Proces_i ima privatnu stranicu vs1 i deljivu stranicu vs2. Proces_j ima privatnu stranicu vs0 i deljivu stranicu vs1.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Zajednika fizika stranica

    Deljive stranice su deljive ba izmeu ova dva procesa.

    Privatnim stranicama oba procesa dodeljuju se razliite fizike stranice, dok se deljivim jstranicama dodeljuje ista fizika stranica.

    Pri dodeli memorije ovim stranicama upisuju se i odgovarajue vrednosti indikatora R i W u odgovarajuim stavkama stranine tablice odnosno TLB-a.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

  • 11

    Dodela fizikih stranica privatnim i deljivim virtuelnim stranicama.

    Virtuelniadresni prostori Glavna

    memorijaPrevo|enje adresa

    VS 0

    VS 1

    VS 2roc

    es i

    FS 0

    VS 0

    VS 1

    FS h

    VS 2Pr

    Proce

    s j

    FS 1

    FS (R-1)

    VS (V-1)

    VS (V-1)

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Ke memorije u virtuelnom adresnom prostoru

    Da li se ke memorija mora adresirati fizikim adresama?

    Svako prevoenje virtuelne adrese zahteva vreme koje u tom sluaju odlae i pristup keuvreme, koje u tom sluaju odlae i pristup keu, to dovodi do zastoja u radu procesora.

    Na sledeem slajdu prikazani su procesor, MMU, ke i glavna memorija u dve konfiguracije,koje se razlikuju po tome da li se ke adresira fizikim adresama (gore) ili virtuelnim adresama (dole).

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Adresiranje kea fizikim adresama (gore) i virtuelnim adresama (dole).

    MMUProcesor Glavnamemorija

    Fizi~ki ke{

    VAFA.

    MMUProcesor Glavnamemorija

    Virtuelni ke{VA

    FA.N. Milenkovi, Arhitektura i organizacija raunara 2011

    Fiziki ke

    Ke adresiran fizikim adresama (fiziki ke) dolazi u tom lancu iza MMU-a.

    Veliki nedostatak ovog reenja je da se obraanje keu moe zapoeti tek po j p pokonanju prevoenja virtuelne adrese.

    U ovom reenju nema nikakvih ogranienja, a povoljno je i sa stanovita eventualne direktne komunikacije kea i U-I sistema raunara.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Virtuelni ke

    Adresiranje kea moe se zapoeti virtuelnom adresom, a dovriti prevedenom fizikom adresom (virtuelni ke).

    U tom sluaju se pomeraj u virtuelnoj adresi, koji se neizmenjen prenosi u fiziku adresu koristise neizmenjen prenosi u fiziku adresu , koristi za adresiranje skupa ke blokova i itanje njihovih etiketa.

    Po prevoenju virtuelne u fiziku adresu, ona se moe uporediti sa proitanim etiketama blokova u adresiranom skupu ke blokova.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Prevoenje sa zastojem ili bez zastoja

    Ako se prevoenje adresa obavi sa pogotkom TLB-a, nema zastoja u pristupu keu.

    U suprotnom, dolazi do zastoja u pristupu keu i u radu procesorau radu procesora.

    Ovde postoji sledee ogranienje Ako je lduina polja pomeraja u virtuelnoj adresi, a r i bsu duine polja indeksa i adrese rei u bloku kod ke emorije, onda za ovakvo adresiranje kea mora biti ispunjen uslov

    N. Milenkovi, Arhitektura i organizacija raunara 2011

  • 12

    Ogranienje kod virtuelnog kea l r+b. Iz ovoga sledi 2l 2r+b . 2l = L je veliina stranice podataka, a

    2r+b = 2r 2b = SB. Onda je L SB . Ako obe strane nejednakosti pomnoimo sa A,

    d bidobiemo LA ASB = C(A, S i B su asocijativnost, broj skupova keblokova i duina blokova ke memorije respektivno. C je kapacitet kea u bajtovima.)

    Sledi ogranienjeC LA

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Prednosti i nedostaci virtuelnog kea

    Prednost virtuelnog kea je pristup bez ekanja na okonanje prevoenja virtuelne adrese.

    Nedostatak je nemogunost direktne komunikacije kea i U I sistemakomunikacije kea i U-I sistema.

    Izmeu ke memorija i virtuelnih memorija postoje slinosti i razlike koje su navedene u tabeli na sledeem slajdu.

    Veliine primarnih ke memorija su 4 KB64 KB, sekundarnih ke memorija su 128 KB4 MB, a glavne memorije 256 MB 16 GB.

    N. Milenkovi, Arhitektura i organizacija raunara 2011

    Tipian opseg parametara primarne i sekundarne ke memorije i virtuelne memorije.

    Parametar Primarna kememorijaSekundarna ke

    memorija Virtuelna memorija

    Veliina bloka (stranice) 432 B 32256 B 409616.384 B

    Vreme pogotka (TC) 13 815 50200Promaajna kazna

    (TC) 1040 100500 1.000.00010.000.000

    Faktor promaaja 0,5 20 % 1530 % 0,00001 0,001 %

    Nii nivo memorije sekundarni ke glavna memorija diskovi

    Smetanje blokova podataka

    direktno ili skupno-asoc.

    direktno ili skupno-asoc. potpuno asocijativno

    Zamena blokova LRU Random ili LRU Aproksimacija LRU

    N. Milenkovi, Arhitektura i organizacija raunara 2011