Sunteți pe pagina 1din 5

Memoria Virtuala (continuare)

Se considera o memorie virtuala cu o capacitate de 232 octeti, organizata in 220 pagini


virtuale de cate 4Kocteti (1Kcuvant: 32 de biti/cuvant). Memoria fizica are o capacitate
de 16 Mocteti, care se structureaza in 212 cadre de pagini. Campurile de adrese virtuale si
fizice, cat si mapare alor sunt date mai jos:
32 12 11 0

Numarul paginii virtuale Offset Pagina

23 12 11 0
Numarul cadrului Offset pagina
paginii fizice

Cadrul paginii fizice Pagina virtuala


00 00000
01 00001
02 00002
03 00003
… ……………………….
……………………….
FFE
FFF FFFD
FFFE
FFFF

Tabelele de pagini
In general exista un numar mare de pagini virtuale, fiecare dintre acestea putand
fi mapata, fie in memoria principala, fie in memoria secundara.
Maparea este stocata intr-o structura de date numita tabela de pagini. Tabelele de
pagini pot fi structurate si accesate in diverse moduri.
Se considera ca tabelele de pagini sunt stocate tot in pagini si ca reprezentarea
unei mapari necesita un cuvant, ceea ce inseamna ca 1K mapari se pot stoca intr-
o pagina.(4Kocteti).
Pentru fiecare program exista o tabela numita pagina director, in care sunt
pastrate maparile de pagini pentru programul dat. Continutul unei locatii din
tabela de pagini de pagini este dat mai jos:
bit de validitate
Numarul cadrului paginii fizice
bit pagina utilizata
bit pagina scrisa/murdara
Exemplu de structura de Tabela de Pagini

31 22 21 12 11 0
Numarul Paginii Virtuale Offset Pagina
Offset-ul Directorului Offset-ul tabelei de pagini

Director Tabela de Pagini Pagini


Pointer Direct
Numar
……………..
Tabela
de Pagini

………………

Numar
………….. Pagina
Fizica

Se observa ca memoria virtuala prezinta penalizari de timp importante, chiar in


cazul in care directorul, tabela de pagini si pagina, care trebuie accesata, se afla
in memoria principala.
Pentru a accesa un operand sau o instructiune sunt necesare trei accese la
memorie:
- pentru locatia in director;
- pentru locatia in tabela de pagini;
- pentru operand sau instructiune.
Acesta sunt realizate automat prin hardware de catre unitatea de management al
memoriei. Daca aceste informatii se afla in cache trebuie sa se execute trei
accese la cache.
Pentru rezolvarea acestei probleme se foloseste o alta memorie cache care
traduce adresa virtuala in adresa fizica. Este vorba de Translation Lookaside
Buffer (TLB). TLB stocheaza locatiile recent utilizate.

Numarul paginii virtuale Offset Pagina

Intrare Numar Pagina Virtuala


Bit valid Bit murdar Cache complet asociativ sau asociativ pe seturi
Eticheta Data

Numar Pagina Virtuala Numar Cadru Pagina Fizica

Numar Cadru Pagina Fizica Offset Pagina


Adresa Virtuala

Acces TLB

TLB miss Nu Da
TLB
intrerupere hit?

Nu Da
Scrie?

Incearca citirea datei Pozitioneaza in


din cache TLB

Scrie data in Cache, actualizeaza eticheta,


Stall de Cache miss Nu Hit in Da plaseaza data si adresa in tamponul de
Cache?
scriere

Furnizeaza data pt.UCP

Prelucrarea unei citiri sau scrieri in TLB-ul si Cache-ul lui DECStation 3100
Adresa Virtuala
31 30……………………………………12 11………………………..1 0
Numar Pagina Virtuala Offset Pagina
20
Valid Murdar Eticheta Numar Pagina Fizica

TLB

=
Hit TLB ^ 20 12
Numar Pagina Fizica

Adresa Fizica
16 14 2

Valid Eticheta Data Offset octet

………………………..

Cache

32
=
Cache hit Data

DECStation 3000: TLB si Cache implementeaza procesul de tranzitie de la adresa


virtuala la data

S-ar putea să vă placă și

  • Curs8 5
    Curs8 5
    Document10 pagini
    Curs8 5
    eminacamelia
    Încă nu există evaluări
  • Curs8 3
    Curs8 3
    Document9 pagini
    Curs8 3
    eminacamelia
    Încă nu există evaluări
  • Curs8 1
    Curs8 1
    Document12 pagini
    Curs8 1
    eminacamelia
    Încă nu există evaluări
  • Curs8 4
    Curs8 4
    Document6 pagini
    Curs8 4
    eminacamelia
    Încă nu există evaluări
  • Curs 8
    Curs 8
    Document21 pagini
    Curs 8
    eminacamelia
    Încă nu există evaluări
  • Curs8 2
    Curs8 2
    Document11 pagini
    Curs8 2
    eminacamelia
    Încă nu există evaluări
  • Curs7 1
    Curs7 1
    Document31 pagini
    Curs7 1
    eminacamelia
    Încă nu există evaluări
  • Operara in Banda Asamblare2
    Operara in Banda Asamblare2
    Document37 pagini
    Operara in Banda Asamblare2
    Askodfj Sdoifj
    Încă nu există evaluări
  • Curs 5
    Curs 5
    Document26 pagini
    Curs 5
    eminacamelia
    Încă nu există evaluări
  • Curs4 3
    Curs4 3
    Document4 pagini
    Curs4 3
    eminacamelia
    Încă nu există evaluări
  • Curs 6
    Curs 6
    Document22 pagini
    Curs 6
    eminacamelia
    Încă nu există evaluări
  • Curs4 2
    Curs4 2
    Document6 pagini
    Curs4 2
    eminacamelia
    Încă nu există evaluări
  • Curs4 1
    Curs4 1
    Document4 pagini
    Curs4 1
    eminacamelia
    Încă nu există evaluări
  • Curs 3
    Curs 3
    Document18 pagini
    Curs 3
    eminacamelia
    Încă nu există evaluări
  • Arhitectura Calculatorului
    Arhitectura Calculatorului
    Document14 pagini
    Arhitectura Calculatorului
    sorinnaf
    Încă nu există evaluări
  • Curs 2
    Curs 2
    Document17 pagini
    Curs 2
    eminacamelia
    Încă nu există evaluări