Examen Julio 2009

Examen Julio 2009

de Mauro Ernesto Picó Olivera -
Número de respuestas: 3

http://www.fing.edu.uy/inco/cursos/sistoper/examenes/2009/Sol2009JUL.pdf

Estimados,

Tenemos una duda con respecto al examen de Julio de 2009.

En particular el Problema 2. El de memoria.

Nos dice que el espacio de direcciones fisico es de 63 bits. Entendemos por esto que la memoria fisica debe de teber 2^63 palabras. Lo que, teniendo paginas de 4KB se traduce en 2^51 marcos, incluyendo el bit de valido-invalido llegamos a 52 bits dentro de cada entrada de la tabla de paginas.

En la solucion directamente se utilizan 63 bits mas uno de valido-invalido para direccionar marcos, es decir cada entrada de la tabla de paginas tiene 64 bits.

Que esta mal en nuestro razonamiento?

Porque utiliza directamente 64 bits?

En respuesta a Mauro Ernesto Picó Olivera

Re: Examen Julio 2009

de Pedro Liber Antonio Carrasco Aguilar -

Para mi tu razonamiento esta bien. 

Tenes 2^63/2^12 marcos =2^51

Si supones que solo tenes un bit de control es asi como decis. Tu entry es de 52bits. Si supones que tenes 5 bits de control (valido, dirty, ronly, etc) serian 56bits =7bytes y la solucion seria 7*2^20 bytes= 7MB. Pero con 1 bit de control tenes 2^20*52bits =6.5 MB

Para que encaje con la solucion planteada tendrias que tener 13 bits de control.

Saludos
En respuesta a Mauro Ernesto Picó Olivera

Re: Examen Julio 2009

de Guillermo Gabrielli Ferreira -

Supongo que ambos criterios tienen sentido. 

Usar directamente la dirección física completa de 63 bits permite evitar un desplazamiento (aunque la verdad no debería ser nada costoso) y admite que el inicio de un frame sea en una dirección arbitraria.

Por otro lado usar solo los bits necesarios reduce el uso de RAM pero implica que los bits inferiores de la dirección de inicio de frame sean constantes (aunque ese sería un requerimiento razonable en mi opinión).

Si solo se tiene el bit de validez de manera que entre en 64 bits probablemente tiene más sentido usar la dirección completa pues es más simple y rápido leer la memoria en múltiplos del tamaño de palabra, así que de cualquier forma probablemente se agregaría padding a cada entrada para alinearlas a 8 bytes por razones de performance.

Si los profesores no confirman cual criterio utilizar, si surge esta duda en el examen conviene escribir que criterio se utilizó.

En respuesta a Guillermo Gabrielli Ferreira

Re: Examen Julio 2009

de Pedro Liber Antonio Carrasco Aguilar -

Para mi con 64 o 52 vas a leer de a multiplos de "palabra" (o tamaño del bus de datos de la RAM xq la arqui no te va a dejar leer de a menos), solo que en el de 52 vas a tener que trabajar con mascaras en funcion del indice de la entry de tu tabla y talvez sumar las partes que sacaste con mascaras de las partes direcciones de memoria que trajiste para construir tu puntero al comienzo del frame (Ya que tus 52 bits no tienen porque estar alineados al principio o al final de tu cacho de memoria traido). O sea que la logica de la MMU se complica. Asique talves para facilitar la logica de la MMU se use el segundo criterio (pues direcciones de a 63 o 51 bits, las mascaras serian fijas).