Salida

Tema 7: Sistemas de Entrada/Salida ƒ Bibliografía ƒ Comunicación CPU-Periféricos ƒ Ejemplos de periféricos ƒ Unidad de disco ƒ Puerto serie ƒ Monitor

28 downloads 202 Views 605KB Size

Recommend Stories


Salida
ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES II Curso 2008-2009 PROBLEMAS TEMA 3: Unidad de Entrada/Salida Problemas propuestos en examen 3.1 Un computad

salida
Sistema de entrada/salida Miquel Albert Orenga Gerard Enrique Manonellas PID_00177074 CC-BY-SA • PID_00177074 Los textos e imágenes publicados en e

Story Transcript

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á

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.