You are on page 1of 8

Cuaderno de problemas y cuestiones de Ingeniera de Computadores

Tema 2
Curso 20072008
J 1. Se tiene el siguiente listado que corresponde a un programa en ensamblador de la CPU terica. Dicho listado forma parte del cdigo de la Tarea 1. (a)
ORIGEN 2000 h INICIO p r i m e r a . PILA 30 h . CODIGO primera : MOVL R1 , 1 MOVH R1 , 0 repite : MOVL R7 , 2 h MOVH R7 , 0 h MOVL R2 , 00 h MOVH R2 , 01 h ADD R1 , R1 , R2 INT 10 h JMP r e p i t e FIN

(b)
ORIGEN 2000 h INICIO p r i m e r a . PILA 30 h . CODIGO primera : CLI MOVL R1 , 1 MOVH R1 , 0 repite : MOVL R2 , 00 h MOVH R2 , 01 h ADD R1 , R1 , R2 INT 10 h JMP r e p i t e FIN

(c)
ORIGEN 2000 h INICIO p r i m e r a . PILA 30 h . CODIGO primera : MOVL R1 , 1 MOVH R1 , 0 repite : XOR R0 , R0 , R0 MOVL R3 , 0C8h MOVH R3 , 80 h MOV [ R3 ] , R0 MOVL R2 , 00 h MOVH R2 , 01 h ADD R1 , R1 , R2 INT 10 h JMP r e p i t e FIN

1 2 3 4 5 6 7 8 9

CLI MOVL MOVH XOR MOV INC M0VH MOV MOV

R3 , 00 h R3 , 0E0h R2 , R2 , R2 [ R3 ] , R2 R2 R3 , 61 h [ R3 ] , R2 [ R2 ] , R3

En la gura se muestran los espacios de direcciones ocupados por las tareas y el Sistema Operativo. Si intentsemos que la CPU terica diera soporte a un sistema operativo multitarea moderno, Cul o cules de las instrucciones anteriores causaran problemas segn el comportamiento esperado en un S.O. multitarea, y por qu causa? Contestar nmero de instruccin y causa. Instruccin no 1 Intento de ejecucin por parte de la tarea de una instruccin privilegiada. Slo podra ejecutarla el S.O. Instruccin no 5 La tarea intenta escribir en el rea de memoria del S.O. Instruccin no 9 La tarea intenta escribir en una estructura de datos reservada del sistema, bajo control del S.O.

En particular, forman parte de una tarea ubicada en memoria a partir de la direccin 2000h. Adems de esta tarea, haba otra tarea ubicada a partir de la direccin 1000h y un pequeo sistema operativo multitarea a partir de la direccin 8000h. Qu deciencias de la CPU terica ponen de maniesto cada uno de los programas anteriores? Programa (a): No hay conmutacin automtica de la pila cuando se transere el control al sistema operativo. Programa (b): Hay instrucciones como la CLI que slo debera ejecutar el sistema operativo. Programa (c): El rea de memoria asociada al sistema operativo es accesible a las tareas para su lectura o escritura.

J 3. Se ha construido una CPU que requiere 4 ciclos (periodos de reloj) para ejecutar cualquier instruccin. Tras probar diferentes periodos de reloj se comprueba que el periodo mnimo con el que es capaz de trabajar correctamente es 2 ns. Cul es la mxima frecuencia de reloj que puede emplearse en la CPU anterior? 500 MHz. Cuntas instrucciones puede ejecutar por cada ciclo de reloj? Ejemplo: 1,2 instrucciones/ciclo. 0,25 instrucciones/ciclo Cuntas instrucciones por segundo puede ejecutar? 125 millones de instrucciones/segundo

J 2. Los programas (a), (b) y (c) siguientes han sido extrados de una sesin prctica en la que se mostraban las deciencias de la CPU terica para soportar sistemas operativos multitarea.

Soluciones de los ejercicios del tema 2

Ingeniera de Computadores

En la prctica, empleando la tcnica de segmentacin se consigue incrementar notablemente la frecuencia de reloj de la CPU, el nmero de instrucciones que puede ejecutar por ciclo de reloj y por lo tanto el nmero de instrucciones por segundo. Para mejorar el rendimiento de la CPU anterior se ha dividido la ejecucin de todas las instrucciones en 20 etapas, cada una de las cuales requiere un ciclo de reloj. Se han hecho pruebas haciendo que las 20 etapas trabajen en modo no segmentado (en este modo no hay paralelismo en la ejecucin, pues en cada ciclo slo hay una etapa activa) y se comprueba que la CPU es capaz de ejecutar a lo sumo 100 millones de instrucciones por segundo. Cul es la mxima frecuencia de reloj que puede emplearse una vez segmentada la CPU? 2 GHz. Cuntas instrucciones puede ejecutar la CPU segmentada cada ciclo de reloj? Ejemplo: 1,2 instrucciones/ciclo. 1 instruccin/ciclo Cuntas instrucciones por segundo puede ejecutar? 2000 millones de instrucciones/segundo

Al funcionar en paralelo, el periodo mnimo de reloj coincide con la duracin mnima de cada etapa, es decir, 100 ns/2 = 50 ns. Resulta una frecuencia mxima de reloj de 20 MHz. Como una CPU segmentada es capaz de ejecutar a lo sumo 1 instruccin por ciclo de reloj, resulta que la CPU es capaz de ejecutar a lo sumo: 20 millones de instrucciones/segundo

J 5. Se pretende realizar desde cero una CPU que implemente la arquitectura PIC16x. Para ello, en primer lugar se ha diseado una versin preliminar no segmentada de la CPU, la cual es capaz de ejecutar 2,5 millones de instrucciones por segundo trabajando a la mxima frecuencia. La ejecucin de cualquier instruccin se divide en cuatro etapas que funcionan de forma secuencial. Cada una de estas etapas necesita un ciclo de reloj para completarse. Cul es la mxima frecuencia de reloj que puede emplearse con dicha CPU? 10 MHz Cul es tiempo mnimo necesario para ejecutar cualquier instruccin dicha CPU? Contestar en microsegundos.
1 2,5106

J 4. La tcnica de la segmentacin en la ejecucin de instrucciones se usa no slo en potentes CPUs de propsito general que soportan los sistemas multitarea actuales. Tambin se emplea en pequeas CPUs, como la CPU de 8 bits incorporada en los microcontroladores de la familia PIC16x de la empresa Microchip, usados para implementar sistemas de control simples de bajo coste. Se pretende realizar desde cero una CPU que implemente la arquitectura PIC16x. Para ello, en primer lugar se ha diseado una versin preliminar no segmentada de la CPU, la cual es capaz de ejecutar 10 millones de instrucciones por segundo trabajando a la mxima frecuencia. La ejecucin de cualquier instruccin se divide en dos etapas que funcionan de forma secuencial: una etapa de bsqueda de la instruccin y una etapa de ejecucin propiamente dicha. Cada una de estas etapas necesita un ciclo de reloj para completarse. Cul es tiempo mnimo necesario para ejecutar cualquier instruccin en dicha CPU? 100 ns Cul es la mxima frecuencia de reloj que puede emplearse con dicha CPU? 20 MHz Una vez se ha realizado la versin inicial de la CPU, sta se ha modicado empleando la tcnica de segmentacin. Para ello se permite que las dos etapas funcionen en paralelo. Cuntas instrucciones por segundo puede ejecutar, a lo sumo, la versin segmentada de la CPU? Razona la respuesta.

= 0,4 seg

Una vez se ha realizado la versin inicial de la CPU, sta se ha modicado empleando la tcnica de segmentacin. Para ello se permite que las cuatro etapas funcionen en paralelo. Cul es ahora el tiempo mnimo necesario para ejecutar cualquier instruccin, y cuntas instrucciones por segundo puede ejecutar, a lo sumo, la versin segmentada de la CPU? Tiempo en microsegundos: 0,4 Nmero de instrucciones/s: 10 millones J 6. Se ha rediseado la organizacin interna de la CPU terica para soportar la segmentacin en la ejecucin de instrucciones. Para ello, la ejecucin de cualquier instruccin se ha dividido en dos etapas que pueden llevarse a cabo de forma concurrente. La primera etapa consiste en la bsqueda de la instruccin e incremento del contador de programa, la cual requiere 1,5 ns. La segunda etapa consiste en la ejecucin propiamente dicha, la cual requiere tambin 1,5 ns. Suponiendo que la CPU acaba de ser reiniciada, es decir, no ha ejecutado an ninguna instruccin, indicar el tiempo necesario para ejecutar el siguiente fragmento de cdigo cuando la CPU se conecta a una cache de primer nivel dividida y cuando se conecta a una cache de primer nivel unicada. Nota: No considerar limitaciones de la ALU.
1 2 3 4 5 6 7

MOVL XOR ADD MOV MOV XOR MOV

R2 , 05 h R4 , R4 , R4 R4 , R2 , R1 R3 , [ R4 ] [ R3 ] , R1 R1 , R2 , R3 R1 , [ R6 ]

Cache dividida: 12 ns Cache unicada: 15 ns 2

Ingeniera de Computadores

Soluciones de los ejercicios del tema 2

J 7. Se dispone de una CPU segmentada en dos etapas para ejecutar programas de la CPU terica, de forma que puedan llevarse a cabo en paralelo la fase de bsqueda y ejecucin propiamente dicha, de cada instruccin. Cada etapa se ejecuta en un ciclo de reloj. En esta CPU se utiliza una cache unicada y no existe replicacin de la ALU (no es posible realizar dos operaciones con la ALU simultneamente).
1 2 3 4 5 6 7

Qu CPU proporciona un mayor rendimiento, la A15, que trabaja a 1,5 Ghz, o la Super B30, que trabaja a 3 GHz? Por qu? La Super B30 al estar segmentada es capaz de ejecutar una instruccin cada ciclo de reloj. Como su frecuencia de reloj es de 3 GHz, resulta que puede ejecutar 3000 MIPS, menor que los 3500 MIPS de la CPU A15. Por lo tanto, la CPU A15 proporciona un mayor rendimiento aunque tenga una frecuencia de reloj menor.

MOVH MOVL INC MOV XOR ADD MOV

R3 , 0BAh R3 , 04 h R3 R2 , R3 R4 , R4 , R4 R4 , R2 , R3 [ R3 ] , R4

Cuntos ciclos de reloj tarda en ejecutarse el fragmento de cdigo anterior, en esta CPU? 11 Si en el conjunto de programas que ejecuta esta CPU existe un 25 % de instrucciones que realizan accesos a memoria para leer o escribir datos, un 15 % de instrucciones aritmticas y un 10 % de operaciones lgicas, cul de las siguientes alternativas de rediseo del sistema crees que resultara ms eciente: a) dotar a la CPU de una cache dividida o b) replicar la ALU? Por qu? Tanto las instrucciones de acceso a datos en memoria como las instrucciones aritmtico lgicas provocan una rotura de la segmentacin. La mejor alternativa pues ser aquella que minimice el nmero de roturas. Con la alternativa a) se reducira en un 25 % el nmero de roturas, mientras que con la alternativa b) se reducira en un (15 % + 10 %) = 25 % tambin. Luego en este caso el efecto sera el mismo.

La CPU A15 es simplemente una CPU segmentada, o adems es superescalar? Por qu? Es superescalar, pues es capaz de ejecutar ms de una instruccin por ciclo de reloj. En particular, es capaz de ejecutar (3750/1500) = 2,5 instrucciones cada ciclo de reloj.

J 9. Se dispone de una CPU segmentada que cuenta con dos etapas, una etapa de bsqueda y una etapa de ejecucin. La interfaz con la memoria es nica y compartida entre las dos etapas. El tiempo que toma en contemplarse cada una de las etapas es de 10 nanosegundos. Si esta CPU ejecuta la siguiente secuencia de instrucciones:
1 2 3 4

ADD MOV AND XOR

R4 , R2 , R5 , R6 ,

R3 , R2 [ R4 ] R2 , R3 R6 , R6

J 8. Dos compaas fabricantes de CPUs se disputan el mercado. La primera de ellas dispone de la CPU modelo A15, capaz de ejecutar 3750 Millones de Instrucciones Por Segundo (MIPS), la cual trabaja a una frecuencia de 1,5 GHz. La segunda compaa pretende expulsar del mercado a la primera poniendo a la venta la CPU modelo Super B30, que trabaja a una frecuencia de 3 GHz e implementa el mismo juego de instrucciones que la CPU de la competencia. Para obtener este producto, la compaa parte de una CPU no segmentada, modelo B0,25, que opera a 250 MHz y requiere una media de 2,5 ciclos de reloj para ejecutar cualquier instruccin. Cul es el tiempo medio necesario para ejecutar una instruccin en la CPU B0,25? 2,5 ciclos
1 ns 0,25 ciclos

Completa adecuadamente el cronograma de ejecucin. Nota: la parte superior es para la etapa de bsqueda y la inferior para la de ejecucin. Escribe dentro el mnemnico apropiado. ADD MOV ADD MOV AND XOR AND XOR

= 10 ns

Cuntos nanosegundos ms rpida es la ejecucin segmentada que la secuencial del conjunto de instrucciones considerado? (8 10) (6 10) = 20 nanosegundos

La CPU Super B30 se obtiene dividiendo la ejecucin de las instrucciones en N etapas de duracin 1 ciclo de reloj (de 3 GHz), las cuales funcionan de forma concurrente. Cul debe ser el valor de N? N=
10 ns 1/3 ns

J 10. Se tiene una CPU que requiere 10 pasos para que se ejecute una instruccin, a razn de un paso por ciclo de reloj. Cul ha de ser la frecuencia de reloj de la CPU para que sta sea capaz de ejecutar 10 millones de instrucciones por segundo trabajando de forma no segmentada? 100 MHz

= 30

Soluciones de los ejercicios del tema 2

Ingeniera de Computadores

Si la frecuencia se mantiene constante en el valor anterior y deseamos que la CPU ejecute 5 veces ms instrucciones, qu tcnica podemos utilizar y cul es el nmero mnimo de etapas necesarias para conseguir el objetivo buscado? Tcnica: Segmentacin Etapas: 5

Cuntas instrucciones por segundo puede ejecutar, a lo sumo, la versin segmentada de la CPU? 2 400 millones de instrucciones / seg Una determinada instruccin dnde tarda ms tiempo en ejecutarse, en la versin que emplea las doce etapas de forma secuencial, o en la versin que emplea las doce etapas de forma paralela? Por qu? Tarda lo mismo, pues en ambos casos son necesarios doce ciclos de reloj. La diferencia es que con la CPU segmentada se pueden ejecutar doce instrucciones a la vez.

Si ahora la CPU dispone de 10 etapas que trabajan en paralelo, requiriendo cada una de ellas 1 ciclo de reloj, con un reloj de frecuencia 10 MHz, cuntas instrucciones por segundo podra ejecutar esta CPU? Cunto tiempo emplea en ejecutar cada una de las instrucciones? No de instrucciones: 10 millones de instrucciones por segundo Tiempo por instruccin (seg): 0,1 10 = 1 seg

J 11. Se dispone de una CPU segmentada en 4 etapas, cada una de las cuales necesita 2 ciclos de reloj para llevarse a cabo. Suponiendo que la frecuencia de reloj que gobierna la CPU es de 100 MHz, cuntas instrucciones por segundo tericas puede ejecutar la CPU? 50 millones Si mediante la replicacin de unidades funcionales de la CPU se dispusiera de 4 cauces de ejecucin, cuntas instrucciones por segundo tericamente podra ahora ejecutar la CPU? 200 millones Si ahora la CPU dispone de 10 etapas que trabajan en paralelo, requiriendo cada una de ellas 1 ciclo de reloj, con un reloj de frecuencia 10 MHz, cuntas instrucciones por segundo podra ejecutar esta CPU? Cunto tiempo emplea en ejecutar cada una de las instrucciones? No de instrucciones: 10 millones de instrucciones por segundo Tiempo por instruccin (seg): 0,1 10 = 1 seg

Qu podra ocurrir si una tarea que se ejecuta sobre un sistema operativo multitarea pudiese desactivar las interrupciones? Por qu? Podra tomar el control de la mquina o cuando menos bloquearla. Esto es as porque al estar inhabilitadas las interrupciones el SO no podra tomar el control a travs de la interrupcin generada por el temporizador peridico.

Cuando una tarea llama a un servicio del sistema operativo se produce, entre otras cosas, la conmutacin de la pila de la tarea a la pila del sistema operativo. La arquitectura IA-32 lleva a cabo una conmutacin automtica de la pila. En qu consiste este tipo de conmutacin? El registro puntero de pila de la tarea justo antes de producirse la transferencia se salva en la pila del sistema operativo y la CPU carga de forma automtica (sin que ninguna instruccin lo provoque) el puntero de pila del SO en el registro puntero de pila. Una vez recibe el control el sistema operativo, el manejador copia el contenido del puntero de pila de la tarea en el rea de datos donde el S.O. almacena el estado de la tarea.

J 12. Se pretende realizar desde cero una CPU que implemente la arquitectura PIC16x. Para ello, en primer lugar se ha diseado una versin preliminar no segmentada de la CPU, la cual es capaz de ejecutar 200 millones de instrucciones por segundo trabajando a la mxima frecuencia. La ejecucin de cualquier instruccin se divide en doce etapas que funcionan de forma secuencial. Cada una de estas etapas necesita un ciclo de reloj para completarse. Cul es la mxima frecuencia de reloj que puede emplearse con dicha CPU? 2,4 GHz Una vez se ha realizado la versin inicial de la CPU, sta se ha modicado empleando la tcnica de segmentacin. Para ello se permite que las doce etapas funcionen en paralelo. Cuntas instrucciones por ciclo de reloj es capaz de ejecutar la CPU segmentada? 1 instruccin / ciclo de reloj

J 13. Para comprobar el efecto de la replicacin de unidades funcionales se considera el siguiente fragmento de cdigo que se ejecuta sobre diferentes versiones segmentadas de la CPU terica.
1 2 3 4 5 6 7 8

MOVL MOVH XOR MOV INC MOVH MOV MOV

R3 , 00 h R3 , 0E0h R2 , R2 , R2 [ R3 ] , R2 R2 R3 , 61 h [ R3 ] , R2 [ R2 ] , R3

La primera versin es una segmentacin en dos etapas: una de bsqueda de instruccin e incremento del PC y otra de ejecucin propiamente dicha. En dicha versin se dispone de una nica ALU, la 4

Ingeniera de Computadores

Soluciones de los ejercicios del tema 2

cual se emplea tanto para el incremento del PC como para la ejecucin de las instrucciones aritmticas y lgicas. La segunda versin es anloga a la anterior, pero dispone de una ALU adicional, por lo que se pueden realizar a la vez dos operaciones aritmticas o lgicas. Ambas versiones segmentadas emplean un reloj de 1 GHz, consumiendo un ciclo de reloj para cada etapa y estn conectadas a una cache dividida. La NICA diferencia entre ellas es la posibilidad de llevar a cabo una o dos operaciones aritmticas simultneamente. Cunto tiempo requiere la ejecucin del fragmento de programa anterior en cada una de las versiones segmentadas de la CPU? Responder en nanosegundos. Segmentacin y 1 ALU: 11 ns Segmentacin y 2 ALUs: 9 ns

Explica qu tendra que suceder para que la rutina de tratamiento de la excepcin anterior no tuviera xito, y a dnde se devolvera el control en ese caso. La rutina de tratamiento de la excepcin falla si la pgina asociada a la direccin no tiene almacenamiento fsico asignado, ni en memoria, ni en el archivo de paginacin. O si lo mismo ocurre con la tabla de pginas. En este caso se produce un fallo no recuperable y la tarea naliza, el S.O. toma el control y lo cede a otra tarea para su ejecucin.

J 15. Teniendo en cuenta el contenido de los registros mostrados en la tabla siguiente, se pide calcular la direccin lineal a la que se accedera mediante las siguientes instrucciones:
Contenido registro EAX = 0000 001Bh EBX = 0000 001Ch ECX = 0000 001Dh ESP = 0000 003Ch Direccin base almacenada en: Registro sombra de CS = 0040 0000h Registro sombra de DS = 0050 0000h Registro sombra de SS = 0060 0000h Registro sombra de FS = 0070 0000h

J 14. En un momento dado, una CPU con arquitectura IA-32 y con Sistema Operativo Windows, se encuentra ejecutando un programa. Se conoce: La direccin contenida en el registro IDTR = 8000 0000h. El contenido de parte de la IDT, que se muestra en la gura. El sistema operativo trabaja segn un modelo de memoria plano.

POP ECX Direccin lineal: 0060 0000h + 0000 003Ch = 0060 003Ch MOV EBX, [EAX] Direccin lineal: 0050 0000h + 0000 001Bh = 0050 001Bh

Si en el transcurso del programa se ejecuta la instruccin INT 2Eh: A partir de qu direccin lineal se ubica la entrada de la IDT correspondiente a esta instruccin? 8000 0000h + (2Eh 8) = 8000 0170h A qu tipo de transferencia de control al S.O. corresponde la instruccin anterior? Llamada a servicio del S.O. Sobre la misma CPU, se procede en otro momento a ejecutar una instruccin de acceso a datos, ubicada en la direccin lgica CS:07B9 4891h, a la que le sigue, otra instruccin con direccin lgica CS:07B9 4897h. Se sabe que la primera de estas instrucciones produce un fallo de pgina: En qu direccin lineal se encuentra la rutina que se encarga de tratar este tipo de excepcin? 87CF 9500h

J 16. En un momento dado, una CPU basada en la arquitectura IA-32 muestra el contenido de los registros que se indican en la tabla. Si, se pretende ejecutar secuencialmente las instrucciones siguientes (es decir, son consecutivas en memoria), indica qu rangos de direcciones sern accedidas en cada instruccin. Recuerda que por cada instruccin pueden ser necesarios 2 accesos a memoria y supn que el cdigo de una instruccin es de 32 bits.
Contenido registro EAX = 0000 001Bh EBX = 0000 001Ch ECX = 0000 001Dh ESP = 0000 003Ch EIP = 0000 003Ch Direccin base almacenada en: Registro sombra de CS = 001A D000h Registro sombra de DS = 56FB 9000h Registro sombra de FS = 6098 A000h Registro sombra de SS = B987 C000h Registro sombra de ES = CFD4 5000h

MOV EAX, [EBX] Bsqueda: CS:EIP = 001A D025h 001A D028h Ejecucin: DS:EBX = 56FB 9032h 56FB 9035h POP ECX

Si la rutina de tratamiento de la excepcin tiene xito, a qu direccin lineal devolver el control? 07B9 4891h (la misma instruccin que caus la excepcin) 5

Bsqueda: CS:EIP = 001A D029h 001A D02Ch Ejecucin: SS:ESP = B987 C0F3h B987 C0F6h

Soluciones de los ejercicios del tema 2

Ingeniera de Computadores

J 17. Una tarea ejecutada sobre un PC con sistema operativo Microsoft Windows XP tiene como cdigo fuente el indicado a continuacin. Dicho cdigo fuente contiene varias instrucciones que al ser ejecutadas generan excepciones.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

# i n c l u d e < s t d i o . h> v o i d main ( ) { int var_local = 0; unsigned p a g _ v i r t u a l ; u n s i g n e d d i r _ v i r t u a l _ e t p = NULL ; / C a l c u l a l a i n v e r s a de l a v a r i a b l e l o c a l / var_local = 1 / var_local ; / I n i c i a l i z a c i e r t o s r e g i s t r o s / _asm { mov ah , 10 cli } / Pg . v i r t u a l a s o c i a d a a v a r _ l o c a l / p a g _ v i r t u a l = ( ( u n s i g n e d )&v a r _ l o c a l ) >> 1 2 ; / D i r e c c i n v i r t u a l en l a que s e a l m a c e n a l a ETP / d i r _ v i r t u a l _ e t p = ( v o i d ) ( 0 xC0000000 + p a g _ v i r t u a l 4) ; / E s c r i b e e l v a l o r de l a ETP / p r i n t f ( " V a l o r de l a ETP = % \ n " , d i r _ v i r t u a l _ e t p ) ; X }

B) La excepcin de divisin por 0 en la arquitectura IA-32 es de tipo FALLO. C) Las CPUs que gracias a la replicacin de componentes son capaces de trabajar sobre varias instrucciones simultneamente reciben el nombre de superescalares. D) En modo protegido la instruccin CLI puede ser ejecutada con el nivel de privilegio de usuario. E) La CPU con nivel de privilegio de usuario puede acceder a las direcciones de memoria asociadas al sistema operativo. F) La IDT de un PC puede contener como mximo 256 entradas. B, C y F J 20. Indica cul o cules de las siguientes armaciones son CIERTAS. Contesta Ninguna si crees que ninguna lo es. A) El primer procesador que implement la arquitectura IA-32 fue el 80386. B) El modelo de memoria plano de la arquitectura IA-32 reduce la segmentacin a su mnima expresin, haciendo que el desplazamiento de la direccin lgica coincida con la direccin lineal. C) En la arquitectura IA-32 el nivel de privilegio de ejecucin viene dado por el campo RPL, llamado CPL, del registro CS. D) El espacio de direcciones lgicas en la arquitectura IA-32 tiene un tamao mayor de 1 Tbyte. E) La IDT es la tabla descriptores de interrupcin en la arquitectura IA-32, la cual se ubica en el espacio de direcciones lineales a partir de la direccin 0000 0000h. A, B, C y D J 21. Indica cul o cules de las siguientes armaciones son CIERTAS. Contesta Ninguna si crees que ninguna lo es. A) Implementando un modelo de memoria plano en la arquitectura IA-32, la proteccin de la memoria es proporcionada por el mecanismo de segmentacin. B) Empleando el modelo de memoria plano, las direcciones virtuales que llegan al sistema de paginacin coinciden con los desplazamientos de las direcciones segmentadas. C) Las CPUs IA-32 llevan a cabo una conmutacin automtica de la pila de usuario a la de supervisor cuando se transere el control al sistema operativo. D) En las CPUs modernas todas las tareas pueden acceder a cualquier posicin de memoria sin restricciones. E) En la arquitectura IA-32 el mecanismo de segmentacin puede desactivarse mediante un bit de un registro de control. ByC

Qu instrucciones C o ensamblador habra que comentar en el programa anterior para que no se generasen excepciones? Por qu? Si no es necesario comentar ninguna instruccin responde Ninguna. var_local = 1 / var_local. Se trata de una instruccin que trata de llevar a cabo una divisin por cero. cli. Es una instruccin ensamblador que slo puede ejecutar el sistema operativo. printf(). Trata de acceder a una direccin ubicada en los 2 Gbytes ms altos del E.D. virtuales, accesibles slo por el sistema operativo.

J 18. En las situaciones que se describen a continuacin se produce la transferencia del control al Sistema Operativo. A cul de los tres tipos posibles de transferencia de control al Sistema Operativo corresponde cada una de las situaciones? Fallo de pgina Excepcin. Lectura de un chero Llamada a servicio del S.O. Pulsacin de una tecla Interrupcin. Divisin por cero Excepcin. Clic del ratn Interrupcin. Ejecucin en modo traza Excepcin.

J 19. Indica cul o cules de las siguientes armaciones son CIERTAS. Contesta Ninguna si crees que ninguna lo es. A) La tcnica de segmentacin consiste en dividir la ejecucin de instrucciones en etapas pero las etapas no es necesario que trabajen en paralelo. 6

Ingeniera de Computadores

Soluciones de los ejercicios del tema 2

J 22. Indica cul o cules de las siguientes armaciones son CIERTAS. Contesta Ninguna si crees que ninguna lo es. A) El valor del campo IOPL en la arquitectura IA-32, establece el privilegio de acceso al espacio de direcciones de E/S. B) En el modelo de memoria de la arquitectura IA-32, se puede utilizar tanto segmentacin, como paginacin, si bien sta ltima se puede desactivar. C) En la arquitectura IA-32, el modelo de memoria plano consiste en que todas las tareas comparten el rango de 4GB del espacio de memoria fsica. D) La IDT, en la arquitectura IA-32, es una tabla de descriptores de segmento especiales que comienza en la direccin indicada en el registro IDTR. E) El descriptor de segmento, en la arquitectura IA-32, sirve para obtener el desplazamiento de la direccin virtual al que pretende acceder la CPU. A, B y D

J 25. Indica cul o cules de las siguientes armaciones son CIERTAS. Contesta Ninguna si crees que ninguna lo es. A) En la arquitectura IA-32 el modelo de memoria plano consiste en que todas las tareas comparten el rango de 4GB del espacio de memoria fsica. B) En el modelo de memoria de la arquitectura IA-32 se puede utilizar tanto segmentacin como paginacin, si bien esta ltima se puede desactivar. C) La IDT, en la arquitectura IA-32, es una tabla de descriptores de segmento especiales que comienza en la direccin indicada en el registro IDTR. D) El valor del campo IOPL en la arquitectura IA-32 establece el privilegio necesario para acceder al espacio de direcciones de E/S. E) El descriptor de segmento, en la arquitectura IA-32, sirve para obtener el desplazamiento de la direccin virtual al que pretende acceder la CPU. B, C y D

J 23. Una de las siguientes armaciones sobre la CPU es FALSA. Indica cul es y por qu. A) Cuando se realiza la transferencia de control en un S.O. multitarea, guardar el registro de estado y el contador de programa en la pila de la tarea en ejecucin puede llegar a provocar un mal funcionamiento del sistema. B) El modelo de memoria plano evita que el programador tenga que manejar registros de segmento. C) Las CPUs IA-32 en modo protegido sitan la tabla de vectores de interrupcin en el primer KB de la memoria fsica. D) En las CPUs IA-32 cada tarea puede utilizar dos tablas de descriptores de segmento diferentes. La C es falsa. En el modo protegido se utiliza la tabla IDT, apuntada por el registro IDTR.

J 26. Indica cul o cules de las siguientes armaciones son CIERTAS. Contesta Ninguna si crees que ninguna lo es. A) La proteccin de memoria usando el modelo de memoria plano se consigue mediante la paginacin. B) Empleando el modelo de memoria plano la direccin fsica del operando de memoria de la instruccin MOV EAX, [ECX] coincide con el valor de ECX. C) Dependiendo del tipo de acceso a memoria (datos, pila o cdigo), se emplean diferentes registros segmento por defecto. D) Los servicios en la arquitectura IA-32 son llamados empleando la instruccin INT. E) El registro EFLAGS contiene un bit que permite deshabilitar las interrupciones. A, C, D y E J 27. Indica cul o cules de las siguientes armaciones son CIERTAS. Contesta Ninguna si crees que ninguna lo es. A) La proteccin de memoria en Windows se lleva a cabo con la segmentacin. B) Empleando el modelo de memoria plano en la arquitectura IA-32, slo hay dos niveles de privilegio disponibles. C) Cuando una tarea llama a un servicio del sistema operativo se produce una excepcin. D) La llamada a los servicios nativos de Windows mejora la portabilidad de las aplicaciones. E) DOS es un sistema operativo que implementa mecanismos de proteccin. B J 28. Indica cul o cules de las siguientes armaciones, referidas a la arquitectura AMD64, son CIERTAS. Contesta Ninguna si crees que ninguna lo es. A) La arquitectura AMD64 mantiene la compatibilidad con las arquitecturas de 32 bits, a diferencia de la IA-64 representada por el Itanium. B) En el modo de funcionamiento largo existen los siguientes tres submodos: Protegido, 8086 virtual y Real. 7

J 24. Indica cul o cules de las siguientes armaciones son CIERTAS. Contesta Ninguna si crees que ninguna lo es. A) En el caso de las CPUs modernas la mejora del rendimiento es un aspecto que no se tiene en cuenta. B) Los primeros procesadores que implementaban la arquitectura IA-32 no soportaban los S.O. multitarea. C) Las CPUs que gracias a la replicacin de componentes son capaces de trabajar sobre varias instrucciones simultneamente reciben el nombre de superescalares. D) En las CPUs modernas todas las tareas pueden acceder a cualquier posicin de memoria sin restricciones. E) El establecimiento de niveles de privilegio permite el control de ejecucin de instrucciones en las CPUs modernas. CyE

Soluciones de los ejercicios del tema 2

Ingeniera de Computadores

C) El controlador de memoria est integrado en el procesador. D) Aunque idealmente se podran utilizar 64 lneas de direcciones, en la prctica slo se emplean 48, dando lugar a un espacio de direcciones fsicas de 256 Terabytes. E) El nmero de registros de propsito general en esta arquitectura se amplia tambin de 8 a 64. A, C y D

You might also like