Calcular sistema de paginación

Tengo este problema que resolver y tengo las respuestas, pero estoy tratando de entender los conceptos detrás de esto.

Un sistema de paginación tiene los siguientes parámetros: 2^32 bytes de memoria física; tamaño de página de 2^10 bytes; 2^16 páginas de espacio de direcciones lógicas.

  1. How many bits are in a logical address? 26 bits
  2. How many bytes are in a frame? (?)
  3. How many bits are in the physical address specifying the frame? 22 bits
  4. How many entries in the page table? 2^16
  5. How many bits in each page table entry? Assume each page table entry contains a valid/invalid bit. 23 bits
Como comentario aparte para cualquiera que analice esta pregunta (claramente académica) y se pregunte cómo se relaciona con el mundo real: los espacios de direcciones lógicas suelen ser más grandes que las direcciones físicas en los procesadores reales. 2^10 es un tamaño de página muy pequeño; 2^12 es el más pequeño de uso común, pero generalmente se considera que los tamaños más grandes son mejores en la mayoría de los casos. La pregunta asume una tabla de páginas de un solo nivel, pero la mayoría de los sistemas actuales son jerárquicos o usan algún tipo de memoria direccionable de contenido o búsqueda programable para evitar la necesidad de tablas de páginas que cubran todo el espacio.

Respuestas (1)

Ok, vamos a desglosarlo:

  • Físico: 2 32
  • Tamaño de página: 2 10
  • Número de páginas: 2 16

    1. ¿Cuántos bits en una dirección lógica? Esos son los bits de la dirección de la página más el número de bits de las páginas. La parte superior de una dirección es el número de página (16 bits) y la parte inferior es el desplazamiento dentro de esa dirección (10 bits), por lo que el tamaño total de la dirección es de 26 bits (10 26 bytes ) .
    2. ¿Cuántos bytes hay en un marco? Un marco es donde una página se puede mapear en la memoria, por lo que un marco debe tener el mismo tamaño que una página: 2 10 bytes.
    3. ¿Cuántos bits hay en la dirección física que especifica el marco? Bueno, tiene 32 bits de dirección física, y un marco es 2 10 grande, por lo que deja 22 de los bits (32 - 10) para la dirección base del marco.
    4. ¿Cuántas entradas en la tabla de páginas? La tabla de páginas es la lista completa de páginas, ya sean asignadas o no asignadas, por lo que hay 2 16 entradas en la tabla de páginas, ya que hay 2 16 páginas.
    5. ¿Cuántos bits hay en cada entrada de la tabla de páginas? Suponga que cada entrada de la tabla de páginas contiene un bit válido/no válido. Si cada página se asigna a una entrada en la tabla de páginas y esa tabla es una lista de las direcciones en las que se asignan las páginas en la memoria física, cada dirección de la tabla debe tener el tamaño de la respuesta 3 (22 bits) más uno bit para el bit válido/inválido, por lo que 23 bits.

¿Está más claro?