02-10-2012, 02:12
Bueno, subo este final recién ahora porque pensé que ya estaba subido y cuando me lo puse a buscar hoy para ver si estaba resuelto, vi que no estaba ni subido (o al menos yo no lo encuentro)
Acá les dejo mi resolución para que puedan comparar con la suya, si coinciden o no, etc. Repito, es mi resolución, no esta chequeado por nadie más, por lo que más de una respuesta puede estar mal.
Teoria:
1. Las referencias a las direcciones de la memoria principal. (Pag. 111 creo)
2. 32 bits y signo, exponente y mantisa. Fuente: http://es.wikipedia.org/wiki/IEEE_coma_f...le_32-bits
3. Registros de propósito general, registros de segmento (CS, DS, SS), registro puntero de instrucción (EIP), registro de estado o señalizadores (EFLAGS)
Lo que me gustaría saber es si el programador de aplicaciones también tiene acceso a los registros de segmento ES, FS, GS porque del libro yo entiendo que si ...
4. Registro puntero de pila ( ESP ). SP es de Stack Pointer. También esta el registro que apunta a la base de la pila que es el EBP pero no es por el que pregunta.
5. Modo inmediato (creo que tmb se le puede decir modo directo aunque nunca me quedo claro)
6. TLB
7. Directorio de tabla de páginas y tabla de páginas (creo que se refiere a esto)
8. IRQ ?? Con esta dudo bastante porque habla de que permite determinar la prioridad del mismo...
9. Fetch (Búsqueda de la instrucción) ?
Práctica:
a.1 - 0000 y FFFF (?) Un Word son 2 bytes (16 bits) entonces \[2^{16}\]-1 = 65535 que en HEXA es FFFF -eso hice yo pero no estoy seguro que sea lo que pide-
a.2 - 2^{15}-1 = 32767 (?) Signado iría de -32768 a +32767 según tengo entendido
a.3 - Si "cubre" hasta el +32767 entonces en \[2^{15}\] = 32768 ya daría overflow (OF = 1)
b.1 - En el registro de segmento.
b.2 - Modo Protegido: EIP (32 bits) Modo Real: IP (16 bits) (no estoy seguro tampoco)
b.3 - RSx16 + Desplazamiento (donde RS es la base que esta almacenada en el registro de segmento correspondiente, si no me equivoco y el desplazamiento en IP como se dijo en el punto b.2)
La entidad Base de un segmento presente en modo protegido está en los 32 bits de más peso del descriptor de segmento.
(Pág. 168)
c.1 - El campo límite en modo protegido indica el tamaño máximo del segmento. \[2^{20}\] = 1MB pero como acá dice que los segmentos están paginados yo interpreto que está en modo plano, donde hay un solo segmento que abarca toda la memoria principal. Si es este el caso, a mi entender el campo limite no brinda ninguna información, ya que el tamaño del segmento sería 4GB (como máximo) que no se pueden referencias con 20 bits.
Y si no es modo plano, entonces como dije al principio, nos indica el tamaño máximo del segmento...
c.2 - Este punto la verdad es el que menos seguro estoy... si la tabla de directorio tiene 3 entradas validad entonces "apunta" a sólo 3 tablas de páginas y si el campo puntero de tabla de pagina es de 10 bits, se podría acceder a un máximo de \[2^{10}\] = 1024 páginas
PERO LA VERDAD, no tengo lo suficientemente claro el concepto de paginación a 2 niveles... así que es muy probable que este punto este muy mal ...
Espero que este aporte les sea de utilidad y espero que puedan corregirme lo que tenga mal !!
Saludos a todos y gracias por pasar!
Spoiler: Mostrar
Acá les dejo mi resolución para que puedan comparar con la suya, si coinciden o no, etc. Repito, es mi resolución, no esta chequeado por nadie más, por lo que más de una respuesta puede estar mal.
Teoria:
1. Las referencias a las direcciones de la memoria principal. (Pag. 111 creo)
2. 32 bits y signo, exponente y mantisa. Fuente: http://es.wikipedia.org/wiki/IEEE_coma_f...le_32-bits
3. Registros de propósito general, registros de segmento (CS, DS, SS), registro puntero de instrucción (EIP), registro de estado o señalizadores (EFLAGS)
Lo que me gustaría saber es si el programador de aplicaciones también tiene acceso a los registros de segmento ES, FS, GS porque del libro yo entiendo que si ...
4. Registro puntero de pila ( ESP ). SP es de Stack Pointer. También esta el registro que apunta a la base de la pila que es el EBP pero no es por el que pregunta.
5. Modo inmediato (creo que tmb se le puede decir modo directo aunque nunca me quedo claro)
6. TLB
7. Directorio de tabla de páginas y tabla de páginas (creo que se refiere a esto)
8. IRQ ?? Con esta dudo bastante porque habla de que permite determinar la prioridad del mismo...
9. Fetch (Búsqueda de la instrucción) ?
Práctica:
a.1 - 0000 y FFFF (?) Un Word son 2 bytes (16 bits) entonces \[2^{16}\]-1 = 65535 que en HEXA es FFFF -eso hice yo pero no estoy seguro que sea lo que pide-
a.2 - 2^{15}-1 = 32767 (?) Signado iría de -32768 a +32767 según tengo entendido
a.3 - Si "cubre" hasta el +32767 entonces en \[2^{15}\] = 32768 ya daría overflow (OF = 1)
b.1 - En el registro de segmento.
b.2 - Modo Protegido: EIP (32 bits) Modo Real: IP (16 bits) (no estoy seguro tampoco)
b.3 - RSx16 + Desplazamiento (donde RS es la base que esta almacenada en el registro de segmento correspondiente, si no me equivoco y el desplazamiento en IP como se dijo en el punto b.2)
La entidad Base de un segmento presente en modo protegido está en los 32 bits de más peso del descriptor de segmento.
(Pág. 168)
c.1 - El campo límite en modo protegido indica el tamaño máximo del segmento. \[2^{20}\] = 1MB pero como acá dice que los segmentos están paginados yo interpreto que está en modo plano, donde hay un solo segmento que abarca toda la memoria principal. Si es este el caso, a mi entender el campo limite no brinda ninguna información, ya que el tamaño del segmento sería 4GB (como máximo) que no se pueden referencias con 20 bits.
Y si no es modo plano, entonces como dije al principio, nos indica el tamaño máximo del segmento...
c.2 - Este punto la verdad es el que menos seguro estoy... si la tabla de directorio tiene 3 entradas validad entonces "apunta" a sólo 3 tablas de páginas y si el campo puntero de tabla de pagina es de 10 bits, se podría acceder a un máximo de \[2^{10}\] = 1024 páginas
PERO LA VERDAD, no tengo lo suficientemente claro el concepto de paginación a 2 niveles... así que es muy probable que este punto este muy mal ...
Espero que este aporte les sea de utilidad y espero que puedan corregirme lo que tenga mal !!
Saludos a todos y gracias por pasar!