2015-11-09 2 views
1

Type d'une question de devoirs, mais je suis plus en train d'envelopper ma tête autour de ce concept:Taille de calcul du tableau de la page externe/2ème niveau

Si j'ai une adresse virtuelle 32 bits dans un système d'échange à deux niveaux où la taille de la page est 8KB et la table externe a 1024 entrées, comment puis-je calculer combien de bits doivent représenter (taille de) la table de deuxième niveau/page externe?

La réponse est censée être 9 bits mais je ne suis pas sûr de la façon de calculer cela ou ce que la formule est.

Répondre

2

L'adresse virtuelle est divisée en ceci:

PTI - Page Tableau Index

1st PTI | 2nd PTI | Page Offset 

La "table de la page externe", le premier PTI, a 1024 entrées. 10 bits sont nécessaires pour représenter 1024 états différents car 2^10 = 1024. Le décalage de page doit pouvoir indexer 8 KiB d'octets, donc 13 bits grand. 8 KiB correspond à 8192 adresses différentes et 2^13 = 8192.

Maintenant, la table de page 2 et est à gauche. Nous pouvons calculer sa taille facilement par soustraction:

32 = 10 + 13 + x = 23 + x | - 23 
9 = x 
x = 9 

Par conséquent, la table de page « intérieure » peut contenir jusqu'à 2^9 = 512 entrées.