Documentos de Académico
Documentos de Profesional
Documentos de Cultura
7
Tecnología de Computadores
Comunicación entre
procesador y periféricos
Índice
Esquema 3
Ideas clave 4
7.1. Introducción y objetivos 4
7.2. Dispositivos externos 5
7.3. Controlador de E/S 5
7.4. E/S controlada por programa 7
7.5. E/S por interrupciones 8
© Universidad Internacional de La Rioja (UNIR)
7.6. Acceso directo a memoria (DMA) 14
7.7. Procesador de E/S (PE/S) 16
7.8. Cuaderno de ejercicios 19
7.9. Referencias bibliográficas 25
A fondo 26
Test 28
Esquema
© Universidad Internacional de La Rioja (UNIR)
Tecnología de Computadores
3
Tema 7. Esquema
Ideas clave
7.1. Introducción y objetivos
La unidad de entrada/salida (E/S) es un componente clave en el computador ya que
permite la comunicación de este con el exterior. Es un error pensar que un
controlador de E/S es únicamente una conexión física entre el bus del sistema y los
dispositivos externos ya que también cuenta con la lógica necesaria para realizar la
comunicación entre el dispositivo y la memoria y entre el dispositivo y la CPU y
supervisar y comunicarse con el dispositivo.
Los dispositivos externos no se conectan directamente al bus porque:
• Es poco práctico incluir dentro de la CPU la lógica necesaria para controlar
todos los dispositivos que se conectan debido a que estos presentan una
amplia gama de métodos de operación.
• La velocidad de transferencia de datos de los periféricos normalmente es
significativamente menor que la de la CPU debido, en la mayoría de los casos,
a la naturaleza mecánica de estos.
• Los tipos de datos que emplean los periféricos y su longitud de palabra no
tiene por qué coincidir con los empleados por la CPU.
Los objetivos de este tema son:
Estudiar la estructura básica y las funciones de un controlador de E/S.
© Universidad Internacional de La Rioja (UNIR)
Conocer la naturaleza de los dispositivos externos que se conectan a un
computador.
Conocer cómo se realiza la comunicación con el controlador de E/S.
Tecnología de Computadores
4
Tema 7. Ideas clave
7.2. Dispositivos externos
La utilidad de un computador no tiene sentido sin comunicarse con el exterior. Esta
comunicación con el exterior se lleva a cabo a través de una gran variedad de
dispositivos externos (o periféricos) que se conectan al computador a través de un
controlador de E/S.
El controlador de E/S utiliza las señales de control, estados y datos para comunicarse
con el dispositivo. Estas señales de control definen la tarea que debe llevar a cabo el
dispositivo (enviar y aceptar datos al controlador de E/S o llevar a cabo alguna tarea
de control concreta). Mientras que las señales de estado determinan el estado del
dispositivo (por ejemplo, preparado/no preparado para transmitir datos). Por último,
el controlador cuenta con una lógica de control que está asociada a cada periférico
que gestiona, en el que unos transductores eléctricos convierten las señales
eléctricas en otras formas de energía y viceversa para permitir la comunicación con
el exterior.
7.3. Controlador de E/S
El controlador de E/S se encarga de controlar uno o más dispositivos externos e
intercambiar datos entre ellos y la memoria principal o entre ellos y la CPU. Por ello,
el controlador de E/S debe contar con una interfaz interna al computador con la que
comunicarse con la memoria y la CPU y una interfaz externa para conectarse con los
periféricos.
© Universidad Internacional de La Rioja (UNIR)
Las principales funciones asociadas a un controlador de E/S son:
1. Control y temporalización.
2. Comunicación con la CPU.
Tecnología de Computadores
5
Tema 7. Ideas clave
3. Comunicación con el dispositivo externo.
4. Almacenamiento temporal de datos.
5. Detección de errores.
La complejidad del controlador de E/S depende de los dispositivos externos que
pueda controlar. Sin embargo, de forma general, la estructura de un controlador se
puede definir como en la Figura 1.
Interfaz con el bus del sistema Interfaz con el bus del dispositivo externo
Líneas de interfaz a
Estado
datos un
Registro de datos (RD) dispositivo
Control
externo
El controlador de E/S se comunica con el computador a través del bus del sistema.
Los datos que se transfieren se almacenan temporalmente en uno o más registros de
datos. También, se incluye uno o más registros de estado que aporte información del
estado actual y que, a veces, actúa también como registro de control que recibe
información de la CPU. Al conjunto de registros se le denomina puertos del
© Universidad Internacional de La Rioja (UNIR)
controlador. Por último, la lógica de E/S interacciona con la CPU mediante las líneas
de control que utiliza la CPU para enviarle las órdenes.
El controlador debe reconocer y generar las direcciones asociadas con los periféricos
que gestiona. Cada controlador de E/S tiene asignada una o más direcciones en
Tecnología de Computadores
6
Tema 7. Ideas clave
función de si controla uno o más periféricos, así como la lógica específica para cada
interfaz de cada uno de los periféricos.
El controlador de E/S, además de comunicarse con la CPU, deber ser capaz de
comunicarse con la unidad de memoria.
Las técnicas a partir de las cuales se realizan las operaciones de E/S se clasifican en:
▸ E/S controladas por programa.
▸ E/S por interrupciones.
▸ Acceso directo a memoria (DMA).
7.4. E/S controlada por programa
Cuando se utiliza el modo de operación de la E/S controlada por programa, el
computador se debe adaptar a la velocidad de trabajo del periférico. La CPU no recibe
ninguna interrupción y su cometido es chequear periódicamente el estado del
controlador de E/S para detectar cuándo ha acabado la operación que le envió en su
última orden.
Órdenes de E/S
La CPU envía cuatro tipos distintos de orden al controlador de E/S:
1. Órdenes de control.
© Universidad Internacional de La Rioja (UNIR)
2. Órdenes de comprobación.
3. Órdenes de lectura.
4. Órdenes de escritura.
Tecnología de Computadores
7
Tema 7. Ideas clave
Cuando se realiza la transferencia de un dato, el computador se mantiene en un bucle
de espera hasta que el periférico está listo para llevar a cabo la siguiente
transferencia. Mientras el computador está dentro del bucle de espera, no realiza
ningún trabajo útil por lo que, si el periférico es muy lento, puede estar mucho tiempo
en espera.
Interrupciones de E/S
En este tipo de modo de operación, las instrucciones, que dependen del tipo de
dispositivo al que están dirigidas, se convierten fácilmente en órdenes de E/S y en
muchos casos existe una relación biunívoca entre ellas.
Dado que puede haber muchos periféricos conectados a la vez en un computador,
cuando la CPU envía una orden de E/S, esta incluye la dirección del dispositivo
externo deseado y los controladores de E/S han ser capaces de interpretar esta
información para saber si la orden les compete a ellos o no.
7.5. E/S por interrupciones
Utilizar E/S controlada por programa tiene los siguientes hándicaps:
▸ Se pierde tiempo en el bucle de espera.
▸ Si la CPU está atendiendo a un periférico concreto, desatiende al resto.
▸ Si hay programas que deben ejecutarse de forma periódica, la CPU no puede
permanecer en el bucle de espera indefinidamente.
© Universidad Internacional de La Rioja (UNIR)
Una posible solución a estos inconvenientes es la de restringir el tiempo de espera
del bucle ejecutándolo sólo un determinado número de veces. Aunque esto no
asegura que se pueda llevar a cabo la transmisión de información entre el dispositivo
externo y el computador. Una solución distinta es eliminar por completo el bucle de
Tecnología de Computadores
8
Tema 7. Ideas clave
espera incluyendo las interrupciones. En este caso, el periférico manda una señal de
interrupción a la CPU cuando está listo para atender una operación de E/S. La CPU
interrumpe la ejecución del programa que está realizando, envía los datos solicitados
y retoma la ejecución del programa que había interrumpido. Para que el periférico
pueda enviar una interrupción a la CPU debe activar una línea especial de control del
bus de control que se llama línea de petición de interrupción.
Cuando la CPU es interrumpida, la información se guarda en el PC (Contador de
programa) para poder retomar posteriormente la tarea sin verse afectado por la
interrupción, salvo por el retardo que esta supone. Salvaguardar esta información
supone una sobrecarga adicional en el tratamiento de las interrupciones.
Por otra parte, la CPU no siempre puede aceptar peticiones de interrupción de los
dispositivos externos. Esto puede ocurrir si la CPU no requiere ninguna transferencia
de datos con el dispositivo externo o si la CPU está ejecutando la interrupción de un
periférico más prioritario y recibe la petición de otro dispositivo externo menos
prioritario.
También, es habitual que el usuario disponga de un método a partir de cual pueda
activar o desactivar las peticiones de interrupción.
Las E/S por interrupciones necesitan utilizar un programa más complicado que las E/S
controladas por programa debido a que la transferencia de la información se produce
si el dato está disponible y no si el programador la necesita o espera. Por ese motivo,
el software que es necesario suele formar parte del sistema operativo complejo.
Clasificación de las interrupciones
© Universidad Internacional de La Rioja (UNIR)
Lo planteado en el apartado anterior se complica enormemente si hay más de un
dispositivo conectado y cada uno de ellos puede solicitar de forma independiente
una interrupción. En ese caso se debe conocer en qué fase de la ejecución se tratan
las peticiones de interrupción pendientes, cómo se reconoce al dispositivo externo
Tecnología de Computadores
9
Tema 7. Ideas clave
interrumpido por la CPU, qué hacer si varios dispositivos externos realizan peticiones
simultáneamente y si se permite que un dispositivo externo interrumpa a la CPU
cuando está ejecutando la interrupción de otro dispositivo.
Tabla 1. Clasificación de las interrupciones. Fuente: basada en Dormido, Canto, Mira y Delgado, 2002.
Dado que es posible estudiar las interrupciones en función de diferentes criterios y
que estos no son mutuamente excluyentes entre sí. En la Tabla 1 se incluye una
clasificación de los tipos de interrupciones que será detallada en los siguientes
apartados.
© Universidad Internacional de La Rioja (UNIR)
Origen de las interrupciones
Las interrupciones pueden dividirse en internas y externas en función de las causas
que la generan.
Tecnología de Computadores
10
Tema 7. Ideas clave
Las interrupciones externas se producen por un motivo externo a la CPU como un
fallo en la alimentación del procesador.
Por su parte, las interrupciones internas se deben a circunstancias internas de la CPU
e indican, habitualmente una situación problemática (por ejemplo, el
desbordamiento de la unidad aritmético‐lógica). Las interrupciones internas son
síncronas y las externas son asíncronas con relación al programa.
Número de líneas de interrupción
La manera más sencilla de reconocer la fuente de la interrupción es diseñar varias
líneas de interrupción entre los controladores de E/S y la CPU.
La CPU reconoce con qué entrada ha recibido la petición de interrupción y ejecuta el
programa de servicio correspondiente. En cambio, no es práctico utilizar cada línea
de petición de interrupción a un único periférico. Lo habitual es contar con un número
de líneas menor que el número de periféricos que puede solicitar la interrupción
(reuniendo las solicitudes de varios periféricos en una sola línea).
Control de la CPU sobre la interrupción
Hay estrategias que permiten activar y desactivar las peticiones de interrupción de
una forma selectiva. De esta manera, se puede autorizar determinadas solicitudes
que llegan a la CPU y enmascarar otras.
© Universidad Internacional de La Rioja (UNIR)
Hay dos formas básicas de enmascaramiento:
▸ Enmascaramiento individual.
▸ Enmascaramiento por nivel.
Tecnología de Computadores
11
Tema 7. Ideas clave
Identificación de la fuente de la interrupción y gestión de la prioridad
Hay diferentes estrategias para identificar al dispositivo que ha enviado la petición
de interrupción de entre todos los que están conectados a una misma línea de
petición de interrupciones y gestionar prioridades:
▸ Identificación de la fuente de interrupción mediante encuesta: Cuando la
CPU detecta que se ha activado la línea de petición de interrupción, activa un
programa de servicio que interroga a cada uno de los controladores de e/s
para conocer cuál de ellos originó la interrupción.
▸ Identificación de la fuente de interrupción mediante encadenamiento (o
daisy chain): Se trata de un método de encuesta de tipo hardware donde se
tiene una conexión en serie de todos los dispositivos externos que piden una
interrupción. Cuando hay peticiones de interrupción simultáneas está
implícita la prioridad de los periféricos donde la máxima prioridad la obtiene
el periférico más próximo a la CPU y el resto de los periféricos tienen menor
prioridad en orden descendente a su ubicación.
▸ Identificación de la fuente de interrupción mediante hardware paralelo:
Este sistema cuenta con un registro de interrupción en el que los bits se
controlan por las señales de petición de interrupción de cada dispositivo
externo independientemente. La prioridad de los periféricos se establece en
función de la posición de cada bit en el registro. Con objeto de controlar el
estado de cada petición de interrupción, también se suele añadir un registro
de máscara de la misma longitud que el registro de interrupción que desactiva
las interrupciones de menor prioridad si se está asistiendo a un dispositivo
© Universidad Internacional de La Rioja (UNIR)
externo de mayor prioridad.
Tecnología de Computadores
12
Tema 7. Ideas clave
Niveles de interrupción
En los sistemas que cuentan con un único nivel de interrupción, cuando comienza la
ejecución del programa de servicio de una interrupción, este sigue ejecutándolo
hasta el final antes de que la CPU sea capaz de aceptar la siguiente petición de
interrupción. Sin embargo, en los sistemas que tienen varios periféricos muy
prioritarios, puede suponer una gran limitación en la gestión de las instrucciones. En
estos casos, es interesante utilizar una estructura multinivel.
Cuando las interrupciones pueden interrumpir a otras interrupciones se dice que las
interrupciones se anidan. Para llevar a cabo esta tarea, a cada causa de interrupción
se le asigna un nivel de prioridad de forma que una interrupción sólo se atiende si su
nivel es superior al de la interrupción cuyo programa se está ejecutando en ese
instante. Esto supone que los dispositivos de E/S se configuren con una estructura de
prioridades de forma que una solicitud de prioridad de mayor nivel (prioridad) se
acepte si la CPU está asistiendo a otro de menor nivel (prioridad). Es decir, que la
ejecución de las interrupciones se podrá interrumpir para atender a otras siempre
que lo solicite un periférico de mayor nivel.
Para llevar a cabo esta tarea, es habitual otorgar a la CPU un nivel de prioridad
modificable por programa. El nivel de prioridad de la CPU coincidirá con la prioridad
del programa que se ejecuta en ese momento. La CPU solo permite interrupciones
de los periféricos que tiene mayor prioridad que la suya.
Controlador de interrupciones
© Universidad Internacional de La Rioja (UNIR)
Algunos fabricantes proporcionan un módulo llamado controlador de interrupciones
PIC (Programmable interrupt controller) que se encarga de incrementar el número de
líneas de interrupción de la CPU y gestionar todo el sistema de interrupciones.
Tecnología de Computadores
13
Tema 7. Ideas clave
El PIC se encarga de reconocer la fuente de interrupción, instaurar las prioridades de
cada dispositivo externo, activar/desactivar selectivamente las peticiones de
interrupción enviadas y recibidas por a la CPU sobre la petición de la interrupción y
sobre qué dispositivo externo ha de ser atendido.
A continuación, puedes ver un vídeo, El control de periféricos, en el que se presentan
cuatro ejercicios prácticos relacionados con el control de periféricos.
7.6. Acceso directo a memoria (DMA)
Aunque las E/S por interrupciones es más eficiente que las E/S controladas por
programa, ambas tienen dos hándicaps:
▸ La transferencia de datos se limita por la velocidad con la que la CPU
comprueba y atiende al periférico.
▸ La CPU tiene que gestionar la transferencia de E/S.
Si se necesita mover grandes cantidades de datos, estas técnicas no son interesantes
y se opta por la técnica del acceso directo a memoria (Direct memory access o DMA).
El método DMA utiliza un dispositivo que se conecta al bus del sistema y que se
conoce como controlador de DMA. Este dispositivo se encarga de las tareas
© Universidad Internacional de La Rioja (UNIR)
designadas a la CPU en el control del sistema (del bus de datos y de dirección,
especialmente) y la transferencia de datos. Contiene un registro contador de palabra
y un registro de dirección que autorizan al controlado de DMA enviar datos
desde/hacia una zona contigua de la memoria. El registro de dirección se emplea para
guardar la dirección de las siguientes palabras que envía y se aumenta
Tecnología de Computadores
14
Tema 7. Ideas clave
automáticamente tras cada transferencia. El registro contador de palabras guarda el
número de palabras que faltan de enviar y también se disminuye de forma
automática tras cada transferencia. Si el registro contador de palabras posee un 0 se
verifica con la unidad de control del DMA y si el registro contador es cero para la
transferencia, envía una señal de interrupción a la CPU con la que le avisa de que la
transferencia acabó.
En otras palabras, cuando la CPU quiere escribir o leer un bloque de datos envía una
orden al controlador de DMA informándole si la operación de E/S es de escritura o
lectura, la dirección del periférico, la posición en la que empieza en memoria y el
número de palabras que se tiene que leer o escribir. Entonces, la CPU sigue llevando
a cabo procesos, realizando otra tarea porque ha encomendado esta función al
controlador DMA y es él quien se ocupa de ella enviando directamente, palabra a
palabra, el bloque completo de datos entre el dispositivo externo y la memoria, sin
mediación de la CPU. Si la transferencia acaba, el controlador de DMA manda una
señal de interrupción a la CPU. Así, la CPU solo contribuye al principio y al final de la
transferencia.
La CPU se para antes de que se necesite utilizar el bus. En ese momento, el
controlador de DMA envía una palabra y devuelve el control a la CPU. Esto no es una
interrupción y, por lo tanto, la CPU no guarda su contexto si no que para su actividad
durante un ciclo del bus. Esto se traduce en que la CPU ejecuta su programa más
lentamente.
El controlador de DMA debe controlar el bus para ser capaz de enviar/recibir datos
de la memoria. Hay distintas estrategias para conseguir el control y estas implican
diferentes compromisos entre actividad de la CPU y la velocidad de transferencia.
© Universidad Internacional de La Rioja (UNIR)
Estos métodos son:
▸ Por ráfagas (o parada del procesador): Si el DMA asume el control del bus no
lo libera hasta enviar el bloque de datos solicitado. Con este sistema se
Tecnología de Computadores
15
Tema 7. Ideas clave
obtiene la mayor velocidad de transferencia. Sin embargo, la CPU está inactiva
durante periodos relativamente elevados.
▸ Por robo de ciclos: Es el método más habitual de transferencia. Si el DMA
controla el bus, lo reserva durante un único ciclo. Envía una palabra y deja
libre el bus. El proceso finaliza en el momento en que se ha enviado todo el
bloque. El robo de ciclos disminuye la velocidad de transferencia y la
interferencia del controlador de DMA sobre la actividad de la CPU pero es
muy útil si se desea simultanear la ejecución de un programa con la recepción
o transmisión de datos a velocidades moderadas. La CPU no se ocupa de nada
de la operación y continúa trabajando en su programa mientras se efectúa la
transferencia de datos de forma casi simultánea.
▸ DMA transparente: Se programa el DMA para que solo se roben ciclos si la
CPU no está usando el bus del sistema ya que la CPU no tiene que utilizar el
bus en todas las fases de ejecución de una instrucción. La ejecución del
programa de la CPU no reduce su velocidad, pero, a la vez, se produce una
transferencia por DMA.
Cuando el controlador de DMA comparte el bus del sistema con la CPU y la memoria,
lo usan solo para intercambiar datos con la memoria. Mientras que la transferencia
de datos entre el DMA y los controladores de E/S se llevan a cabo fuera del bus del
sistema sólo en los dos últimos casos.
7.7. Procesador de E/S (PE/S)
© Universidad Internacional de La Rioja (UNIR)
El PE/S se considera una extensión o ampliación del concepto DMA. Este dispositivo
posee el control completo de las operaciones de E/S ya que puede ejecutar sus
instrucciones. En los computadores con PE/S, la CPU no ejecuta las instrucciones de
Tecnología de Computadores
16
Tema 7. Ideas clave
E/S. Las instrucciones de E/S se guardan en la memoria principal para que sean
llevadas a cabo por el PE/S.
La CPU comienza la transferencia de E/S cuando le da la orden al PE/S para que sea
él quien lleve a cabo el programa de memoria. El PE/S se encarga, entonces, de
especificar el/los periférico/s intervinientes, la zona de memoria usada en la
transferencia, las prioridades y qué acciones tiene que realizar si confluyen ciertas
condiciones de error mientras se está llevando a cabo la transferencia. El PE/S
controla estas instrucciones y la transferencia de datos. Además, dado que los datos
que emplean los diferentes no siempre coinciden con los utilizados por la CPU y la
memoria, el PE/S es capaz de estructurar estos datos para hacerlos compatibles.
Los datos se agrupan en el PE/S con la velocidad impuesta por los periféricos mientras
la CPU ejecuta el programa. Después del ensamblado (o agrupación) en una palabra
de memoria, el dato se envía de forma directa desde el PE/S a memoria robando un
ciclo de memoria a la CPU. De igual manera, las transferencias de datos desde la
memoria al PE/S se realizan a la velocidad que marca el dispositivo.
La comunicación entre PE/S y periféricos es parecida a la estrategia de transferencia
de E/S controlada por programa y la comunicación con la memoria es similar a las E/S
controladas por DMA. La comunicación entre CPU y PE/S depende del nivel de
sofisticación del sistema. Por ejemplo, en los grandes sistemas se emplean
procesadores independientes del resto que pueden comenzar una operación.
Habitualmente, el procesador maestro es la CPU y los procesadores esclavos son los
PE/S. A la CPU se le encarga la tarea de comenzar todas las operaciones mientras que
el PE/S ejecuta las instrucciones de E/S. Este dispositivo también contesta a las
peticiones de la CPU escribiendo una palabra de estado en una posición concreta de
© Universidad Internacional de La Rioja (UNIR)
memoria o en el puerto de E/S de forma que esta sea estudiada de forma posterior
por un programa que lleva a cabo la CPU.
Es habitual que las instrucciones que se leen de la memoria por un PE/S se conozcan
como órdenes para distinguirlas de las instrucciones que transmite la CPU.
Tecnología de Computadores
17
Tema 7. Ideas clave
La comunicación entre PE/S y CPU utiliza técnicas diferentes en función del
computador. En la mayor parte de los casos, la memoria se comporta como un centro
de transmisión de mensajes, donde cada procesador manda información al otro.
Hay dos tipos de PE/S que son muy comunes:
▸ Canal selector: Este canal gestiona varios periféricos de alta velocidad. En
cada instante de tiempo, solo transmite datos un único dispositivo.
▸ Canal multiplexor: Múltiples dispositivos controlan de forma simultánea
operaciones de E/S. En dispositivos externos de baja velocidad, este sistema
enfocado a la transferencia de bytes acepta y envía caracteres muy rápido. En
periféricos de alta velocidad, este sistema, enfocado a la transferencia de
bloques, alterna bloques de datos de algunos periféricos.
© Universidad Internacional de La Rioja (UNIR)
Tecnología de Computadores
18
Tema 7. Ideas clave
7.8. Cuaderno de ejercicios
Problema 1
Explicar tres ventajas y tres inconvenientes de utilizar E/S localizada en memoria o
E/S aislada.
Solución
Las ventajas son:
1) Permite llevar a cabo una programación más adaptable dado que puede usar todo
el repertorio de instrucciones máquina con referencia la memoria.
2) No usa líneas de control distintas en operaciones de E/S y en operaciones con
referencia a memoria.
3) Cuando entre el repertorio de instrucciones de la CPU existan algunas que
permitan operar sobre el contenido de posiciones de memoria, se puede realizar
operaciones directamente sobre el puerto de E/S de datos sin necesidad de moverlos
explícitamente por programa a algún registro de la CPU.
Las desventajas son:
1) Utiliza espacio de direcciones de memoria quitándoselo a instrucciones y datos.
2) En algunos sistemas, el bit o los bits más significativos de la dirección de memoria
se utilizan exclusivamente para diferenciar entre operación en memoria u operación
de E/S, con la consiguiente capacidad de direccionamiento.
3)Aunque se use el mismo conjunto de instrucciones para el acceso a memoria y para
el acceso a puertos de E/S, normalmente se utiliza un mayor número de bytes para
© Universidad Internacional de La Rioja (UNIR)
codificar las instrucciones.
Tecnología de Computadores
19
Tema 7. Ideas clave
Problema 2
Se tiene un computador sin hardware de interrupciones que es capaz de aceptar
solicitud de interrupción de distintos dispositivos externos. Una petición de
interrupción que se realice hará que se guarde o almacene la dirección de retorno y
la bifurcación a un programa de servicio común a todas las interrupciones. Se pide
justificar cómo es posible establecer un sistema de prioridades en el programa de
servicio de las interrupciones.
Solución
Como el sistema no dispone de ningún mecanismo hardware de interrupciones, y
cualquier petición de interrupción provoca la ejecución de un programa de servicio
común a todas las interrupciones, este programa lo primero que debe hacer es
interrogar a todos los controladores de E/S para detectar cuál de ellos produjo la
interrupción. Esta técnica es la identificación por encuesta.
© Universidad Internacional de La Rioja (UNIR)
Tecnología de Computadores
20
Tema 7. Ideas clave
Problema 3
¿Qué ocurre en la interrupción por encadenamiento de la Figura 2 si el dispositivo 1
pide una interrupción después de que el dispositivo 2 haya mandado una petición de
interrupción a la CPU si la CPU no le ha respondido todavía con la señal de
reconocimiento de interrupción?
Línea de petición de interrupción
Bus de datos
Línea de reconocimiento de interrupción
CPU
Prioridad
+ -
Figura 2. Interrupciones encadenadas Fuente: William Stallings, 2005.
Solución
Cuando el periférico 2 solicita una interrupción a la CPU, queda a la espera de que la
CPU genere la señal de reconocimiento y esta se propague hasta él. Pero si antes de
que la CPU envía esta señal, el periférico 1 también solicita una interrupción, cuando
la señal de la CPU se envía será captado en primer lugar por el dispositivo 1 y este no
permitirá que se transmita al siguiente dispositivo. Por lo que, primero se ejecutará
la interrupción del primer dispositivo.
© Universidad Internacional de La Rioja (UNIR)
Tecnología de Computadores
21
Tema 7. Ideas clave
Problema 4
En la mayoría de los computadores que utilizan controladores de DMA, estos últimos
cuentas con una prioridad más elevada que la CPU en los casos de accesos a memoria
principal. Se pide justificar por qué ocurre esto.
Solución
Los controladores de DMA, habitualmente, tienen una prioridad más alta que la CPU
en los accesos a la memoria con objeto de que sea posible interrumpir a ésta cuando
el controlador de DMA esté preparado para la transferencia de un bloque de datos.
Esta transferencia es rápida y es posible que la CPU necesite esos datos
posteriormente.
Problema 5
¿Qué módulo empieza una operación de DMA?
Solución
La operación de DMA la inicia siempre la CPU. La CPU envía las características de la
transferencia que debe ejecutar: dirección de origen del bloque de datos, tamaño del
bloque y dirección de destino al controlador de DMA. Sin esta información que le
suministra la CPU al controlador de DMA no puede empezar, por sí solo, una
transferencia de datos.
© Universidad Internacional de La Rioja (UNIR)
Tecnología de Computadores
22
Tema 7. Ideas clave
Problema 6
Un disquete de 3,5 pulgadas gira a 360 rpm y tiene 2 superficies, 80 cilindros, 18
sectores por pista y 512 bytes por sector. Se pide calcular su capacidad total y su
velocidad de transferencia.
Solución
Capacidad = 1.40 Mbytes y velocidad de transferencia = 55296 bytes/s
Problema 7
¿Cuántos disquetes, como los del problema anterior, son necesarios para realizar una
copia de seguridad de un disco de 300 Mb?
Solución
215 disquetes (estando el último sin utilizar completamente).
© Universidad Internacional de La Rioja (UNIR)
Tecnología de Computadores
23
Tema 7. Ideas clave
Problema 8
Un controlador de DMA transmite, a través del robo de ciclos, caracteres a memoria
desde un dispositivo externo con una velocidad de 19200 bps (bits/s). Mientras que
la CPU realiza la búsqueda de las instrucciones a una velocidad de 2 millones de
instrucciones por segundo (2 MIP). ¿En qué porcentaje se reduce la velocidad del
procesador por culpa del controlador de DMA? La longitud de palabra empleada es
de 32 bits y la CPU uso, de promedio, 4 ciclos para ejecutar una instrucción.
Se pide calcular el número de ciclos por segundo que la DMA roba a la CPU.
Solución
600 ciclos/s.
Problema 9
Utilizando los datos del PROBLEMA 8, se pide determinar el número de instrucciones
que la CPU deja de ejecutar debido a los ciclos que la roba el DMA.
Solución:
150 instrucciones/s.
© Universidad Internacional de La Rioja (UNIR)
Tecnología de Computadores
24
Tema 7. Ideas clave
Problema 10
Utilizando los datos de los PROBLEMAS 8 y 9, se pide calcular la penalización, en
porcentaje que ese número de instrucciones no ejecutadas supone a la CPU.
Solución:
0.0075 %
7.9. Referencias bibliográficas
William Stallings. (2006). Organización y Arquitectura de Computadores. Madrid. Ed.
Pearson. Prentice‐Hall.
S. Dormido, M. A. Canto, J. Mira y A. E. Delgado. (2002). Estructura y tecnología de
computadores. Madrid. Editorial Sanz y Torres.
© Universidad Internacional de La Rioja (UNIR)
Tecnología de Computadores
25
Tema 7. Ideas clave
A fondo
Protocolo de arbitración de prioridades Daisy Chain
Torterolo, J.M., Torterolo, S., Etcheverry, L. y Pérez Acle, J. (2012). Controlador de
interrupciones para el protocolo Daisy Chain de Zilog. Recuperado el 6 de mayo de 2021
de
http://iie.fing.edu.uy/publicaciones/2012/TTEP12/Controlador_de_Interrupciones_par
a_el_Protocolo_Daisy_Chain_de_Zilog.pdf
En el siguiente artículo de investigación se explica el protocolo de prioridades del tipo
Daisy Chain de Zilog.
Modos de operación del DMA
Celebriti. (s.f.). Juegos de periféricos. Recuperado el 6 de mayo de 2021 de
https://www.cerebriti.com/juegos‐de‐perif%C3%A9ricos/tag/mas‐recientes/
© Universidad Internacional de La Rioja (UNIR)
Pon a prueba tus conocimientos sobre periféricos con estos juegos tipo test.
Tecnología de Computadores
26
Tema 7. A fondo
Preguntas frecuentes sobre controladores respondidas por el fabricante Dell
© Universidad Internacional de La Rioja (UNIR)
Tecnología de Computadores
27
Tema 7. A fondo
Test
1. ¿Cuál de las siguientes estrategias no emplea la DMA para enviar/recibir datos de
la memoria?
A. Por ráfagas.
B. Por robo de ciclos.
C. Daisy chain.
D. DMA transparente.
2. ¿Cuál de las siguientes funciones no es llevada a cabo por el controlador de E/S?
A. Control y temporalización.
B. Comunicación con el dispositivo externo.
C. Realización de operaciones aritmético‐lógicas.
D. Detección de errores.
3. ¿Qué es una entrada/salida conectada por programa?
A. Técnica en la que la CPU envía una orden al controlador de E/S y continúa
ejecutando otras instrucciones hasta que es interrumpida por el controlador de
E/S cuando acaba la orden que se le había enviado.
B. Técnicas a partir de las cuales se realizan las operaciones de E/S.
C. Modo de operación a partir del cual el controlador de E/S y la memoria
intercambian datos sin intervenir la CPU.
D. Modo de operación que utiliza dos buses independientes, uno para la
memoria y otro para el sistema de E/S.
4. ¿Qué orden se utiliza para activar un periférico?
© Universidad Internacional de La Rioja (UNIR)
A. Orden de control.
B. Orden de escritura.
C. Orden de comprobación.
D. Orden de lectura.
Tecnología de Computadores
28
Tema 7. Test
5. ¿Qué ventaja tiene utilizar las E/S controladas por programa?
A. Pérdida de tiempo en el bucle de espera.
B. Es una estrategia sencilla.
C. Si hay programas que deben ejecutarse de forma periódica, la CPU no puede
permanecer en el bucle de espera indefinidamente.
D. Si la CPU está atendiendo a un periférico concreto, desatiende al resto.
6. ¿Cómo se clasifican las interrupciones en función del origen de las
interrupciones?
A. Múltiples y una sola línea de petición de interrupción.
B. Nivel único y multinivel.
C. Múltiples líneas, vectorizadas y encuesta.
D. Externa e interna.
7. ¿Cuál de las siguientes interrupciones es interna?
A. Señal de reloj.
B. En sistemas con múltiples procesadores, cuando uno de ellos interrumpe a
otro para transmitirle un mensaje.
C. Interrupción de programa recogidas en el seno de programa.
D. Fallo de la tensión de alimentación del procesador.
8. ¿Qué línea se utiliza para definir la tarea que debe llevar a cabo el dispositivo?
A. Línea de control.
B. Línea de referencia.
C. Línea de alimentación.
D. Línea de dirección.
© Universidad Internacional de La Rioja (UNIR)
Tecnología de Computadores
29
Tema 7. Test
9. ¿Qué hace un controlador de interrupciones?
A. Identifica la fuente de interrupción y establece las prioridades de cada
periférico.
B. Interrumpe a otras interrupciones.
C. Controla de forma independiente por las señales de petición de interrupción
de cada periférico.
D. Permite activar y desactivar las peticiones de interrupción de una forma
selectiva.
10. ¿Qué es un canal selector?
A. Estrategia a través de la que se roban ciclos cuando la CPU no está utilizando
el bus del sistema.
B. Estrategia que reduce el número de interfaces de E/S en el controlador de
DMA a uno solo y simplifica la configuración.
C. Un canal que gestiona múltiples dispositivos simultáneamente.
D. Es un canal a través del cual múltiples dispositivos controlan de forma
simultáneamente operaciones de E/S.
© Universidad Internacional de La Rioja (UNIR)
Tecnología de Computadores
30
Tema 7. Test