1 
Módulo IV: Subsistema de entrada/salida 
Problemas 
Problema 1 
Un procesador de 16 bits (direcciones y datos) dispone de una única línea de interrupción INT con vector en la dirección 
FFFF. Diseñar un controlador de interrupciones para dotar al procesador de 4 líneas autovectorizadas INT0, INT1, INT2 y 
INT3 con prioridad ascendente (INT0 la menos prioritaria y INT3 la más prioritaria) con vectores FFFF, FFFE, FFFD y 
FFFC respectivamente. La parte variable de cada vector ocupa sólo 1 byte, siendo los 8 bits más significativos del vector 
fijos e igual a FF. 
Problema 2 
Se conectan dos computadores a través de dos módulos de e/s serie asíncrona tipo ACIA. El primero transmite información 
al segundo a una velocidad de 9.600 bits/segundo. Se supone que los módulos operan con una división de frecuencia de 16 
y que se utiliza un formato de transmisión de 8 bits de datos, 1 bit de paridad y 2 bits de stop. ¿Cual debe ser la tolerancia 
de la frecuencia nominal del módulo receptor? 
Problema 3 
Un computador de 32 bits dispone de dos canales selectores y un canal multiplexor. Cada canal selector controla dos 
unidades de disco y dos unidades de cinta. Al canal multiplexor están conectados dos impresoras, dos lectoras de tarjetas y 
10 pantallas. Para los diferentes periféricos se suponen las siguientes velocidades de transferencia: 
Unidad de disco 800 Kbytes/seg 
Unidad de cinta 200 Kbytes/seg 
Impresora 8 Kbyte/seg 
Lectora de tarjetas 1,5 Kbytes/seg 
Pantalla 1 Kbyte/seg 
Calcular la máxima velocidad de transferencia que debe soportar este computador. 
Problema 4 
Un computador funciona a una frecuencia de 10 MHz (107 ciclos/seg) con un CPI = 4 ciclos y cada operación de lectura o 
escritura de memoria tarda un ciclo. Determinar la máxima velocidad de transferencia de datos, en palabras por segundo, 
para los cuatro casos siguientes: 
a) E/S controlada por programa que utiliza 3 instrucciones en transferir cada palabra. 
b) DMA con transferencia por ráfagas. 
c) DMA con transferencia por robo de ciclo. 
d) DMA con transferencia transparente suponiendo que en cada instrucción, en promedio, hay 2 ciclos en los 
cuales la CPU no utiliza el bus. 
Problema 5 
Diseñar un codificador de prioridad de 8x3 en el que sus tres salidas a, b y c se utilicen para proporcionar un vector de 
dirección de la forma 110abc00. 
Problema 6 
Un computador tiene las siguientes características: 
• longitud de palabra: 16 bits 
• número medio de ciclos para ejecutar una instrucción: 4 
• velocidad de ejecución de instrucciones: 2 MIPs 
Se conecta un periférico que transmite a una velocidad de 19.200 bits/segundo a través de un controlador de DMA que 
funciona mediante robo de ciclo. 
¿En qué porcentaje se reduce la velocidad del procesador? 
Problema 7 
Mediante interrupciones se conecta a un computador un disco con las siguientes características: 1.024 bytes/sector, 48 
sectores/pista y 360 rpm (revoluciones por minuto). Se produce una interrupción cada vez que se transmite un byte, y se 
tarda 2 μsegundo en procesar cada interrupción. 
¿Qué porcentaje máximo del tiempo estará la CPU ocupada en la operación de e/s? 
Problema 8 
Repetir el problema anterior utilizando DMA y suponiendo que se da una interrupción por sector.
Problema 9 
Una CPU tiene una longitud de palabra de 8 bits y cuenta con una sola entrada de petición de interrupción (INT) y la 
correspondiente salida de reconocimiento (RINT). Se quiere dotar a la CPU de 4 niveles de petición de interrupción, en 
cada uno de los cuales puedan interrumpir 4 dispositivos periféricos. 
2 
a) Diseñar la lógica de control de interrupciones que hay que añadir a la CPU de modo que: 
• Se resuelvan las prioridades de los distintos niveles 
• Se resuelvan las prioridades de los dispositivos del mismo nivel. 
• Se identifique el dispositivo mediante un vector de 8 bits. 
b) Describir el funcionamiento de la unidad diseñada. 
Problema 10 
Un módulo de e/s serie asíncrona tipo ACIA que transmite a una frecuencia de 9.600 b/s se programa con un formato de 8 
bits de datos, 1 bit de paridad y 2 bits de stop. A través de este módulo se conecta a un microprocesador una impresora que 
opera a una velocidad máxima de 97.000 caracteres /minuto. Se ejecuta en el microprocesador un programa que genera una 
salida de 100.000 caracteres uniformemente distribuidos a lo largo de los 5 minutos que tarda la ejecución del programa. 
Calcular: 
1) Tiempo que tarda en ejecutarse el programa cuando los 100.000 caracteres de salida se envían a la impresora 
utilizando interrupciones, sabiendo que el microprocesador tarda 4μs en procesar una interrupción y 1μs en 
ejecutar las instrucciones de envío de un carácter. 
2) Tiempo que tarda en ejecutarse el mismo programa cuando se utiliza e/s programada y se desprecia el tiempo de 
ejecución de la instrucción de test. 
3) Ganancia de velocidad del sistema en los casos 1) y 2) si duplicamos la frecuencia de transmisión del módulo de 
e/s. 
Problema 11 
Se quieren comparar los anchos de banda de dos buses, uno síncrono y el otro asíncrono, en el proceso de lectura de una 
memoria de 200 ns de tiempo de acceso. El bus síncrono tiene un tiempo de ciclo de 50 ns y cada transacción de bus 
requiere un ciclo de reloj. El bus asíncrono requiere 40 ns para cada elemento del diálogo entre CPU y memoria 
(handshaking). Ambos buses multiplexan dierecciones y datos por un conjunto de 32 líneas. 
Problema 12 
Un procesador que opera a 200 MHz con un CPI = 4 dispone de un sistema de interrupciones con un 
tiempo de reconocimiento de interrupción de 100 ns. Se conecta a un disco magnético con 128 sectores/pista 
y 1024 bytes/sector a través del sistema de interrupciones. En cada interrupción se transmiten 8 bytes 
utilizando una rutina de servicio que ejecuta 20 instrucciones. Determina: 
a) Capacidad de entrada de datos (ancho de banda) máxima en bytes/segundo a través del sistema de 
interrupciones. 
b) Velocidad de rotación máxima a la que podrá operar el disco en r.p.m. (revoluciones por minuto). 
c) Si el disco se conecta a través de DMA operando por robo de ciclo y cada vez que se le concede el 
bus transmite 8 bytes, calcula el tiempo que el DMA roba a la CPU durante la lectura de un 
sector. 
d) Porcentaje de tiempo que la CPU dedica a la E/S durante la operación del DMA si el disco opera a 
la velocidad de determinada en el apartado b). 
Problema 13 
Un procesador que opera a 500 MHz con un CPI = 4 dispone de un sistema de interrupciones con un tiempo de 
reconocimiento de interrupción de 100 ns. Se conecta un disco magnético con 128 sectores/pista y 1024 bytes/sector a 
través del sistema de interrupciones. En cada interrupción se transmiten 8 bytes. Determina: 
a) Número máximo de instrucciones que puede tener la rutina de servicio de interrupción si queremos que la 
capacidad de entrada de datos (ancho de banda) a través del sistema de interrupciones sea de 20 MBytes/segundo. 
b) Velocidad de rotación máxima a la que podrá operar el disco en r.p.m. 
c) Tiempo que el DMA roba a la CPU durante la lectura de un sector si el disco se conecta a través de DMA 
operando por robo de ciclo sabiendo que cada vez que se le concede el bus transmite 8 bytes. 
d) Número de instrucciones que ejecuta la CPU durante el intervalo de tiempo de transmisión de un sector.

Problemas m4

  • 1.
    1 Módulo IV:Subsistema de entrada/salida Problemas Problema 1 Un procesador de 16 bits (direcciones y datos) dispone de una única línea de interrupción INT con vector en la dirección FFFF. Diseñar un controlador de interrupciones para dotar al procesador de 4 líneas autovectorizadas INT0, INT1, INT2 y INT3 con prioridad ascendente (INT0 la menos prioritaria y INT3 la más prioritaria) con vectores FFFF, FFFE, FFFD y FFFC respectivamente. La parte variable de cada vector ocupa sólo 1 byte, siendo los 8 bits más significativos del vector fijos e igual a FF. Problema 2 Se conectan dos computadores a través de dos módulos de e/s serie asíncrona tipo ACIA. El primero transmite información al segundo a una velocidad de 9.600 bits/segundo. Se supone que los módulos operan con una división de frecuencia de 16 y que se utiliza un formato de transmisión de 8 bits de datos, 1 bit de paridad y 2 bits de stop. ¿Cual debe ser la tolerancia de la frecuencia nominal del módulo receptor? Problema 3 Un computador de 32 bits dispone de dos canales selectores y un canal multiplexor. Cada canal selector controla dos unidades de disco y dos unidades de cinta. Al canal multiplexor están conectados dos impresoras, dos lectoras de tarjetas y 10 pantallas. Para los diferentes periféricos se suponen las siguientes velocidades de transferencia: Unidad de disco 800 Kbytes/seg Unidad de cinta 200 Kbytes/seg Impresora 8 Kbyte/seg Lectora de tarjetas 1,5 Kbytes/seg Pantalla 1 Kbyte/seg Calcular la máxima velocidad de transferencia que debe soportar este computador. Problema 4 Un computador funciona a una frecuencia de 10 MHz (107 ciclos/seg) con un CPI = 4 ciclos y cada operación de lectura o escritura de memoria tarda un ciclo. Determinar la máxima velocidad de transferencia de datos, en palabras por segundo, para los cuatro casos siguientes: a) E/S controlada por programa que utiliza 3 instrucciones en transferir cada palabra. b) DMA con transferencia por ráfagas. c) DMA con transferencia por robo de ciclo. d) DMA con transferencia transparente suponiendo que en cada instrucción, en promedio, hay 2 ciclos en los cuales la CPU no utiliza el bus. Problema 5 Diseñar un codificador de prioridad de 8x3 en el que sus tres salidas a, b y c se utilicen para proporcionar un vector de dirección de la forma 110abc00. Problema 6 Un computador tiene las siguientes características: • longitud de palabra: 16 bits • número medio de ciclos para ejecutar una instrucción: 4 • velocidad de ejecución de instrucciones: 2 MIPs Se conecta un periférico que transmite a una velocidad de 19.200 bits/segundo a través de un controlador de DMA que funciona mediante robo de ciclo. ¿En qué porcentaje se reduce la velocidad del procesador? Problema 7 Mediante interrupciones se conecta a un computador un disco con las siguientes características: 1.024 bytes/sector, 48 sectores/pista y 360 rpm (revoluciones por minuto). Se produce una interrupción cada vez que se transmite un byte, y se tarda 2 μsegundo en procesar cada interrupción. ¿Qué porcentaje máximo del tiempo estará la CPU ocupada en la operación de e/s? Problema 8 Repetir el problema anterior utilizando DMA y suponiendo que se da una interrupción por sector.
  • 2.
    Problema 9 UnaCPU tiene una longitud de palabra de 8 bits y cuenta con una sola entrada de petición de interrupción (INT) y la correspondiente salida de reconocimiento (RINT). Se quiere dotar a la CPU de 4 niveles de petición de interrupción, en cada uno de los cuales puedan interrumpir 4 dispositivos periféricos. 2 a) Diseñar la lógica de control de interrupciones que hay que añadir a la CPU de modo que: • Se resuelvan las prioridades de los distintos niveles • Se resuelvan las prioridades de los dispositivos del mismo nivel. • Se identifique el dispositivo mediante un vector de 8 bits. b) Describir el funcionamiento de la unidad diseñada. Problema 10 Un módulo de e/s serie asíncrona tipo ACIA que transmite a una frecuencia de 9.600 b/s se programa con un formato de 8 bits de datos, 1 bit de paridad y 2 bits de stop. A través de este módulo se conecta a un microprocesador una impresora que opera a una velocidad máxima de 97.000 caracteres /minuto. Se ejecuta en el microprocesador un programa que genera una salida de 100.000 caracteres uniformemente distribuidos a lo largo de los 5 minutos que tarda la ejecución del programa. Calcular: 1) Tiempo que tarda en ejecutarse el programa cuando los 100.000 caracteres de salida se envían a la impresora utilizando interrupciones, sabiendo que el microprocesador tarda 4μs en procesar una interrupción y 1μs en ejecutar las instrucciones de envío de un carácter. 2) Tiempo que tarda en ejecutarse el mismo programa cuando se utiliza e/s programada y se desprecia el tiempo de ejecución de la instrucción de test. 3) Ganancia de velocidad del sistema en los casos 1) y 2) si duplicamos la frecuencia de transmisión del módulo de e/s. Problema 11 Se quieren comparar los anchos de banda de dos buses, uno síncrono y el otro asíncrono, en el proceso de lectura de una memoria de 200 ns de tiempo de acceso. El bus síncrono tiene un tiempo de ciclo de 50 ns y cada transacción de bus requiere un ciclo de reloj. El bus asíncrono requiere 40 ns para cada elemento del diálogo entre CPU y memoria (handshaking). Ambos buses multiplexan dierecciones y datos por un conjunto de 32 líneas. Problema 12 Un procesador que opera a 200 MHz con un CPI = 4 dispone de un sistema de interrupciones con un tiempo de reconocimiento de interrupción de 100 ns. Se conecta a un disco magnético con 128 sectores/pista y 1024 bytes/sector a través del sistema de interrupciones. En cada interrupción se transmiten 8 bytes utilizando una rutina de servicio que ejecuta 20 instrucciones. Determina: a) Capacidad de entrada de datos (ancho de banda) máxima en bytes/segundo a través del sistema de interrupciones. b) Velocidad de rotación máxima a la que podrá operar el disco en r.p.m. (revoluciones por minuto). c) Si el disco se conecta a través de DMA operando por robo de ciclo y cada vez que se le concede el bus transmite 8 bytes, calcula el tiempo que el DMA roba a la CPU durante la lectura de un sector. d) Porcentaje de tiempo que la CPU dedica a la E/S durante la operación del DMA si el disco opera a la velocidad de determinada en el apartado b). Problema 13 Un procesador que opera a 500 MHz con un CPI = 4 dispone de un sistema de interrupciones con un tiempo de reconocimiento de interrupción de 100 ns. Se conecta un disco magnético con 128 sectores/pista y 1024 bytes/sector a través del sistema de interrupciones. En cada interrupción se transmiten 8 bytes. Determina: a) Número máximo de instrucciones que puede tener la rutina de servicio de interrupción si queremos que la capacidad de entrada de datos (ancho de banda) a través del sistema de interrupciones sea de 20 MBytes/segundo. b) Velocidad de rotación máxima a la que podrá operar el disco en r.p.m. c) Tiempo que el DMA roba a la CPU durante la lectura de un sector si el disco se conecta a través de DMA operando por robo de ciclo sabiendo que cada vez que se le concede el bus transmite 8 bytes. d) Número de instrucciones que ejecuta la CPU durante el intervalo de tiempo de transmisión de un sector.