Actualizado el 21 de Marzo del 2018 (Publicado el 12 de Enero del 2018)
1.081 visualizaciones desde el 12 de Enero del 2018
534,5 KB
29 paginas
Creado hace 15a (27/01/2010)
Soluciones a los
problemas impares
Tema 6. El sistema de
entrada-salida
Arquitectura de
Computadores I
I. T. Informática de Sistemas
Curso 2009-2010
Tema 6:
El sistema de entrada-salida
Hoja: 2 / 29
Departamento de automática
Área de Arquitectura y Tecnología de Computadores
Arquitectura de Computadores I
I. T. Informática de Sistemas
Tema 6:
El sistema de entrada-salida
Hoja: 3 / 29
Base teórica
Al diseñar un computador, uno de los puntos a tener en cuenta es el
diseño del sistema de entrada-salida, ya que de él dependerá el
rendimiento con el que el computador se comunicará con los periféricos, y
en definitiva, con el mundo exterior, no digital (figura 1)
Figura 1. Sistema de entrada-salida del Apple Macintosh 7200
Los periféricos los hay de entrada, de salida y de entrada-salida.
Destinados a
la comunicación con el ser humano o con otros
computadores, pero todos ellos constan de dos partes claramente
diferenciadas, el controlador y el dispositivo.
El controlador del periférico es el encargado de la comunicación con la
CPU. El que lleva a cabo el protocolo de comunicación y el que realiza la
transferencia de datos propiamente dicha.
Departamento de automática
Área de Arquitectura y Tecnología de Computadores
Arquitectura de Computadores I
I. T. Informática de Sistemas
Tema 6:
El sistema de entrada-salida
Hoja: 4 / 29
El dispositivo es realmente el periférico, electrónico una memoria USB,
electromecánico como un disco duro, un trasductor como en el caso de los
sensores de temperatura o movimiento.
Gestión de la comunicación CPU-periféricos
En la gestión de la comunicación de la entrada salida se deben tener en
cuenta tres aspectos:
• Selección del periférico: identificar el periférico entre todos los
disponibles mediante el direccionamiento de los registros de datos y de
control
• Sincronización con la CPU: evitar los problemas surgidos de las
diferentes velocidades de trabajo de la CPU y de los periféricos. Evitar
inundar al periférico con datos provenientes de la CPU y evitar que ésta
se quede esperando los datos del periférico
• Gestión de las señales de control: determinar para cada tipos de
sincronización y cada tipo de selección de periférico el conjunto de
señales de control que deberán ser tenidos en cuenta por la Unidad de
Control para la correcta gestión de la comunicación
Selección del periférico
Para elegir un periférico y comunicarse con él se emplean los puertos de
entrada-salida que en su versión más simple se corresponden con un
registro
Para comunicarse con un periférico la CPU debe:
• Especificar la dirección: identificar el puerto de entrada-salida entre
todos los que tenga (normalmente tienen varios puertos de entrada
salida)
•
Indicar el sentido de la comunicación: especificar si se trata de una
lectura o de una escritura.
• Enviar el dato: si se trata de una escritura
Departamento de automática
Área de Arquitectura y Tecnología de Computadores
Arquitectura de Computadores I
I. T. Informática de Sistemas
Tema 6:
El sistema de entrada-salida
Hoja: 5 / 29
Para especificar las direcciones de los puertos existen dos métodos:
• Espacio de direcciones separado: los espacios de direccionamiento
de puertos y de direcciones de memoria son diferentes por lo que se
deberán incluir instrucciones propias de entrada-salida. Por ejemplo, en
el i80x86 instrucciones IN y OUT
• Espacio de direcciones común: tanto direcciones de memoria como
de puertos de entrada-salida forman un espacio de direcciones común
por lo que las instrucciones del repertorio son las mismas para ambos
tipos de transferencia
Sincronización con la CPU
El objetivo de la sincronización es ajustar la diferencia de velocidades de
proceso de la CPU y de los periféricos. Los mecanismos más empleados
según el uso de CPU (de más implicación a menos) son:
• Entrada-salida programada: la CPU gestiona la comunicación con los
periféricos mediante la ejecución de un programa (figura 2)
Lectura reg.
estado
Dato
disponible
?
s
i
Lectura reg.
datos
Otras
tareas
no
fin
?
s
i
LECTURA
(ENTRADA)
n
o
no
n
o
Lectura reg.
estado
Acepta
nuevo
dato?
s
i
Escritura reg.
datos
Otras
tareas
fin
?
s
i
(SALIDA)
ESCRITURA
Figura 2. Cronograma de los programas de lectura y escritura mediante entrada-
salida programada para un único periférico
Departamento de automática
Área de Arquitectura y Tecnología de Computadores
Arquitectura de Computadores I
I. T. Informática de Sistemas
Tema 6:
El sistema de entrada-salida
Hoja: 6 / 29
• Entrada-salida por interrupciones: los periféricos avisan a la CPU
cuando están listos para ser atendidos. Cuando la interrupción es
aceptada por la CPU, ésta abandona momentáneamente el programa
principal para ejecutar la rutina de tratamiento de la interrupción y
realiza la transferencia. Dependiendo del número de líneas que existen
para comunicarse con la CPU se pueden dar los siguientes casos:
• Todos los periféricos solicitan ser atendidos por la misma línea.
Por lo tanto la dirección de la rutina de tratamiento de la
interrupción es fija y común para todos ellos. Dicha rutina de
tratamiento identifica mediante sondeo cuál de los periféricos ha
interrumpido a la CPU. La prioridad, en el caso de varios
periféricos se da por el orden en el que se sondea a éstos.
• CPU con varias líneas de interrupción. En este esquema cada
periférico solicita ser atendido por una línea diferente. La
dirección de la rutina de tratamiento de la interrupción es fija pero
diferente para cada línea de interrupción. La prioridad la
determina internamente la CPU
• CPU con una línea de interrupción y otra de aceptación. La CPU
cuenta con una línea de entrada INT por la que todos los
periféricos solicitan ser atendidos. La CPU tiene una línea de
salida INTA para dar el reconocimiento de la interrupción al
periférico. Se debe determinar cómo se conectan los periféricos
y la gestión de las prioridades en caso de solicitud simultánea.
Asimismo se debe determinar la dirección de la rutina de
tratamiento de interrupción. La resolución de prioridades puede
darse mediante daisy-chain, por la posición que ocupan o
mediante la ayuda de un PIC.
• Entrada-salida mediante acceso directo a memoria (DMA): los
periféricos trabajan directamente con la memoria escribiendo o leyendo
bloques de datos
Departamento de automática
Área de Arquitectura y Tecnología de Computadores
Arquitectura de Computadores I
I. T. Informática de Sistemas
Tema 6:
El sistema de entrada-salida
Hoja: 7 / 29
• Entrada-salida mediante procesadores de entrada-salida: emplean
una CPU secundaria dedicada a la gestión de la operación de entrada-
salida.
Buses
Un bus es un canal de comunicación compartido que emplea un conjunto
de cables para conectar los diferentes subsistemas. Están formados por:
• Un conjunto de señales de control
• Un conjunto de líneas de datos
Ventajas:
• Versatilidad, ya que una vez definido el sistema de conexión se pueden
añadir nuevos dispositivos
• Bajo coste, puesto que los cables que lo forman se pueden compartir
de diferentes maneras
Inconvenientes:
• Es un cuello de botella que limita la máxima productividad de entrada-
salida del sistema
• Dificultad de diseño debida a que depende del número de elementos
que se conectarán y a la longitud del bus
Los buses se clasifican en tres tipos
• Buses procesador-memoria. Son de longitud pequeña, de alta
velocidad y adaptados al sistema de memoria para maximizar el ancho
de banda
• Buses backplane. Suelen recibir este nombre por estar construidos en
el plano posterior. Es una estructura de conexión en el chasis y la
memoria, la CPU y los periféricos lo emplean para comunicarse
• Buses de entrada-salida. Pueden tener una longitud grande y sirven
para conectar muchos dispositivos con anchos de banda muy diferentes
Departamento de automática
Área de Arquitectura y Tecnología de Computadores
Arquitectura de Computadores I
I. T. Informática de Sistemas
Tema 6:
El sistema de entrada-salida
Hoja: 8 / 29
entre si. Además para comunicarse con la memoria suelen emplear o
buses procesador-memoria o buses backplane
Entre las cosas a tener en cuenta para mejorar el ancho de banda del bus
y que en su mayor parte vienen determinadas casi por la elección de un
protocolo síncrono o asíncrono y por las características de temporización
del bus, existen otros factores que afectan al ancho de banda y que son:
• Anchura del bus de datos. Al aumentar la anchura del bus de datos
se pueden transmitir varias palabras en menos ciclos de bus
• Líneas de datos y direcciones separadas o multiplexadas. Si las
líneas están separadas se aumenta el ancho de banda en las escrituras
• Transferencias por bloques. Si se transfieren múltiples palabras en
ciclos consecutivos de bus sin enviar la dirección o sin liberar el bus se
reduce el tiempo de transmitir un bloque grande de datos
La temporización se refiere a la manera en que se realizan las fases de
direccionamiento y de datos durante la transferencia. Pueden ser:
• Bus de ciclo completo. Las fases de direccionamiento y de datos van
seguidas sin abandonar el bus. El diseño es sencillo, pero presenta una
menor latencia y un ancho de banda más pequ
Comentarios de: Tema 6. El sistema de entrada-salida - Arquitectura de Computadores I (0)
No hay comentarios