PDF de programación - Clase 3 - Entrada/Salida - Arquitectura de Computadoras

Imágen de pdf Clase 3 - Entrada/Salida - Arquitectura de Computadoras

Clase 3 - Entrada/Salida - Arquitectura de Computadorasgráfica de visualizaciones

Publicado el 1 de Junio del 2018
821 visualizaciones desde el 1 de Junio del 2018
648,8 KB
52 paginas
Creado hace 6a (08/08/2017)
Arquitectura de Computadoras



Clase 3

Entrada/Salida

Problemas de Entrada/Salida

• Gran variedad de periféricos con varios métodos

de operación.
• Trasmisión de diferentes cantidades de datos.
• A diferentes velocidades.
• Usan diferentes formatos de dato y tamaño de palabra.

• Todos más lentos que la CPU y la RAM.
• Necesidad de módulos de E/S (con alguna

“inteligencia”)

Notas de Clase 3

2

Módulo de E/S

• Realiza la interfaz entre el procesador y la

memoria (bus) y los periféricos.

• Pueden manejar uno o más periféricos.

Notas de Clase 3

3

Dispositivos externos

• e/s básicos

• monitor/pantalla, mouse, teclado

• almacenamiento

• disco duro, CD, DVD

• impresión

• impresora, escáner

• comunicación con dispositivos remotos

• modem, acceso/interfaz de red

• multimedia

• micrófono, parlantes

• automatización y control

• Sensores, alarmas, adquisición de datos

Notas de Clase 3

4

Dispositivo externo tipo

Estado
Hacia el
módulo de E/S

Control
Desde el
módulo de E/S

Datos (bits)

Desde y hacia el
módulo de E/S

Lógica de
Control

Buffer

Transductor

Datos
Desde y hacia el exterior

Notas de Clase 3

5

Características de un puerto

• Interfase entre el periférico y el módulo de E/S
• Señales de Control, Estado y Datos

• Señal de Control: función a realizar

• Ej: INPUT ó READ, OUTPUT ó WRITE

• Señal de Estado: READY/NOT READY
• Control lógico: manejo de direccionamiento
• Transductor: conversión del datos
• Buffer: adaptación (1, 8 o 16 bits)

Notas de Clase 3

6





Código

ASCII

Notas de Clase 3

7

Funciones de un módulo de E/S

• Control y temporización de uno o más dispositivos

externos

• Interpretar las órdenes que recibe de CPU y transmitirlas

al periférico

• Comunicación con la CPU (registros) y Memoria
• Controlar las transferencias de datos entre CPU y el
periférico (convertir formatos, adaptar velocidades)

• Comunicación con los dispositivos (periféricos)
• Informar a la CPU del estado del periférico
• Almacenamiento temporal (buffering) de datos
• Detección de errores

Notas de Clase 3

8

Diagrama en bloques de un

módulo de E/S

Interfaz al bus del sistema

Interfaz a dispositivos externos

Líneas
de datos

Registro de datos

Registro de estado/control

Líneas de
dirección

Líneas de
control

Lógica
de E/S

Notas de Clase 3

Lógica del
interfaz a
dispositivo

externo

Lógica del
interfaz a
dispositivo

externo

Datos

Estado

Control

Datos

Estado

Control

9

Capacidades de un módulo de E/S

• Ocultar las propiedades del dispositivo a la CPU.
• Ej: temporizados, formatos, electromecanismos ...etc

• Ocuparse de uno o varios dispositivos.
• Controlar o no las funciones del dispositivo.

• Canales de E/S ó procesador de E/S (manejo de parte

importante de la carga del procesamiento). Presentes en
Mainframes.

• Controlador de E/S ó controlador de dispositivo (manejo

primitivo). Presentes en microcomputadoras.

Notas de Clase 3

10

Operación de Entrada ó Salida

Requiere:
• Direccionamiento

• E/S mapeada en memoria
• E/S aislada

• Transferencia de información

• Lectura ó escritura

• Gestión de la transferencia

• Mecanismos de sincronización y control de la

transferencia de datos

Notas de Clase 3

11 11

Direccionamiento de E/S

•E/S asignada en memoria (memory-mapped)

• Dispositivos de E/S y memoria comparten un único espacio

de direcciones.

• E/S se parece a la memoria de lectura/escritura.
• No hay órdenes específicas para E/S.

• Variedad de órdenes de acceso a memoria (programación eficiente)

•E/S aislada

• Espacios de direcciones separados.
• Necesidad de líneas especiales de E/S y de memoria.
• Órdenes específicas para E/S.

• Conjunto limitado de instrucciones.

Notas de Clase 3

12

Técnicas de gestión de E/S



• E/S Programada con espera de respuesta



• E/S con interrupciones



• E/S con acceso directo a memoria (DMA)

Notas de Clase 3

13

E/S programada

• Intercambio de datos entre la CPU y el módulo
• La CPU tiene control directo sobre la operación

de E/S
• Comprobación del estado del dispositivo
• Envío de comandos de lectura/escritura
• Transferencia de datos

• La CPU espera que el módulo E/S termine la

operación

• Por lo tanto la CPU permanece ociosa durante un

período de tiempo (no deseable)

Notas de Clase 3

14

Detalles de la E/S

programada

• La CPU solicita la operación de E/S al

módulo.

• El módulo E/S realiza la operación.
• El módulo E/S activa los bits de

estado del dispositivo direccionado y
espera.

• La CPU comprueba periódicamente

el estado de esos bits, hasta que
detecta que la operación fue
completada.

• En caso contrario la CPU espera y
vuelve a comprobarlo más tarde.

Notas de Clase 3

15

Órdenes (comandos) de E/S

• La CPU emite una dirección

• Especifica el módulo (y el dispositivo si hay más de

uno por módulo)

• La CPU da una orden

• Control: indica al módulo qué hacer

• Ejemplo: rebobinar una cinta magnética.

• Test: comprueba el estado del módulo y sus periféricos

• Ejemplo: ¿está conectado? ¿hubo algún error?

• Lectura/Escritura

• Transfiere datos desde o hacia el dispositivo por el bus de datos.

Notas de Clase 3

16

E/S con interrupciones

• La CPU no tiene que esperar la finalización de la

tarea de E/S, puede seguir procesando.

• No se repite la comprobación de los estados de

los módulos

• El módulo envía un pedido de interrupción a la

CPU cuando está listo nuevamente.

Notas de Clase 3

17

E/S mediante interrupciones:

¿qué hace la CPU ???

• La CPU envía una orden de lectura (READ).

• El módulo E/S obtiene los datos del periférico mientras que

la CPU realiza otro trabajo.

• La CPU chequea si hay pedidos de interrupciones

pendientes al final de cada ciclo de instrucción.
• El módulo E/S emite un pedido de interrupción a la CPU.

• La CPU detecta el pedido, guarda el contexto,
interrumpe el proceso y realiza la gestión de la
interrupción.

• La CPU solicita los datos.

• El módulo E/S transfiere los datos.

Notas de Clase 3

18

Cuestiones de diseño

• ¿Cómo saber qué dispositivo ha provocado la

interrupción?

• Con múltiples interrupciones ¿Cómo elegir la

interrupción que se debe atender? ¿Establecemos
prioridades?
• una rutina de interrupción que a su vez es interrumpida.

Notas de Clase 3

19

Identificación del módulo que

interrumpe

• Diferentes líneas para cada módulo

• PC
• Limita el número de dispositivos

• Consulta software (Poll o encuesta)

• Ocurrido un pedido de interrupción la CPU consulta a cada módulo para

determinar quien fue el demandante.

• Resulta lento.

• Conexión en cadena (daisy chain) “hard poll”

• La línea de reconocimiento de interrupción se conecta encadenando los

módulos, la línea de pedido es compartida.

• Una vez enviada la confirmación de parte de la CPU el módulo responderá

colocando un vector (palabra), en el bus, que lo identifica.

• La CPU emplea el vector como puntero para acceder a la rutina de

servicio.

Notas de Clase 3

20

Interrupciones múltiples

• Todas las líneas de interrupción tienen un orden de prioridad
• Las líneas con más prioridad pueden interrumpir a las líneas

con menor prioridad.

• Si existe un maestro del bus, solo él puede interrumpir.

Notas de Clase 3

21

Estructuras de interrupciones (1)

• El Intel 8086 tiene sólo una línea de petición de
interrupción (INTReq) y por lo tanto una sola de
confirmación (INTAck).

• Se deberá utilizar un árbitro o gestor de
interrupciones externo, el 8259A (PIC).

• Este chip tiene 8 líneas de interrupción, por lo

tanto podrá manejar 8 módulos de E/S.
• Usando conexión en cascada se puede gestionar hasta

64 módulos.

Notas de Clase 3

22

Estructuras de interrupciones (2)

• Puede ser útil tener una Interfase de Periféricos

Programable (PIO).

• El Intel 8255A es un chip para usar también en

entorno 8086.

• Es un módulo de E/S de propósito general.
• Posee 24 líneas de E/S programable vía los

registros de control.

• Usado para una variedad de periféricos.

• Ej: Teclado/Pantalla

Notas de Clase 3

23

Análisis

• Las operaciones de E/S mediante interrupciones

son más efectivas que las programadas.

• Pero ambas necesitan la intervención directa de la

CPU.
• La velocidad de transferencia es limitada.
• La CPU permanece ocupada mucho tiempo durante la

operación.

• ¿Qué sucede si el volumen a transferir es grande?

Notas de Clase 3

24 24

Ejemplo E/S con periférico lento

• Procesador a 200 MHz (tiempo ciclo reloj = 5 ns;

Ciclos por instrucción CPI = 2 , en promedio)
• Una instrucción tarda en promedio 2 x 5 ns = 10 ns =>

la computadora puede ejecutar ~100 Mips

• Queremos imprimir un archivo de 10 Kbytes en una

impresora láser de 20 páginas por minuto
• 1 página @ 3.000 caracteres (1 carácter = 1 byte)
• La impresora imprime 60.000 caracteres por minuto = 1

Kbyte/s

Notas de Clase 3

25 25

Ej. con periférico lento (2)

a) E/S con espera de respuesta
• La CPU entra en un bucle y envía un nuevo byte

cada vez que la impresora está preparada para
recibirlo
• La impresora tarda 10 seg en imprimir 10 Kbytes
• La CPU está ocupada con la operación de E/S

durante 10 seg.

(en ese tiempo la CPU podría haber ejecutado 1000

millones de instrucciones)

Notas de Clase 3

26 26

Ej. con periférico lento (3)

b) E/S con interrupciones
• La impresora genera una interrupción cada vez que

está preparada para recibir un nuevo byte.
• Si la gestión de interrupción (ATI) tiene 10 instrucciones

(salvar contexto, comprobar estado, transferir byte,
restaurar contexto, rti)

• Para transferir 10 Kbytes tenemos que ejecutar 10.000

veces la ATI
  • Links de descarga
http://lwp-l.com/pdf11519

Comentarios de: Clase 3 - Entrada/Salida - Arquitectura de Computadoras (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad