He leído esto:

Recordar que la paginación es implementado por
romper una dirección en una página y
número de desplazamiento. Es el más eficiente para
romper la dirección en X página bits y
Y desplazamiento de bits, en lugar de realizar
la aritmética en la dirección de calcular
el número de página y de desplazamiento. Porque
cada posición de bit representa una potencia
de 2, la división de una dirección entre
bits de resultados en un tamaño de página que es un
potencia de 2.

No entiendo muy bien esta respuesta, ¿alguien puede dar una explicación más simple?

Necesita más contexto. Puede usted proporcionar la pregunta que precede a la respuesta?
Estoy casi seguro de que hoy en día las máquinas de realizar la manipulación de bits y operaciones con números enteros a la misma velocidad (descartando la canalización, de aciertos de caché, MMX, SSE y así)
Muchos de estos la dirección de cómputos llevará a cabo en hardware dedicado, de modo que el general de división y el resto sería de las cosas más despacio y hacer el circuito más complejo, sin ningún beneficio real.

OriginalEl autor | 2009-09-01

8 Comentarios

  1. 14

    Si está convirtiendo una (lineal) de la dirección de la página:offset, que quieren dividir a la dirección por el tamaño de la página y tomar el entero de respuesta de la página, y el recordatorio de como el desplazamiento.

    Esto se realiza mediante la división entera y el módulo (MOD, «%») a los operadores en el lenguaje de programación.

    Un equipo representa una dirección de un número almacenado como bits binarios.

    He aquí un ejemplo de dirección: 12 es de 1100 en binario.

    Si el tamaño de página es de 3, tendríamos que calcular 12/3 y el 12% de 3 a encontrar la página y desplazamiento (4:0, respectivamente).

    Sin embargo, si el tamaño de página es de 4 (potencia de 2), luego 4 en binario es de 100, y la división entera y el módulo puede ser calculada a través de los ‘atajos’: usted puede quitar los dos últimos dígitos binarios para dividir, y usted puede mantener sólo los dos últimos dígitos binarios para el módulo. Así:

    12/4 == 12>>2 (desplazando a quitar los dos últimos dígitos)

    12%4 == 12&(4-1) (4-1=3 es binario 11, y el ‘&’ (Y) operador sólo mantiene los)

    OriginalEl autor Will

  2. 1

    Si usted tiene n dígitos binarios a su disposición, entonces usted puede codificar 2n valores diferentes.

    Dado una dirección, su descripción de los estados de algunos bits se utilizan para la página, y algunos para el desplazamiento. Como usted está usando un número entero de bits binarios para el desplazamiento Y, a continuación, el tamaño de la página es, naturalmente, una potencia de 2, específicamente la 2A.

    OriginalEl autor Paul Dixon

  3. 1

    Trabajar con potencias de dos lleva más eficiente de hardware, así que eso es lo que los diseñadores de hardware de hacer. Considere la posibilidad de una cpu con una dirección de 32 bits, y un n-bit número de página:

    +----------------------+--------------------+
    | page number (n bits) | byte offset (32-n) |
    +----------------------+--------------------+
    

    Esta dirección se envía a la memoria virtual de la unidad, que directamente se separa el número de página y desplazamiento de bytes sin ningún tipo de operaciones aritméticas. Es decir, se trata del valor de 32 bits como una matriz de bits, y tiene (más o menos) un cable que va directamente a cada bit. Esto permite que el hardware de memoria para extraer el número de página y el byte de desplazamiento en paralelo, sin necesidad de realizar operaciones aritméticas.

    Al mismo tiempo, este enfoque requiere dividir un poco el límite, y que conduce directamente a la potencia de 2 tamaños de página.

    OriginalEl autor Dale Hagglund

  4. 0

    Porque la representación de los datos. El desplazamiento de página define el tamaño de la página, y desde el que se representan los datos en binario, usted tendrá un número n de bits para definir el desplazamiento, por lo que habrá páginas con un tamaño de 2^n.

    Supongamos que usted tiene una dirección similar a esta 10011001, y lo parten en 1001:1001 de la página:offset. Puesto que usted tiene 4 bits para definir el desplazamiento, en su página de tamaño 2⁴.

    OriginalEl autor Gothmog

  5. 0

    Si no es potencia exacta de 2, a continuación, algunos de direcciones de memoria no será válido. por ejemplo, si el tamaño de página es de 5 bytes, a continuación, para distinguir cada byte necesitamos 3 bits en el desplazamiento de parte de la dirección. Porque el uso de 2 bits 4 bytes puede ser abordado. Pero el uso de 3 bits de desplazamiento de 5 bytes de la página de mantener dos direcciones no utilizadas. es por eso que el tamaño de la página debe ser …….

    OriginalEl autor user98142

  6. 0

    desde todas las direcciones están en binario y se dividen en f y d, f=marco no, d=desplazamiento. debido a que el tamaño de alimentación de 2 un ser humano no necesita ir a por enormes cálculo matemático, sólo por ver los bits de la dirección se puede identificar el f y d. Si el tamaño de la página fue de 2^n en la dirección física últimos bits n representa el desplazamiento y el resto de bits que representan los números de página.
    Espero que esta respuesta te ayude.

    OriginalEl autor Sanjit Prasad

  7. 0

    Me di cuenta de lo que no conseguí fue cómo los tamaños de página son una potencia de 2. Me enteré después:

    Al menor nivel, la página es de 1 bit (0 o 1) y el desplazamiento es de 1 bit (0 o 1). La combinación de estos juntos, el tamaño de la página sería de 2 x 2 (2^2), debido a que el número de bits que tienen ambos (2 cada uno, por lo que 2 x 2).

    Ahora si la página/offset eran más grandes, entonces sería n x n siendo n el número de bits que ambos tienen.

    OriginalEl autor ekushay

  8. 0

    La página no. siempre está en la potencia de 2 (2^n).
    Hay varias razones:
    1.La dirección de memoria es también en 2^n por lo que será más fácil para mover una página.
    2.Hay dos bits que representan la página:
    una.La página no. b.Offset no
    Así que,Esta es también la razón.
    3.La memoria está en cuantifica como la carga(q).

    OriginalEl autor Sunny Pamnani

Dejar respuesta

Please enter your comment!
Please enter your name here