Sunteți pe pagina 1din 21

Tema 7: Sistemas de Entrada/Salida

Bibliografa Comunicacin CPU-Perifricos Ejemplos de perifricos Unidad de disco Puerto serie Monitor Sistema de adquisicin de datos Problemtica de la Entrada/Salida: Problemtica de la seleccin del perifrico
Mapas de Entrada/Salida

Problemtica de la sincronizacin:
Entrada/Salida programada Entrada/Salida mediante interrupciones Acceso directo a memoria (DMA)

Fundamentos de Computadores

Bibliografa
Arquitectura de Computadores (Captulo 6) Jos A. de Frutos, Rafael Rico. Ed. Servicio de Publicaciones de la UA Fundamentos de los Computadores (Captulo 8) Pedro de Miguel Anasagasti. Ed. Paraninfo Arquitectura de computadores. Un enfoque cuantitativo (Captulo 9) Hennessy, J.L., Patterson, D.A Ed. McGraw-Hill. Estructura y diseo de computadores: Interficie circuitera/programacin (Captulo 8). Patterson, D.A., Hennessy, J.L.. Ed. Revert. Organizacin y Arquitectura de Computadores (Captulo 6) William Stallings. Ed. Prentice Hall
2
Fundamentos de Computadores Departamento de Automtica Universidad de Alcal

Comunicacin CPU-Perifricos (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 comunicacin cubre numerosos aspectos: desde la interaccin hombremquina hasta el control de procesos en sistemas automticos La transferencia de informacin entre la CPU (computador) y el mundo exterior se realiza a travs de dispositivos llamados perifricos Los perifricos realizan la interfaz entre el mundo sncrono y codificado del computador y el mundo analgico exterior

Fundamentos de Computadores Departamento de Automtica

Universidad de Alcal

Comunicacin CPU-Perifricos (II)


Los perifricos pueden ser: Dispositivos de entrada de datos: el teclado, el ratn, el scaner, los sensores de magnitudes mecnicas 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 perifrico son los puertos serie o paralelo que representan simplemente canales de E/S de datos entre CPU y el exterior Un perifrico siempre tiene dos partes: El controlador: se encarga de la comunicacin con la CPU El dispositivo mecnico, electromecnico o electromagntico con su electrnica de control (o un transductor en el caso de sensores) Misin del controlador: Transferencia de datos (objeto propio de la comunicacin) Protocolo de la transferencia ("ponerse de acuerdo" en el cmo y el cando) Misin del dispositivo: Relacin con el exterior

Fundamentos de Computadores Departamento de Automtica

Universidad de Alcal

Ejemplos de perifricos (I)


PERIFRICO

Seales de control

CONTROLADOR
sincronizacin codificacin decodificacin fsica del fenmeno

DISPOSITIVO

Datos Direcciones

asignacin de puerto de E/S registro de datos registro de control

Ejemplo de un perifrico general

Fundamentos de Computadores Departamento de Automtica

Universidad de Alcal

Ejemplos de perifricos (II)

Unidad de disco

UNIDAD DE DISCO

Seales de control

CONTROLADORA IDE
DMA transfer. codificacin / decodificacin discos

Datos Direcciones

lgica de control de motores registro de datos registro de control motor discos

motor posicin cabezas

Ejemplo de un disco

Fundamentos de Computadores Departamento de Automtica

Universidad de Alcal

Ejemplos de perifricos (III)

Puerto serie

PUERTO SERIE

Seales de control

CONTROLADOR
INTERFAZ RS-232C reloj
1 6 9 5

Datos Direcciones registro de datos registro de control

conector DB9
2 RxD 6 DSR 3 TxD 7 RTS 4 DTR 8 CTS 5 Gnd

Ejemplo de un puerto serie

Fundamentos de Computadores Departamento de Automtica

Universidad de Alcal

Ejemplos de perifricos (IV)

Monitor

MONITOR

Seales de control

CONTROLADORA VGA
DMA transfer. MEMORIA
conector DB15 1 red 2 green 3 blue 13 horiz. sync. 14 vert. sync.

Datos Direcciones

Codificacin-RGB&sincronismo registro de datos registro de control

F. A. electrnica alta frecuencia

Ejemplo de un monitor

Fundamentos de Computadores Departamento de Automtica

Universidad de Alcal

Ejemplos de perifricos (V)

Sistema de adquisicin de datos


SISTEMA DE ADQUISICIN DE DATOS

Seales de control

TARJETA DE ADQUISICIN
tensiones termopar acondicionamiento de seal fuente de tensin

memoria

A/D

mux.

Datos Direcciones

DMA IRQ

temporizador registro de datos registro de control

Ejemplo de un sistema de adquisicin de datos

Fundamentos de Computadores Departamento de Automtica

Universidad de Alcal

Problemtica de la Entrada/Salida (I)


1. Seleccin del perifrico Direccionando los registros de datos y de control A cada perifrico le corresponden varias direcciones del mapa de E/S, llamadas puertos 2. Sincronizacin Problemtica de salida de datos: La CPU trabaja a una velocidad muy superior a la que transmiten informacin los perifricos, de manera que pueden ser desbordados Problemtica de la entrada de datos: La informacin no es generada por el perifrico en sincrona con la CPU 3. Gestin de las seales de control Solucin CPU, controlador del dispositivo y software de E/S

10

Fundamentos de Computadores Departamento de Automtica

Universidad de Alcal

Problemtica de la Entrada/Salida (II)

Problemtica de seleccin del perifrico 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 seales de control si los mapas de memoria y E/S son disjuntos.

11

Fundamentos de Computadores Departamento de Automtica

Universidad de Alcal

Problemtica de la Entrada/Salida (III)

Problemtica de la sincronizacin (I) Sincronizacin controlador-dispositivo


El registro de estado del controlador informa a la CPU sobre el estado de las seales que se encargan de la sincronizacin con el dispositivo: Peticin de servicio Ocupado/error Servicio terminado
Peticin de servicio Ocupado/Error Servicio terminado controlador dispositivo dispositivo

El registro de estado puede indicar tambin situaciones de error, anomalas en el funcionamiento del perifrico, etc.
PERIFRICO Informacin CONTROLADOR Datos Direcciones Peticin de servicio Ocupado/Error Servicio terminado DISPOSITIVO

CPU

12

Fundamentos de Computadores Departamento de Automtica

Universidad de Alcal

Problemtica de la Entrada/Salida (IV)

Problemtica de la sincronizacin (II)


Debe haber mecanismos que resuelvan los problemas de temporizacin Hay que tener en cuenta esta temporizacin en dos aspectos: Inicio de la transferencia Transferencia propiamente dicha Segn la intervencin 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 interrupcin: la CPU ejecuta la transferencia pero el inicio es pedido por el perifrico que indica as su disponibilidad Acceso directo a memoria (DMA): la transferencia es realizada por un controlador especializado

13

Fundamentos de Computadores Departamento de Automtica

Universidad de Alcal

Problemtica de la Entrada/Salida (V)

Problemtica de la sincronizacin (III) Entrada/Salida programada


La CPU inicia y realiza la transferencia La transferencia puede ser: Incondicional: la CPU no comprueba si el perifrico est disponible Condicional: la CPU comprueba si el perifrico est disponible antes de iniciar una transferencia de informacin. Este mtodo se conoce como sondeo o polling Ventajas: Programacin sencilla y el hardware es simple Inconveniente: Se malgasta tiempo de proceso Polling La CPU consulta si los perifricos estn disponibles para realizar una transferencia registro de estado del controlador del perifrico
lectura reg. estado lectura reg. estado

Dato disponible? si lectura reg. datos otras tareas no fin?

no

Acepta nuevo dato? si

no

escritura reg. datos

otras tareas no fin?

si LECTURA/ENTRADA

si ESCRITURA/SALIDA
Universidad de Alcal

14

Fundamentos de Computadores Departamento de Automtica

Problemtica de la Entrada/Salida (VI)

Problemtica de la sincronizacin (IV) Entrada/Salida mediante interrupciones (I)


En la E/S por interrupcin: 1 El perifrico realiza la peticin de servicio mediante una seal de control especfica (interrupcin hardware) 2 Cuando la interrupcin es aceptada por la CPU, sta abandona momentneamente el programa principal para ejecutar la rutina de tratamiento de la interrupcin y realiza la transferencia Antes de comenzar la rutina de tratamiento de la interrupcin la CPU debe salvar la direccin de retorno y el registro de estado
ANTES INT PC
Siguiente instruccin

RUTINA INT
Vector de interrupcin

DESPUS INT
Siguiente instruccin

FLAGS

Estado

Estado

SP Siguiente instruccin Estado

SP

PILA

SP

15

Fundamentos de Computadores Departamento de Automtica

Universidad de Alcal

Problemtica de la Entrada/Salida (VII)

Problemtica de la sincronizacin (V) Entrada/Salida mediante interrupciones (II)


Aceptacin de interrupciones Mecanismos de la E/S por interrupcin: Aceptacin o no de la peticin de interrupcin Direccin donde se encuentra la rutina de tratamiento de la interrupcin (vector de interrupcin) Conexin de varios perifricos con capacidad de interrumpir Gestin de prioridades en caso de peticiones simultneas Las interrupciones pueden ser: Enmascarables: se pueden dejar de atender por procedimiento software No enmascarables: siempre son atendidas Vector de interrupcin Existen dos formas de determinar la posicin en la que se encuentra la rutina de tratamiento de la interrupcin: Vector de interrupcin fijo y determinado por la CPU El perifrico suministra el vector de interrupcin completo o una codificacin del mismo
Fundamentos de Computadores Departamento de Automtica

16

Universidad de Alcal

Problemtica de la Entrada/Salida (VIII)

Problemtica de la sincronizacin (VI) Entrada/Salida mediante interrupciones (III)


Conexin de varios perifricos y gestin de prioridades Resolver cmo conectarlos con la CPU Establecer prioridades Determinar el vector de interrupcin 1. CPU con una lnea de interrupcin: Todos los perifricos hacen la peticin en la misma lnea El vector de interrupcin es fijo y comn a todos los perifricos La rutina de interrupcin identifica mediante polling el perifrico que interrumpi a la CPU y desactiva la peticin La prioridad se determina por el orden en que se realiza el polling 2. CPU con varias lneas de interrupcin: Cada perifrico hace la peticin por una lnea distinta El vector de interrupcin es fijo pero diferente para cada lnea y por tanto para cada perifrico La prioridad la determina internamente la CPU 3. CPU con lnea de peticin de interrupcin y de aceptacin (I): La CPU cuenta con una lnea de entrada INT para las peticiones de interrupcin y con una lnea de salida INTA para dar los reconocimientos de interrupcin

17

Fundamentos de Computadores Departamento de Automtica

Universidad de Alcal

Problemtica de la Entrada/Salida (IX)

Problemtica de la sincronizacin (VII) Entrada/Salida mediante interrupciones (IV)


3. CPU con lnea de peticin de interrupcin y de aceptacin (II): a) Encadenamiento de perifricos o daisy-chain Todos los perifricos piden servicio por la misma lnea (INT) Cuando la CPU acepta la interrupcin activa INTA El perifrico de mayor prioridad desactiva la peticin y activa un biestable de concesin La CPU identifica por polling el perifrico que ha interrumpido, observando el biestable de concesin El vector de interrupcin es fijo y la resolucin de prioridades es por daisychain

b) Interrupciones vectorizadas Todos los perifricos piden servicio por la misma lnea (INT) Cuando la CPU reconoce la interrupcin (INTA), el perifrico se identifica poniendo en el bus de datos el vector de interrupcin La resolucin de prioridades se puede realizar por daisy-chain

18

Fundamentos de Computadores Departamento de Automtica

Universidad de Alcal

Problemtica de la Entrada/Salida (X)

Problemtica de la sincronizacin (VIII) Entrada/Salida mediante interrupciones (V)


3. CPU con lnea de peticin de interrupcin y de aceptacin (III): c) Gestin centralizada de interrupciones mediante controlador Un PIC (Programmable Interruption Controller) permite la conexin de distintos perifricos a la lnea de peticin de la CPU expandiendo en varios niveles dicha lnea (INT) Resuelve la gestin de prioridades de forma flexible: Prioridad fija (por orden) Lnea prioritaria la que lleva ms tiempo sin atenderse Permite enmascarar aquellas lneas que se desee mediante un registro de mscara programable Admite controladores esclavos para expandir ms niveles de interrupcin

19

Fundamentos de Computadores Departamento de Automtica

Universidad de Alcal

Problemtica de la Entrada/Salida (XI)

Problemtica de la sincronizacin (IX) Acceso directo a memoria - DMA (I)


En el acceso directo a memoria (Direct Memory Access): El controlador del perifrico se comunica directamente con la memoria principal del computador La CPU no realiza ninguna tarea, tanto la inicializacin como la transferencia son gobernadas por el perifrico La transferencia de E/S se lleva a cabo por la activacin de las seales de control de acceso a memoria
seales de control DATOS DIRECCIONES

CPU

MEMORIA PRINCIPAL
HOLD HOLDA

Controladora DMA

20

Fundamentos de Computadores Departamento de Automtica

Universidad de Alcal

Problemtica de la Entrada/Salida (XII)

Problemtica de la sincronizacin (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 simultneas 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 direccin 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 perifrico requiera una transferencia DMA debe hacer una peticin de robo de ciclo a la CPU (HOLD) La CPU hace la concesin (HOLDA) El controlador de DMA controla los buses de direcciones y datos, y las seales de control de memoria y E/S Terminada la transferencia, el controlador lo comunica a la CPU

MEMORIA
Puerto 1 CPU Bus de datos Bus de direcciones Bus de control Puerto 2 Controlador perifrico Puerto 3

Bus de datos Bus de direcciones Bus de control

21

Fundamentos de Computadores Departamento de Automtica

Universidad de Alcal

S-ar putea să vă placă și