Está en la página 1de 30

Tema 


 

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 

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 

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 

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

Registro de estado (RE) Lógica de


Datos

Líneas de interfaz a
Estado
datos un
Registro de datos (RD) dispositivo
Control
externo

Líneas de Lógica de Datos


dirección interfaz a
Lógica de Estado
un
E/S
dispositivo
externo Control
Líneas de
control
 
Figura 1. Esquema básico de un controlador de E/S. Fuente: Dormido, Canto, Mira y Delgado, 2002. 

 
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 

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 

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 

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 

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

Dispositivo Dispositivo Dispositivo


1 2 n

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  
 

Morris Mano,  M. (1994). Arquitectura  de  computadoras.  Madrid:  Pearson  Educación. 


http://books.google.es/books?id=2wWZyKu60cAC&printsec=frontcover      
 
En este libro se explica los diferentes modos de operación del DMA. Lee el apartado 
11.6 (Acceso directo a memoria (DMA). 
 
Juegos sobre periféricos 
 

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 
 

Dell  Technologies  (s.f.).  Preguntas  frecuentes  sobre  controladores  y  descargas. 


Recuperado  el  6  de  mayo  de  2021  de  https://www.dell.com/support/kbdoc/es‐
es/000123347/drivers‐and‐downloads‐faqs  
 
Algunos fabricantes permiten descargar los controladores de sus dispositivos desde 
su web y dan respuesta a las preguntas más comunes a los usuarios. En este enlace 
podrás acceder a esta información del 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 

También podría gustarte