Você está na página 1de 59

Organizacin y

Arquitectura de
Computadores
CAPTULO IV
ENTRADA/SALIDA

Captulo IV

Arquitectura de Computadores

Contenidos
1. Entrada/Salida
Bibliografa Organizacin y
Arquitectura de Computadores,
William Stalling

Captulo IV

Arquitectura de Computadores

Arquitectura
Un computador no puede estar formado slo por la
CPU y la memoria.
Para darle alguna utilidad debe de comunicarse con el
mundo exterior a travs del subsistema de
entrada/salida (I/O input/output).

Captulo IV

Arquitectura de Computadores

Introduccin
El subsistema de Entrada/Salida permite al
computador interactuar con el mundo exterior,
adaptando los dispositivos externos antes de
conectarlos al bus del sistema
Por qu no se conectan directamente al B.Sistema?
Variedad de dispositivos de E/S (perifricos)
Velocidad de transferencia(menor)
Formatos y anchos de banda
Dispositivos de E/S (perifricos) tpicos:
E/S Bsica: teclado, ratn, pantalla
Almacenamiento: discos, disquetes, cintas, CD-ROM,...
Impresin y escner: impresoras, plotters, scanners, ...
Comunicacin: redes, mdems, ...
Multimedia: audio, vdeo, ...
Automatizacin

Captulo IV

Arquitectura de Computadores

Conti
Variedad de dispositivos perifricos

Captulo IV

Arquitectura de Computadores

Elementos del sistema de


E/S
Dispositivo externo:
Elementos fsicos que se comunican con el exterior.
Mdulos de Entrada/Salida (Controladores):
Permiten que los dispositivos externos se comuniquen con
el resto de elementos del sistema.
Un dispositivo externo conectado a un mdulo de E/S se
denomina dispositivo perifrico o simplemente
perifrico

Captulo IV

Arquitectura de Computadores

Perifrico

Captulo IV

Arquitectura de Computadores

Captulo IV

Arquitectura de Computadores

Puerto serie

Captulo IV

Arquitectura de Computadores

Captulo IV

Arquitectura de Computadores

10

1. Diagrama de bloques de un
dispositivo externo(perifrico)

Captulo IV

Arquitectura de Computadores

11

Diagrama de bloques de un
mdulo de E/S

Captulo IV

Arquitectura de Computadores

12

Funciones
Las funciones de un mdulo se presentan en
las siguientes categoras:
Control y temporizacin
Comunicacin con el procesador
Comunicacin con los dispositivos
Almacenamiento temporal de datos
Deteccin de errores

Captulo IV

Arquitectura de Computadores

13

Funciones II
Control y temporizacin

Son necesarios para coordinar el trfico entre dispositivos


internos y externos
Por ejemplo, el control de la transferencia de datos desde un
dispositivo
externo al procesador podra implicar la siguiente secuencia de
pasos:

1. El procesador pregunta por el estado del dispositivo


2. El mdulo de E/S devuelve el estado del dispositivo
3. Si el dispositivo est listo, el procesador solicita la transferencia al
mdulo de E/S
4. El mdulo de E/S obtiene los datos
5. Los datos se transfieren del mdulo de E/S al procesador

La comunicacion con el procesador implica:

Decodificacin de rdenes
Datos
Informacin de estado
Reconocimiento de direccin

Captulo IV

Arquitectura de Computadores

14

Funciones III
La comunicacin con el dispositivo implica:
rdenes
Informacin de estado
Datos

Almacenamiento temporal de datos

Los datos se envan en rfagas rpidas desde la memoria al


mdulo de E/S y despus se envan al perifrico a la velocidad
de ste (el proceso inverso es semejante)
Los datos se almacenan para no mantener ocupada a la
memoria en una operacin de transferencia lenta (evitar una
cada en el rendimiento)

Deteccin de errores

Errores debidos a defectos mecnicos o elctricos


Errores en la transmisin de informacin (cdigos de deteccin
de errores)

Captulo IV

Arquitectura de Computadores

15

TRANSFERENCIA
Del dispositivo externo al procesador
1. El procesador interroga al mdulo de E/S
2. El mdulo de entrada salida devuelve el estado del
dispositivo
3. Si el dispositivo est operativo y preparado para
transmitir, el procesador solicita la transferencia del
dato mediante una orden al mdulo de E/S
4. El mdulo de E/S obtiene el dato del dispositivo
externo
5. Los datos se transfieren desde el mdulo de E/S al
procesador

Captulo IV

Arquitectura de Computadores

16

Estructura bsica de E/S

Captulo IV

Arquitectura de Computadores

17

Inconvenientes
Cmo se direccionan los dispositivos?
Cmo se transfiere la informacin entre los
mdulos de E/S y el resto del sistema?
Cmo se sincronizan, a nivel de operacin, los
mdulos de E/S y el resto del sistema?

Captulo IV

Arquitectura de Computadores

18

Ordenes-Instrucciones
Ordenes de E/S
Hay cuatro tipos de rdenes de E/S que puede recibir un
mdulo cuando es direccionado por el procesador

Control
Test
Lectura
Escritura

Instrucciones de E/S
Cuando el procesador, la memoria principal y las E/S
comparten un bus comn son posibles dos modos de
direccionamiento:
Asignado en memoria, comn, mapeada
Aislado.

Captulo IV

Arquitectura de Computadores

19

E/S comn y separada


Segn el modo de seleccionar el perifrico y el acceso a sus registros
de control, datos y estado:
1. E/S COMN O ASIGNADA/MAPEADA EN MEMORIA:
El acceso a estos mdulos se realiza de igual modo a como se accede a
un dato de memoria principal.
Los perifricos se integran en el computador como si fueran parte de la
memoria

Comunicarse con un mdulo de E/S es leer y escribir en memoria. Ej: 68000.

VENTAJA: Se aprovecha la potencia del juego de instrucciones.


INCONVENIENTE: Se desperdicia parte del espacio de direcciones.

2. E/S AISLADA O SEPARADA:

El acceso a la E/S est contemplado en la arquitectura.


Existen dos mapas de memoria separados: uno para memoria y otro
para E/S
Existen seales e instrucciones especficas. Ej: intel 80x86.
(Las ventajas y desventajas son contrarias a las de la E/S comn.)

Captulo IV

Arquitectura de Computadores

20

Mtodos de E/S
E/S por
sondeo(polling,programada)
E/S por interrupciones
E/S por Acceso Directo a
Memoria/DMA

Captulo IV

Arquitectura de Computadores

21

1. E/S programada
La CPU tiene el control absoluto de la operacin de E/S:
inicia y lleva a cabo la transferencia.
La CPU est dedicndose por completo a realizar la
operacin de E/S: realiza tanto la comprobacin de
estado como la transferencia y la inicializacin: poco
eficiente.
Hardware mnimo.

Captulo IV

Arquitectura de Computadores

22

2. E/S mediante
interrupciones
Problemas de la
entrada/salida programada
o por polling (consulta
continua del registro de
estado)
La CPU no puede hacer
otros trabajos
- La CPU espera durante
horas a que se teclee una
tecla

Solucin: Interrupciones
La CPU sigue con otros
trabajos
Cuando el perifrico est
listo avisa a travs de la
lnea de interrupcin a la
CPU para que lea el dato

Punto de vista del mdulo de E/S

Captulo IV

Arquitectura de Computadores

23

E/S mediante interrupciones


II

Las interrupciones pueden ser:


ENMASCARABLES (se pueden dejar de atender por software)
o NO ENMASCARABLES (siempre atendidas).

Captulo IV

Arquitectura de Computadores

24

Captulo IV

Arquitectura de Computadores

25

Captulo IV

Arquitectura de Computadores

26

Captulo IV

Arquitectura de Computadores

27

Cuestiones de diseo
En la implementacin de E/S mediante interrupciones
surgen dos cuestiones.
cmo determina el procesador qu dispositivo ha
provocado una interrupcin?
Cmo decide el procesador la que debe atender?

Hay algunas tcnicas que nos ayudan a solucionar este


tipo de cuestiones:
Mltiples lneas de interrupciones
Consulta software(software polling)
Conexin en cadena(daisy chain)
Arbitraje de bus

Captulo IV

Arquitectura de Computadores

28

Mltiples lneas de
interrupcin

Generalmente existen VARIOS PERIFRICOS (y no uno slo)


conectados que pueden realizar interrupciones,
Obliga a ESTABLECER PRIORIDADES y decidir cmo se
conectan a la CPU.

Tambin hay que determinar para cada perifrico su vector


de interrupciones.
Consiste en proporcionar varias lneas de interrupcin entre
el procesador y los mulos de E/S

SOLUCIONES ms extendidas:
A. Una sola lnea de interrupcin
B. Varias lneas de interrupcin
C. Lneas de interrupcin y aceptacin

Captulo IV

Arquitectura de Computadores

29

A. Una sola lnea de interrupcin


Todos los perifricos interrumpen por la misma lnea.
El vector de interrupcin es fijo y comn a todos los
perifricos.
Mediante encuesta (polling) la CPU identifica el
perifrico y desactiva la interrupcin. La prioridad viene
determinada por el orden de la encuesta.

Captulo IV

Arquitectura de Computadores

30

B. Varias lneas de interrupcin


Cada perifrico tiene su lnea de interrupcin.
Cada lnea tiene su propio vector de interrupcin
asociado y la CPU determina la prioridad.
C. Lneas de interrupcin y aceptacin:
Una lnea de entrada para aceptar interrupciones
y otra para dar el reconocimiento de la
interrupcin al perifrico. Ej: procesador i8086.

Captulo IV

Arquitectura de Computadores

31

Consulta software

Todos los mdulos de E/S comparten una lnea comn para


solicitar interrupciones
Cuando el procesador detecta una interrupcin, se produce un
salto a una subrutina de servicio de interrupcin que se
encarga de consultar a cada mdulo de E/S para determinar
cul ha producido la interrupcin
La desventaja de la consulta software est en el tiempo que
consume
La prioridad viene determinada por el orden en que se hace la
encuesta

Captulo IV

Arquitectura de Computadores

32

Conexin en cadena

Se trata de una consulta o polling hardware


Todos los mulos de E/S comparten una lnea comn para solicitar
interrupciones
La lnea de reconocimiento de interrupcin se conecta encadenando los
mdulos uno tras otro
Cuando el procesador recibe una interrupcin, activa la seal de
reconocimiento, la cual se propaga a travs de la secuencia de mdulos
de E/S hasta que alcanza al que solicitan la interrupcin
El mdulo correspondiente responde colocando una palabra que lo
identifica
en las lneas de datos (vector)
El procesador utiliza el vector de interrupcin como puntero a la rutina de
servicio (as se evita ejecutar una rutina de servicio general)
La prioridad viene determinada por el orden en que se conectan los
mdulos
en la cadena

Captulo IV

Arquitectura de Computadores

33

Conexin en cadena II

Captulo IV

Arquitectura de Computadores

34

Arbitraje de bus
Con esta tcnica, un mdulo de E/S antes de poder
activar la lnea de peticin de interrupcin debe disponer
del control del bus
Mediante el arbitrador de bus se garantiza que slo un
mdulo puede
activar la seal de peticin en un determinado instante
Es una tcnica que usa interrupciones vectorizadas como
el daisy chain
La prioridad viene determinada por el arbitrador

Captulo IV

Arquitectura de Computadores

35

Captulo IV

Arquitectura de Computadores

36

3. Acceso directo a memoria


Tanto en la E/S con interrupciones como en la E/S
programada, se presentan dos inconvenientes :
1. La velocidad de transferencia de E/S est limitada por
la velocidad a la cual el procesador puede comprobar y
dar servicio a un dispositivo
2. El procesador debe dedicarse a la gestin de las
transferencias de E/S; se debe ejecutar cierto nmero
de instrucciones para cada transferencia de E/S
Si se desea transferir grandes volmenes de datos, se
requiere un tcnica ms eficiente: el acceso directo a
memoria (DMA).

Captulo IV

Arquitectura de Computadores

37

DMA
Polling e interrupcin necesitan de
la intervencin de la CPU
Ejemplo: pasar un dato de la
controladora del disco duro a la
memoria
La CPU lee de la controladora el dato
La CPU escribe el dato en la memoria
DMA (Direct Memory Access)
permite pasar los datos
directamente del perifrico a la
memoria sin intervencin de la CPU
El controlador de DMA (DMAC) es el
encargado de realizar la operacin de
DMA entre perifrico y memoria
El controlador de DMA toma de forma
momentnea el control del bus
Toda la operacin est controlada por la
CPU, a travs de programa con
instrucciones adecuadas para la
programacin del controlador de DMA

Captulo IV

Arquitectura de Computadores

38

Caractersticas del DMA

Captulo IV

Imita al procesador
Controla el sistema
Usa la tcnica robo de ciclo.- hacer uso del
bus solo cuando el procesador no lo
necesita.

Arquitectura de Computadores

39

Configuracin
Los mdulos DMA se pueden configurar de
diversas formas:

Bus nico DMA independiente


Bus nico DMA entrada salida integrados
Bus de E/S

Cada una de las formas de configuracin


tiene sus niveles de eficiencia y costos que
conllevan su implementacin.

Captulo IV

Arquitectura de Computadores

40

Bus nico DMA


independiente

Cada transferencia utiliza dos veces


el bus.
E/S va a DMA y el DMA a la memoria.

La CPU se interrumpe dos veces.


Captulo IV

Arquitectura de Computadores

41

Bus nico, DMA integrado

El mdulo puede controlar ms de un


dispositivo.
Cada transferencia usa el bus una vez.
Del DMA a la memoria.

La CPU se interrumpe solo una vez.

Captulo IV

Arquitectura de Computadores

42

Bus nico DMA separado

El bus se encarga de todos los


dispositivos. activados del DMA.
Cada transferencia usa el bus una vez.
Del DMA a la memoria.

La CPU se interrumpe solo una vez.


Captulo IV

Arquitectura de Computadores

43

Implementacin

Captulo IV

Arquitectura de Computadores

44

Problemas de cohesin
Problemas de cohesin con la jerarqua de memoria
Puede ocurrir que se tenga dos copias de un dato y el DMA
slo sobrescriba sobre una de ellas.
Hay tres SOLUCIONES:
1. Volcar toda la E/S a cach: slo sirve con E/S asignada a
memoria. Costoso.
2. Volcar toda la E/S a memoria: se vacan todos los datos de
la cach (bit de validez a cero) que tengan que ver con la
transferencia del DMA.
3. Usar tcnicas/protocolos de coherencia: invalidar datos de
la cach despus de que el DMA haya escrito sobre esos
datos. Ej. MESI.
Ejemplo de DMA: i8237. Posee 4 canales (procesadores de
DMA) programables con tres modos diferentes y adems se
puede poner en cascada con otros i8237.
Captulo IV

Arquitectura de Computadores

45

Resumen Tcnicas de E/S

E/S programada

Captulo IV

E/S Interrupciones

Arquitectura de Computadores

DMA

46

6. Canales y
procesadores de E/S

Captulo IV

Arquitectura de Computadores

47

Evolucin del
funcionamiento de las E/S
1.La CPU controla directamente al perifrico
2.Se aade un controlador o mdulo de E/S
3.Se usa la misma configuracin del paso anterior pero
se emplean interrupciones
4.El mdulo de E/S tiene acceso directo a la memoria a
travs del DMA
5.El mdulo de E/S se mejora, haciendo que se
comporte como un procesador en s mismo.
6.El mdulo de E/S tiene una memoria local propia y es
un computador en s mismo

Captulo IV

Arquitectura de Computadores

48

Caractersticas de los
canales de E/S
Una ampliacin de los DMA, con los canales de E/S,
quienes realizan un control completo de las operaciones
de E/S. En este caso el procesador no ejecuta
instrucciones nada mas inicia una transferencia de
entrada salida indicndole al canal que debe ejecutar un
programa de la memoria.
El canal de E/S es un pequeo procesador
especializado en operaciones de E/S. Si adems tiene
memoria propia, entonces se lo llama procesador de
E/S.
Hay dos tipos de canales de E/S:
Un canal selector
Un canal multiplexor
Captulo IV

Arquitectura de Computadores

49

Canales II

Para realizar una transferencia de E/S, la CPU primero hade


indicar qu canal de E/S ejecuta un determinado programa.
La CPU tambin debe definir el rea de almacenamiento
temporal, establecer una prioridad y establecer las
correspondientes acciones en caso de error. El programa a
ejecutar est cargado en memoria principal y puede
contener instrucciones propias slo procesables por el canal
de E/S.
Despus de terminar la operacin de E/S, el canal de E/S
deja el resultado en un rea de memoria y a continuacin
genera una interrupcin para indicar que ha acabado.

Captulo IV

Arquitectura de Computadores

50

Puerto paralelo

Registro de datos: es de slo escritura. Direcciones 378 (LPT1) y 278


(LPT2).
Compuesto por un byte.
Registro de estado: es de slo lectura. Direcciones 379 (LPT1) y 279
(LPT2).
Compuesto por un byte.

Registro de control: es de lectura/escritura. Direcciones 37A (LPT1) y


27A (LPT2). Compuesto por un byte.

Captulo IV

Arquitectura de Computadores

51

Rendimiento de E/S
De qu depende el rendimiento?

CPU
Sistema de memoria
Buses de interconexin
Controlador del perifrico
Perifrico
Driver del sistema operativo para controlar el perifrico
Eficiencia del software utilizando el perifrico

Mtricas para medir el rendimiento


Ancho de banda del perifrico

Nmero de transacciones por unidad de tiempo

Latencia del perifrico

Tiempo entre la orden de transaccin y el fin de su


ejecucin

Captulo IV

Arquitectura de Computadores

52

7. La interfaz externa

Captulo IV

Arquitectura de Computadores

53

Tipos de interfaces
Hay dos tipos de interfaces:
1. Interfaz paralela
2. Interfaz serie

Captulo IV

Arquitectura de Computadores

54

Interfaz paralela
Hay varias lneas que conectan el
mdulo de E/S y el perifrico y se
trasfieren
varios
bits
simultneamente a travs del bus de
datos.

Captulo IV

Arquitectura de Computadores

55

Interfaz serie
Hay
solo
una
lnea
para
la
transmisin de los datos y los bits
deben transmitirse uno a uno.

Captulo IV

Arquitectura de Computadores

56

Configuraciones punto a punto


y multipunto
Interfaz punto-a-punto.- proporciona
una lnea especfica entre el mdulo de E/S
y el dispositivo externo.
Interfaz externa multipunto.- utilizadas
para
soportar
dispositivos
de
almacenamiento masivo (disco y cintas) y
dispositivos multimedia.

Captulo IV

Arquitectura de Computadores

57

Conclusiones
Problemas

Las E/S son costosas por varias razones:


Involucran movimientos fsicos lentos (cabezal
disco) o lneas de comunicaciones (telfono-red)
que tambin lo son.
Los dispositivos de E/S son a menudo disputados
por mltiples procesos.
Las operaciones de E/S se suministran por medio
de llamadas al sistema y gestin de
interrupciones, que son lentas.

Captulo IV

Arquitectura de Computadores

58

Conclusiones
Soluciones
Reducir el nmero de veces que los datos son copiados
manteniendolos en cach.
Reducir la frecuencia de interrupciones utilizando, si es
posible, grandes transferencias de datos.
Descargar computacin de la CPU principal utilizando
controladores DMA.
Aumentar el nmero de dispositivos para reducir la
contencin de uno nico, y as, mejorar el uso de CPU.
Incrementar memoria fsica para reducir la cantidad de
tiempo en paginacin y por ello mejorar el uso de CPU.

Captulo IV

Arquitectura de Computadores

59

Você também pode gostar