Tema 7: Sistemas de Entrada/Salida

21  10  Descargar (0)

Texto completo

(1)

Tema 7:

Sistemas de Entrada/Salida

ƒ

Problemática de la Entrada/Salida:

ƒ

Problemática de la selección del

periférico

ƒ Mapas de Entrada/Salida

ƒ

Problemática de la

sincronización:

ƒ Entrada/Salida programada ƒ Entrada/Salida mediante interrupciones

ƒ Acceso directo a memoria (DMA)

ƒ

Bibliografía

ƒ

Comunicación CPU-Periféricos

ƒ

Ejemplos de periféricos

ƒ

Unidad de disco

ƒ

Puerto serie

ƒ

Monitor

ƒ

Sistema de adquisición de

datos

(2)

Bibliografía

ƒ

Arquitectura de Computadores

(Capítulo 6)

José A. de Frutos, Rafael Rico. Ed. Servicio de Publicaciones de la UA

ƒ

Fundamentos de los Computadores

(Capítulo 8)

Pedro de Miguel Anasagasti. Ed. Paraninfo

ƒ

Arquitectura de computadores. Un enfoque cuantitativo

(Capítulo 9)

Hennessy, J.L., Patterson, D.A Ed. McGraw-Hill.

ƒ

Estructura y diseño de computadores: Interficie circuitería/programación

(Capítulo 8). Patterson, D.A., Hennessy, J.L

.

. Ed. Reverté.

(3)

Comunicación CPU-Periféricos (I)

ƒ El fin de los sistemas de E/S de un computador es comunicar éste con el mundo exterior

ƒ Esta comunicación cubre numerosos aspectos: desde la interacción hombre-máquina hasta el control de procesos en sistemas automáticos

ƒ La transferencia de información entre la CPU (computador) y el mundo exterior se realiza a través de dispositivos llamados periféricos

ƒ Los periféricos realizan la interfaz entre el mundo síncrono y codificado del computador y el mundo analógico exterior

MEMORIA CENTRAL ALU UC CPU COMPUTADOR SISTEMAS DE E/S MUNDO EXTERIOR

(4)

Comunicación CPU-Periféricos (II)

ƒ Los periféricos pueden ser:

ƒ Dispositivos de entrada de datos: el teclado, el ratón, el scaner, los sensores de magnitudes mecánicas o electricas, etc

ƒ Dispositivos de salida de datos: como el monitor, la impresora, etc

ƒ Dispositivos de entrada y salida de datos: como los discos

ƒ Un caso especial de periférico son los

puertos serie o paralelo que

representan simplemente canales de E/S de datos entre CPU y el exterior

ƒ Un periférico siempre tiene dos partes:

ƒ El controlador: se encarga de la comunicación con la CPU

ƒ El dispositivo mecánico,

electromecánico o electromagnético con su electrónica de control (o un transductor en el caso de sensores)

ƒ Misión del controlador:

ƒ Transferencia de datos (objeto propio de la comunicación)

ƒ Protocolo de la transferencia

("ponerse de acuerdo" en el cómo y el cúando)

ƒ Misión del dispositivo:

(5)

Ejemplos de periféricos (I)

PERIFÉRICO CONTROLADOR asignación de puerto de E/S sincronización codificación decodificación física del fenómeno DISPOSITIVO registro de datos registro de control Señales de control Direcciones Datos

(6)

Ejemplos de periféricos (II)

Unidad de disco

Ejemplo de un disco UNIDAD DE DISCO CONTROLADORA IDE DMA transfer. codificación / decodificación registro de datos registro de control lógica de control de motores

discos motor discos motor posición cabezas Señales de control Direcciones Datos

(7)

Ejemplos de periféricos (III)

Puerto serie

Ejemplo de un puerto serie

PUERTO SERIE CONTROLADOR reloj registro de datos registro de control conector DB9 INTERFAZ RS-232C 1 5 6 9 2 RxD 3 TxD 4 DTR 5 Gnd 6 DSR 7 RTS 8 CTS Señales de control Direcciones Datos

(8)

Ejemplos de periféricos (IV)

Monitor

Ejemplo de un monitor MONITOR CONTROLADORA VGA DMA transfer. Codificación-RGB&sincronismo registro de datos registro de control MEMORIA F. A. electrónica alta frecuencia 1 red 2 green 3 blue 13 horiz. sync. 14 vert. sync. conector DB15 Señales de control Direcciones Datos

(9)

Ejemplos de periféricos (V)

Sistema de adquisición de datos

SISTEMA DE ADQUISICIÓN DE DATOS

TARJETA DE ADQUISICIÓN registro de datos registro de control acondicionamiento de señal tensiones termopar fuente de tensión mux. A/D temporizador memoria DMA IRQ Señales de control Direcciones Datos

(10)

Problemática de la Entrada/Salida (I)

1. Selección del periférico

ƒ

Direccionando los registros de datos y de control

ƒ

A cada periférico le corresponden varias direcciones del mapa de E/S,

llamadas puertos

2. Sincronización

ƒ

Problemática de salida de datos:

La CPU trabaja a una velocidad muy superior a la que transmiten

información los periféricos, de manera que pueden ser desbordados

ƒ

Problemática de la entrada de datos:

La información no es generada por el periférico en sincronía con la

CPU

3. Gestión de las señales de control

(11)

Problemática de la Entrada/Salida (II)

Problemática de selección del periférico

Mapas de Entrada/Salida

ƒ

Existen dos soluciones:

ƒ

Mapas de memoria y de E/S disjuntos (

separados

)

ƒ

Mapas de memoria y de E/S comunes (E/S mapeada en memoria)

ƒ

La forma de direccionar puertos es similar a la de posiciones de memoria;

tan solo cambian las señales de control si los mapas de memoria y E/S

son disjuntos.

(12)

Problemática de la Entrada/Salida (III)

Problemática de la sincronización (I)

Sincronización controlador-dispositivo

ƒ

El registro de estado del controlador informa a la CPU sobre el estado de

las señales que se encargan de la sincronización con el dispositivo:

ƒ

Petición de servicio

ƒ

Ocupado/error

ƒ

Servicio terminado

ƒ

El registro de estado puede indicar también situaciones de error,

anomalías en el funcionamiento del periférico, etc.

Petición de servicio Ocupado/Error Servicio terminado controlador dispositivo dispositivo CONTROLADOR DISPOSITIVO Información Petición de servicio Ocupado/Error Servicio terminado PERIFÉRICO Datos Direcciones CPU

(13)

Problemática de la Entrada/Salida (IV)

Problemática de la sincronización (II)

ƒ

Debe haber mecanismos que resuelvan los problemas de temporización

ƒ

Hay que tener en cuenta esta temporización en dos aspectos:

ƒ

Inicio de la transferencia

ƒ

Transferencia propiamente dicha

ƒ

Según la intervención de la CPU en estos momentos tenemos:

ƒ

E/S programada

: la CPU tiene todo el protagonismo ya que inicia y

lleva a cabo la transferencia

ƒ

E/S por interrupción

: la CPU ejecuta la transferencia pero el inicio es

pedido por el periférico que indica así su disponibilidad

ƒ

Acceso directo a memoria (DMA)

: la transferencia es realizada por

un controlador especializado

(14)

Problemática de la Entrada/Salida (V)

Problemática de la sincronización (III)

Entrada/Salida programada

Polling

ƒ La CPU consulta si los periféricos están disponibles para realizar una transferencia Ð registro de estado del controlador del periférico

ƒ La CPU inicia y realiza la transferencia

ƒ La transferencia puede ser:

ƒ Incondicional: la CPU no comprueba si el periférico está disponible

ƒ Condicional: la CPU comprueba si el periférico está disponible antes de iniciar una transferencia de información. Este método se conoce como sondeo o polling

ƒ Ventajas: Programación sencilla y el hardware es simple

ƒ Inconveniente: Se malgasta tiempo de proceso Dato disponible? otras tareas si no fin? no

lectura reg. datos lectura reg. estado

Acepta nuevo dato? otras tareas si no fin? no

escritura reg. datos lectura reg. estado

(15)

Problemática de la Entrada/Salida (VI)

Problemática de la sincronización (IV)

Entrada/Salida mediante interrupciones (I)

En la E/S por interrupción:

1º El periférico realiza la petición de servicio mediante una señal de control específica (interrupción

hardware)

2º 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

ƒ Antes de comenzar la rutina de

tratamiento de la interrupción la CPU debe salvar la dirección de retorno y el registro de estado

ANTES INT RUTINA INT DESPUÉS INT PC FLAGS PILA Siguiente instrucción SP Vector de

interrupción Siguienteinstrucción

Estado SP SP Estado Siguiente instrucción Estado

(16)

Problemática de la Entrada/Salida (VII)

Problemática de la sincronización (V)

Entrada/Salida mediante interrupciones (II)

Mecanismos de la E/S por interrupción:

ƒ Aceptación o no de la petición de interrupción

ƒ Dirección donde se encuentra la rutina de tratamiento de la interrupción

(vector de interrupción)

ƒ Conexión de varios periféricos con capacidad de interrumpir

ƒ Gestión de prioridades en caso de peticiones simultáneas

Aceptación de interrupciones ƒ Las interrupciones pueden ser:

ƒ Enmascarables: se pueden dejar de atender por procedimiento software

ƒ No enmascarables: siempre son atendidas

Vector de interrupción

ƒ Existen dos formas de determinar la posición en la que se encuentra la rutina de tratamiento de la interrupción:

ƒ Vector de interrupción fijo y determinado por la CPU

ƒ El periférico suministra el vector de interrupción completo o una

(17)

Problemática de la Entrada/Salida (VIII)

Problemática de la sincronización (VI)

Entrada/Salida mediante interrupciones (III)

Conexión de varios periféricos y

gestión de prioridades

ƒ Resolver cómo conectarlos con la CPU

ƒ Establecer prioridades

ƒ Determinar el vector de interrupción

1. CPU con una línea de interrupción: ƒ Todos los periféricos hacen la

petición en la misma línea

ƒ El vector de interrupción es fijo y común a todos los periféricos

ƒ La rutina de interrupción identifica mediante polling el periférico que interrumpió a la CPU y desactiva la petición

ƒ La prioridad se determina por el orden en que se realiza el polling

2. CPU con varias líneas de interrupción:

ƒ Cada periférico hace la petición por una línea distinta

ƒ El vector de interrupción es fijo pero diferente para cada línea y por tanto para cada periférico

ƒ La prioridad la determina internamente la CPU

3. CPU con línea de petición de interrupción y de aceptación (I):

ƒ La CPU cuenta con una línea de entrada INT para las peticiones de interrupción y con una línea de salida INTA para dar los

(18)

Problemática de la Entrada/Salida (IX)

Problemática de la sincronización (VII)

Entrada/Salida mediante interrupciones (IV)

3. CPU con línea de petición de

interrupción y de aceptación (II): a) Encadenamiento de periféricos o

daisy-chain

ƒ Todos los periféricos piden servicio por la misma línea (INT)

ƒ Cuando la CPU acepta la interrupción activa INTA

ƒ El periférico de mayor prioridad desactiva la petición y activa un biestable de concesión

ƒ La CPU identifica por polling el periférico que ha interrumpido,

observando el biestable de concesión

ƒ El vector de interrupción es fijo y la resolución de prioridades es por daisy-chain

b) Interrupciones vectorizadas

ƒ Todos los periféricos piden servicio por la misma línea (INT)

ƒ Cuando la CPU reconoce la

interrupción (INTA), el periférico se identifica poniendo en el bus de datos el vector de interrupción

ƒ La resolución de prioridades se puede realizar por daisy-chain

(19)

Problemática de la Entrada/Salida (X)

Problemática de la sincronización (VIII)

Entrada/Salida mediante interrupciones (V)

3. CPU con línea de petición de

interrupción y de aceptación (III): c) Gestión centralizada de

interrupciones mediante controlador ƒ Un PIC (Programmable Interruption

Controller) permite la conexión de distintos periféricos a la línea de petición de la CPU expandiendo en varios niveles dicha línea (INT)

ƒ Resuelve la gestión de prioridades de forma flexible:

ƒ Prioridad fija (por orden)

ƒ Línea prioritaria la que lleva más tiempo sin atenderse

ƒ Permite enmascarar aquellas líneas que se desee mediante un registro de máscara programable

ƒ Admite controladores esclavos para expandir más niveles de interrupción

(20)

Problemática de la Entrada/Salida (XI)

Problemática de la sincronización (IX)

Acceso directo a memoria - DMA (I)

En el acceso directo a memoria (Direct Memory Access):

ƒ El controlador del periférico se

comunica directamente con la memoria principal del computador

ƒ La CPU no realiza ninguna tarea, tanto

la inicialización como la

transferencia son gobernadas por el periférico

ƒ La transferencia de E/S se lleva a cabo por la activación de las señales de

control de acceso a memoria

señales de control DATOS DIRECCIONES MEMORIA PRINCIPAL Controladora DMA CPU HOLDA HOLD

(21)

Problemática de la Entrada/Salida (XII)

Problemática de la sincronización (X)

Acceso directo a memoria - DMA (II)

ƒ Formas de realizar el DMA:

Acceso directo a memoria multipuerto ƒ Una memoria multipuerto es aquella

que tiene posibilidad de realizar transferencias simultáneas con el exterior por medio de varios puertos

ƒ A cada puerto se le asigna un registro de datos y otro de direcciones que guardan el dato transferido y la dirección de transferencia

Acceso directo a memoria por robo de ciclo

ƒ La memoria tiene un solo puerto que es compartido entre el controlador de DMA y la CPU

ƒ Siempre que el periférico requiera una transferencia DMA debe hacer una petición de robo de ciclo a la CPU (HOLD)

ƒ La CPU hace la concesión (HOLDA)

ƒ El controlador de DMA controla los buses de direcciones y datos, y las señales de control de memoria y E/S

ƒ Terminada la transferencia, el controlador lo comunica a la CPU

MEMORIA

Puerto 1 Puerto 2 Puerto 3 Bus de datos

CPU

Figure

Actualización...

Referencias

Actualización...

Related subjects :