26 noviembre 2010

Tema 3. Técnicas de gestión de E/S


                   Los dispositivos de entrada y salida (E/S) son aquellos que permiten la comunicación entre la computadora y el usuario. El papel que juegan los dispositivos periféricos del ordenador es esencial; sin tales dispositivos éste no sería totalmente útil. A través de los dispositivos periféricos podemos introducir a la computadora datos que nos sea útiles para la resolución de algún problema y por consiguiente obtener el resultado de dichas operaciones, es decir; poder comunicarnos con el ordenador.

                  La computadora necesita de entradas para poder generar salidas y éstas se dan a través de dos tipos de dispositivos periféricos existentes:
- Dispositivos periféricos de entrada.
- Dispositivos periféricos de salida.

Dispositivos de entrada

                  Son aquellos que sirven para introducir datos a la computadora para su proceso. Los datos se leen de los dispositivos de entrada y se almacenan en la memoria central o interna. Los dispositivos de entrada convierten la información en señales eléctricas que se almacenan en la memoria central.

                  Los dispositivos de entrada típicos son los teclados, otros son: lápices ópticos, palancas de mando (joystick), CD-ROM, discos compactos (CD), etc. Hoy en día es muy frecuente que el usuario utilice un dispositivo de entrada llamado ratón que mueve un puntero electrónico sobre una pantalla que facilita la interacción usuario-máquina.

Dispositivos de salida

                  Son los que permiten representar los resultados (salida) del proceso de datos. El dispositivo de salida típico es la pantalla o monitor. Otros dispositivos de salida son: impresoras (imprimen resultados en papel), trazadores gráficos (plotters), altavoces, entre otros...




El hardware asociado con un dispositivo de E/S consta de cuatro elementos básicos:

- Un bus para comunicarse con la CPU y es compartido entre varios dispositivos.
- Un puerto que consta de varios registros:
                  Estado-indica si esta ocupado, los datosestán listos, o ha ocurrido un error.
                  Control-operación que ha de realizar.
                  Datos_entrada-datos a enviar a CPU.
                  Datos_salida-datos recibidos de la CPU.
- Un controlador que recibe ordenes del bus del sistema, traduce ordenes en acciones del dispositivo, y lee/escribe datos desde/en el bus del sistema.
- El propio dispositivo.


Técnicas de E/S

Espera de respuesta

Los pasos a seguir al usar espera de respuesta son:
- CPU espera hasta que el estado sea libre.
- CPU ajusta el registro de ordenes y datos-salida, si la operación es de salida.
- CPU ajusta el estado a orden-preparada.
- El controlador reacciona a ordenpreparada y pone estado a ocupado. Lee registro de ordenes y ejecuta orden, pone un valor en datos-salida, si es una orden
de salida.

                  Suponiendo que la orden tiene éxito, el controlador cambia el estado a ocioso. La CPU observa el cambio a ocioso y lee los datos si es una operación de salida. Es buena elección si los datos van a ser manejados al instante (un modem o teclado)


Interrupción

                  En lugar de tener la CPU ocupada esperando la disponibilidad del dispositivo, el dispositivo interrumpe a la CPU cuando ha terminado una operación de E/S.

Cuando se produce la interrupción de E/S:
- Determinar que dispositivo la provocó.
- Si la última orden fue una operación de entrada, recupera los datos del registro
del dispositivo.
-Inicia la siguiente operación para el dispositivo.


DMA

                  (Direct Memory Access o DMA). El acceso directo a memoria es una características de las computadoras y microprocesadores modernos que permite que ciertos subsistemas de hardware dentro de la computadora puedan acceder a la memmoria del sistema para la lectura y/o escritura, independientemente de la unidad central de procesamiento. De lo contrario, la CPU tendría que copiar cada porción de dato desde el origen hacia el destino, haciendo que ésta no esté disponible para otras tareas.

                  Los subsistemas de hardware que utilizan DMA pueden ser: controladores de disco duro, tarjetas gráficas, tarjetas de red, tarjetas de sonido y tarjetas aceleradoras. También es utilizado para la transferencia de datos dentro del chip en procesadores con múltiples núcleos. DMA es esencial en los sistemas integrados.

                  La CPU recupera la información byte a byte Þno adecuado para grandes volúmenes..
DMA (Direct Memory Access) – Controlador dedispositivo que puede escribir directa-mente en memoria. En lugar de registros de e/s, tiene un registro de dirección.

- La CPU indica al DMA la ubicación de la fuente/destino de la transferencia.
- DMA opera el bus e interrumpe a la CPU cuando se completa la transferencia.
- DMA y CPU compiten por el bus de memoria.


Técnicas DMA

DMA por robo de ciclo: se basa en usar uno o más ciclo de CPU por cada instrucción que se ejecuta (de ahí el nombre). De esta forma se consigue una alta disponibilidad del bus del sistema para la CPU, aunque, en consecuencia, la transferencia de los datos será considerablemente lenta. Este método es el que se usa habitualmente ya que la interferencia con la CPU es muy baja.

- DMA por ráfagas: consiste en enviar el bloque de datos solicitado mediante una ráfaga, ocupando el bus del sistema hasta finalizar la transmisión. Así se consigue la máxima velocidad, sin embargo la CPU no podrá usar el bus durante todo ese tiempo, por lo que permanecería inactiva.

- DMA transparente: se trata de usar el bus del sistema cuando se tiene certeza de que la CPU no lo necesita, como por ejemplo en aquellas fases del proceso de ejecución de las instrucciones donde nunca se usa ya que la CPU realiza tareas internas (v. g. fase de decodificación de la instrucción). De esta manera, como su nombre indica, la DMA permanecerá transparente para la CPU y la transferencia se hará sin obstaculizar la relación CPU-bus del sistema. Como desventaja, la velocidad de transferencia es la más baja posible.

- DMA Scatter-gather: permite la transferencia de datos a varias áreas de memoria en una transacción DMA simple. Es equivalente al encadenamiento de múltiples peticiones DMA simples. De nuevo, el objetivo es liberar a la CPU de las tareas de copia de datos e interrupciones de entrada/salida múltiples.


Procesador de E/S

                  El procesador de entrada/salida (IOP) está conectado al bus. El IOP se utiliza para transferir información entre el almacenamiento principal y grupos específicos de controladores. Algunos IOP están dedicados a tipos específicos de controladores, por ejemplo, los controladores de disco. Otros IOP pueden conectar más de un tipo de controlador, por ejemplo, controladores de cinta o controladores de disco.

No hay comentarios:

Publicar un comentario