[calcolatori elettronici] - esercizio

Messaggioda giacomovicinanza » 23/08/2021, 10:47

"Un processore dispone di una memoria centrale di 256 MB e di una memoria virtuale di 1 GB, entrambe organizzate in pagine da 32 KB. Supponendo che il processore generi il seguente indirizzo virtuale
Immagine
1) Calcolare il numero di bit di ciascuno dei campi in cui viene partizionato l'indirizzo virtuale.
2) In quale ipotesi il dato indirizzato dal processore si trova nella memoria principale e qual è il suo indirizzo fisico (espresso in cifre binarie), supponendo che la pagina virtuale sia caricata nella pagina fisica $ 18_10 $
3)Calcolare la dimensione in bit della tabella delle pagine, supponendo che sia previsto l'uso di 2 bit di utilizzo.

Procedimento:
1) Indirizzo Virtuale = 30 bit poichè 1 GB corrisponde a $ 2^30 $
Offset = Pagine da 32 KB corrispondono a $ 2^5 (32) * 2^10 $ = 15 bit
Tag = Indirizzo virtuale - offset = 30 -15 = 15 bit
2) Considerando un determinato indirizzo virtuale e ricavando i vari campi. L'offset rimane invariato poichè la sua dimensione non subisce alcun trattamento. L'indirizzo deve essere tradotto mediante delle operazioni verificando se il dato che è stato richiesto sia presente nella Page Table mediante il tag.
Bisogna vedere se effettivamente la pagina fisica che si tenta ad accedere sia presenta nella Page Table. Ottenendo una hit, il dato è stato trovato e quindi può avvenire la traduzione, o una miss quindi bisogna recarsi nel disco rigido per trovare il dato richiesto.
PPN= 256 MB -> $ 2^8*2^20 $ = 27 bit
Offset = 15 bit
Tag = PPN - offset = 28 - 15 = 13 bit (rappresentano i bit più significativi a sinistra)
$ 18_10=010010_2$
3)Dimensione della tabelle delle pagine è costituito dal bit di validità, dall'uso dei bit di utilizzo, dal tag e dal PPN = 1+2+28+13=44 bit
giacomovicinanza
Junior Member
Junior Member
 
Messaggio: 1 di 218
Iscritto il: 18/08/2021, 15:55

Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite