Entrada/Salida Principios del hardware de E/S



Descargar 25.09 Kb.
Fecha de conversión01.05.2018
Tamaño25.09 Kb.
Entrada/Salida

  1. Principios del hardware de E/S

Se pueden dividir en:

  • Dispositivos de bloques. Almacenan la información en bloques, cada uno con su propia dirección (dispositivos tipo disco).

  • Dispositivos de caracteres. Acepta un flujo de caracteres sin estructurarlos en bloques; no es direccionable ni tiene una operación de desplazamiento (impresoras, interfaces de red, ratones, etc.)

Algunos dispositivos no encajan en esta clasificación, por ejemplo, las pantallas con mapas de memoria y los relojes.

Los dispositivos de E/S tienen velocidades enormemente diferentes. Tales como:



Dispositivo

Tasa de datos

Teclado

10bytes/s

Ratón

100bytes/s

Canal telefónico

8KB/s

Impresora láser

100KB/s

Ethernet clásico

1.25MB/s

USB

1.5MB/s

Disco IDE

5MB/s

Bus PCI

528MB/s

Tarjeta posterior Sun Gigaplane XB

20GB/s




    1. Controladoras de dispositivos

Las unidades de E/S por lo regular constan de un componente mecánico y uno electrónico.

El componente electrónico se denomina controladora o adaptador de dispositivo. En las PC, es una tarjeta de circuitos impresos que puede insertarse en una ranura de expansión. El componente mecánico es el dispositivo mismo.

Algunas controladoras pueden manejar 2, 4 u 8 dispositivos idénticos.

Existen interfaces entre la controladora y el dispositivo que son estándar (ANSI, IEEE, ISO).

La tarea de la controladora consiste en convertir el flujo de bits en serie en un bloque de bytes y realizar la corrección de errores que sea necesaria. Lo normal es que primero se arme el bloque de bytes, bit por bit, en un búfer dentro de la controladora. Una vez que se compruebe su suma de verificación y se le declara sin errores, puede copiarse en la memoria principal.


    1. E/S con correspondencia en memoria

Cada controladora tiene unos cuantos registros que le sirven para comunicarse con la CPU. El sistema operativo puede escribir en esto registros para ordenar algo al dispositivo o leerlos para averiguar el estado del dispositivo.

Además de los registros de control, muchos dispositivos tienen un bufer de datos que el sistema operativo puede leer o escribir.

Para que la CPU se comunique con los registros de control y los búferes de datos de los dispositivos, existen 2 alternativas:


  1. A cada registro de control se le asigna un número de puerto de E/S, que es un número entero de 8 o 16 bits. Las primeras computadoras y muchas mainframes funcionaban así).




Memoria

Puertos de E/S



  1. Introducido por la PDP-11, consiste en establecer una correspondencia entre todos los registros de control y el espacio de memoria.

A cada registro de control se le asigna una dirección de memoria única. Este sistema se denomina E/S con correspondencia en memoria.

Un espacio de direcciones

Pentium utiliza un híbrido, con búferes de datos de E/S con correspondencia en memoria y puertos de E/S aparte para los registros de control.


Dos espacios de direcciones

En todos los casos, cuando la CPU quiere leer una palabra, sea de la memoria o de un puerto de E/S, coloca la dirección que necesita en las líneas de dirección del bus y luego aplica una señal READ a la línea de control del bus. Se usa una segunda línea de señal para indicar si se debe usar el espacio de E/S o el de memoria. Si se va a usar el espacio de memoria, la memoria responde la solicitud; si se va a usar el espacio de E/S, el dispositivo de E/S responde a la solicitud. Si sólo hay espacio de memoria, cada módulo de memoria y cada dispositivo de E/S compara las líneas de dirección con el intervalo de direcciones que atiende. Si la dirección esta dentro de su intervalo, responde a la solicitud.

Los problemas que se podrían presentar son:


  • El uso de caché, se debe poder deshabilitar el uso de caché

  • El uso de varios buses, puesto que los dispositivos de E/S no verían si es una instrucción para ellos o para la memoria. En el caso de Pentium la solución fue filtrar las direcciones en el chip puente PCI.

Memoria


Bus

E/S


CPU


Bus





    1. Acceso directo a memoria

Tenga o no E/S con correspondencia en memoria, la CPU necesita direccionar las controladoras de dispositivos para intercambiar datos con ellas. La CPU puede solicitar datos a una controladora de E/S, byte por byte, pero ello obliga a la CPU a perder tiempo. Por esta razón, es común utilizar un esquema llamado acceso directo a memoria (DMA; direct memory access). El sistema operativo solo puede usar DMA si tiene una controladora DMA. Es común que haya una sola controladora DMA para regular las transferencias a múltiples dispositivos, a menudo de manera concurrente.

La controladora DMA tiene acceso al bus del sistema, independientemente de la CPU, además de varios registros que la CPU puede leer o escribir. Estos incluyen un registro de dirección de memoria, un registro para conteo de bytes y uno o mas registros de control. Los registros de control especifican el puerto de E/S que se usará, la dirección de la transferencia (leer o escribir), la unidad de transferencia (byte o palabra) y el número de bytes que se transmitirán en cada ráfaga.




Dirección

Cuenta

Control

Búfer

CPU

Controladora DMA

2. DMA solicita transferencia a memoria

Interrumpir al terminar

Controladora de disco

Memoria principal

1. La CPU programa la controladora


4. Acuse (Ack)







3. Se transfieren datos





BUS

La controladora DMA le ordena a la controladora del disco leer k bytes, cuando se terminan de leer, DMA interrumpe a la CPU para avisarle que ya terminó la transferencia. Cuando el sistema operativo inicie, no tendrá que copiar el bloque de disco en la memoria, ya está ahí. Esta es la ventaja del DMA.

Algunas DMA manejan una transferencia a la vez, pero otras manejan varias transferencias.

Muchos buses pueden operar de dos modos: palabra por palabra y por bloques. Algunas controladoras DMA también pueden operar en cualquiera de los dos modos. En el primero, el funcionamiento es el que acabamos de describir: la controladora DMA solicita la transferencia de una palabra y la obtiene. Si la CPU también quiere el bus, tendrá que esperar. Este mecanismo se denomina robo de ciclos porque la controladora de dispositivo quita subrepticiamente a la CPU un ciclo de bus de vez en cuando, haciéndola un poco más lenta. En modo de bloques, la controladora DMA le ordena a la controladora de dispositivo adquirir el bus, enviar una serie de transferencias y luego liberar. Esta forma de funcionar se denomina modo de ráfaga. Es más eficiente que el robo de ciclos porque la adquisición del bus toma tiempo y pueden transferirse múltiples palabras con una sola adquisición. La desventaja del modo de ráfaga es que puede bloquear a la CPU y a otros dispositivos durante un tiempo considerable si se está transfiriendo una ráfaga larga.



En el modelo que hemos estado describiendo, conocido como modo de sobrevuelo, la controladora DMA pide a la controladora de dispositivo transferir los datos de manera directa a la memoria principal.


La base de datos está protegida por derechos de autor ©bazica.org 2016
enviar mensaje

    Página principal