Question

Je lis le livre "Modern Operating System". Et je suis confus au sujet de la « Taille de la page ».

Dans le livre, l'auteur dit,

  

L'adresse virtuelle 16 bits entrant est   divisé en un numéro de page 4 bits et   12 bits de décalage. Avec 4 bits pour la   numéro de page, nous pouvons avoir 16 pages, et   avec 12 bits pour l'offset, nous pouvons   répondre à toutes 4096 octets dans un   page.

Pourquoi 4096 octets? Avec 12 bits, nous pouvons répondre à 4096 entrées dans une page, correcte. Mais, une entrée est une adresse (dans ce cas, l'adresse size = 16 bits). Je pense donc que nous pouvons aborder 4096 (entrée) * 16 (bit) = 4096 (entrée) * 2 (octets) = 8 Ko, mais pourquoi le livre dit que nous pouvons aborder 4096 (octets)?

Merci d'avance! :)

Était-ce utile?

La solution

Cela suppose octet adressé la mémoire (qui presque chaque machine a fait au cours des 30 dernières années utilisations), de sorte que chaque adresse se réfère à un octet, une entrée ou une adresse ou toute autre valeur plus grande. Pour maintenir une valeur de 16 bits, vous aurez besoin de deux adresses consécutives (deux octets).

Il y a plus de 30 ans, il y avait autrefois des machines qui ont été abordés mot, qui travaillaient comme vous conjecturer. Mais ces machines avaient un moment difficile traiter les données d'octet (tels que les caractères ASCII), et ainsi sont tombés en disgrâce. De nos jours, des choses comme octet adressabilité, 8 bits et des octets entiers complément à deux sont à peu près juste supposé.

Autres conseils

Les 12 bits sont un décalage dans une page. Le est décalé en octets, pas d'adresse. 2 ^ 12 est 4096.

Qu'est-ce que vous calculez est la taille de la page, à savoir la taille d'une page dans le tableau de la page dans la mémoire. Comme nous utilisons 12 bits pour le décalage, chaque trame dans la mémoire physique est 2 ^ 12 = 4096K. Cependant, chaque page dans la table de page occupe 2 ^ 12 entrées x 2 octets = 8K dans la mémoire.

ok si vous avez 16 bits adresse virtuelle permettent de voir ce que cela signifie .It signifie que vous avez 2 ** 16 = 65536 octets.

4 numéro de page de bits qui signifie qu'il y a 16 pages que 2 ^ 4 = 16 Maintenant vous Nom Les Pages Comme page1, page2 ... page16.

Il nous reste 12bits nous permettent de voir combien d'adresse 12 bits peuvent représenter 2 ** 12 = 4096 octets

65536 octets peut également être obtenue en divisant en 16 pages contenant 4096 octets, comme 4096 * 16 = 65536

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top