capitulo 7 - Arquitectura y Tecnología de Computadores

Anuncio
Tema 7:
Sistemas de Entrada/Salida
ƒ Bibliografía
ƒ Comunicación CPU-Periféricos
ƒ Ejemplos de periféricos
ƒ Unidad de disco
ƒ Puerto serie
ƒ Monitor
ƒ Sistema de adquisición de
datos
ƒ 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)
Fundamentos de Computadores
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é.
ƒ Organización y Arquitectura de Computadores (Capítulo 6)
William Stallings. Ed. Prentice Hall
2
Fundamentos de Computadores
Departamento de Automática
Universidad de Alcalá
Comunicación CPU-Periféricos (I)
ƒ El fin de los sistemas de E/S de un computador es comunicar éste con el mundo
exterior
COMPUTADOR
CPU
ALU
UC
MEMORIA
CENTRAL
SISTEMAS
DE
E/S
MUNDO
EXTERIOR
ƒ Esta comunicación cubre numerosos aspectos: desde la interacción hombremá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
3
Fundamentos de Computadores
Departamento de Automática
Universidad de Alcalá
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:
ƒ Relación con el exterior
4
Fundamentos de Computadores
Departamento de Automática
Universidad de Alcalá
Ejemplos de periféricos (I)
PERIFÉRICO
Señales de control
CONTROLADOR
sincronización
codificación
decodificación
Datos
física del
fenómeno
DISPOSITIVO
asignación de
puerto de E/S
Direcciones
registro de datos
registro de control
Ejemplo de un periférico general
5
Fundamentos de Computadores
Departamento de Automática
Universidad de Alcalá
Ejemplos de periféricos (II)
Unidad de disco
UNIDAD DE DISCO
Señales de control
CONTROLADORA IDE
discos
DMA transfer.
codificación / decodificación
Datos
motor posición
cabezas
lógica de control de motores
Direcciones
registro de datos
motor discos
registro de control
Ejemplo de un disco
6
Fundamentos de Computadores
Departamento de Automática
Universidad de Alcalá
Ejemplos de periféricos (III)
Puerto serie
PUERTO SERIE
Señales de control
CONTROLADOR
INTERFAZ RS-232C
reloj
1
5
6
conector DB9
Datos
Direcciones
9
registro de datos
2 RxD 6 DSR
3 TxD 7 RTS
4 DTR 8 CTS
5 Gnd
registro de control
Ejemplo de un puerto serie
7
Fundamentos de Computadores
Departamento de Automática
Universidad de Alcalá
Ejemplos de periféricos (IV)
Monitor
MONITOR
Señales de control
CONTROLADORA VGA
DMA transfer.
MEMORIA
conector DB15
Datos
Codificación-RGB&sincronismo
Direcciones
registro de datos
1 red
2 green
3 blue
13 horiz. sync.
14 vert. sync.
F. A.
electrónica
alta frecuencia
registro de control
Ejemplo de un monitor
8
Fundamentos de Computadores
Departamento de Automática
Universidad de Alcalá
Ejemplos de periféricos (V)
Sistema de adquisición de datos
SISTEMA DE ADQUISICIÓN DE DATOS
Señales de control
TARJETA DE ADQUISICIÓN
memoria
Datos
DMA
IRQ
termopar
tensiones
A/D
mux.
acondicionamiento
de señal
temporizador
fuente de
tensión
registro de datos
Direcciones
registro de control
Ejemplo de un sistema de adquisición de datos
9
Fundamentos de Computadores
Departamento de Automática
Universidad de Alcalá
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
Solución Ö CPU, controlador del dispositivo y software de E/S
10
Fundamentos de Computadores
Departamento de Automática
Universidad de Alcalá
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.
11
Fundamentos de Computadores
Departamento de Automática
Universidad de Alcalá
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
Petición de servicio
ƒ Ocupado/error
Ocupado/Error
dispositivo
ƒ Servicio terminado
Servicio terminado
dispositivo
controlador
ƒ El registro de estado puede indicar también situaciones de error,
anomalías en el funcionamiento del periférico, etc.
PERIFÉRICO
Información
CPU
CONTROLADOR
Datos
DISPOSITIVO
Petición de servicio
Ocupado/Error
Direcciones
12
Fundamentos de Computadores
Departamento de Automática
Servicio terminado
Universidad de Alcalá
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
13
Fundamentos de Computadores
Departamento de Automática
Universidad de Alcalá
Problemática de la Entrada/Salida (V)
Problemática de la sincronización (III)
Entrada/Salida programada
ƒ La CPU inicia y realiza la
transferencia
ƒ La transferencia puede ser:
ƒ Incondicional: la CPU no
comprueba si el periférico está
disponible
Polling
ƒ La CPU consulta si los periféricos
están disponibles para realizar una
transferencia Ð registro de estado del
controlador del periférico
lectura reg. estado
lectura reg. estado
Dato
disponible?
Acepta
nuevo dato?
ƒ 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
no
si
14
si
lectura reg. datos
escritura reg. datos
otras tareas
otras tareas
no
fin?
si
LECTURA/ENTRADA
Fundamentos de Computadores
Departamento de Automática
no
no
fin?
si
ESCRITURA/SALIDA
Universidad de Alcalá
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
PC
FLAGS
ANTES INT
RUTINA INT
Siguiente
instrucción
Vector de
interrupción
DESPUÉS INT
Siguiente
instrucción
Estado
Estado
SP
PILA
SP
Siguiente
instrucción
Estado
SP
ƒ 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
15
Fundamentos de Computadores
Departamento de Automática
Universidad de Alcalá
Problemática de la Entrada/Salida (VII)
Problemática de la sincronización (V)
Entrada/Salida mediante interrupciones (II)
Aceptación de interrupciones
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
ƒ 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
codificación del mismo
16
Fundamentos de Computadores
Departamento de Automática
Universidad de Alcalá
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
17
Fundamentos de Computadores
Departamento de Automática
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
reconocimientos de interrupción
Universidad de Alcalá
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 daisychain
18
Fundamentos de Computadores
Departamento de Automática
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
Universidad de Alcalá
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)
ƒ 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
ƒ Resuelve la gestión de prioridades de
forma flexible:
ƒ Prioridad fija (por orden)
ƒ Línea prioritaria la que lleva más
tiempo sin atenderse
19
Fundamentos de Computadores
Departamento de Automática
Universidad de Alcalá
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
DATOS
DIRECCIONES
CPU
MEMORIA
PRINCIPAL
HOLDA
HOLD
ƒ La transferencia de E/S se lleva a cabo
por la activación de las señales de
control de acceso a memoria
Controladora
DMA
señales de control
20
Fundamentos de Computadores
Departamento de Automática
Universidad de Alcalá
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
ƒ
ƒ
ƒ
MEMORIA
Puerto 1
CPU
Bus de datos
Bus de direcciones
Bus de control
21
Puerto 2
Puerto 3
ƒ
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
Bus de datos
Controlador
periférico
Fundamentos de Computadores
Departamento de Automática
Bus de direcciones
Bus de control
Universidad de Alcalá
Descargar