6.1.TRANSFERENCIA DE INFORMACION DE E/S Los periféricos conectados a un sistema de micro cómputo requieren de métodos de acceso bidireccionales para transferir datos desde o hacia la memoria. Dependiendo de las prestaciones requeridas y las posibilidades del hardware, existen distintos métodos que, con diferente costo y complejidad, resuelven la situación planteada. Entrada/Salida programada Elprocesador ejecuta un programa que determina si el periférico necesita servicio, por ejemplo chequeando un indicador de "ocupado" (busy) o "listo" (ready). Cuando se da la condición requerida, se realiza la transferencia del dato, ajustándose los punteros de direcciones y contadores de transferencias que mantiene el programa que maneja el periférico. Las señales que intervienen en una transacciónde este tipo dependen de que el periférico esté en el mapa de direcciones de memoria o de entrada/salida. Entrada/Salida por interrupciones Existe una implementación de hardware (sistema de interrupciones - véase el apunte de la bolilla 3) que interrumpe el programa que está ejecutando el procesador cuando el periférico está disponible para realizar una transferencia. La interrupción activa elprograma que maneja el periférico y la transferencia de datos opera de forma similar al caso de la entrada/salida programada. A las señales involucradas en la entrada/salida programada, se agregan ahora las que corresponden al protocolo del controlador de interrupciones. Entrada/Salida por acceso directo a memoria (DMA) En este caso existe un circuito adicional, tanto en el microprocesador comoexterno a el, que tiene la posibilidad de manejar los buses de datos, direcciones y control, encargado de forzar transferencias entre el periférico y la memoria en forma independiente de la CPU. La CPU carga los punteros de memoria y la cantidad de datos a transferir en el controlador de DMA y luego lo activa para operar. El circuito realiza las transferencias solicitadas y al concluir interrumpe alprocesador para indicar que la tarea encomendada ha sido cumplida. A las señales incluidas en los dos casos anteriores, ahora se suman las requeridas para transferir el control del bus. Como se ha visto, el incremento de performance del sistema de micro cómputo conlleva un aumento en la cantidad de circuitos y por ende, un aumento del costo. De todos modos mejora la relación costo/performance, y enalgunos casos el DMA puede ser una necesidad.
Dispositivos que requieren DMA Pueden considerarse dos casos en los que se hace imprescindible utilizar técnicas de acceso directo a memoria. El primero corresponde a los dispositivos que requieren transferencias a una frecuencia elevada, que aún siendo inferior al ancho de banda permitido por el bus del sistema, es superior a la latencia deinterrupciones (intervalo mínimo entre dos interrupciones consecutivas). Tal es el caso de los controladores de comunicaciones de redes de área local (por ej. ETHERNET) que se instalan en el bus del sistema y operan a 10 megabits/segundo sobre la línea de comunicaciones. El otro tipo de periféricos que aprovecha las ventajas del DMA es aquel cuya organización se orienta a bloques y por lo tanto lastransferencias involucran cantidades importantes de datos. En este caso, aunque la latencia permita trabajar por interrupciones, la gran cantidad de transferencias hace que la CPU esté ocupada todo el tiempo en la tarea rutinaria de atender el periférico en lugar de aprovechar su capacidad de procesamiento en la aplicación del usuario. Como ejemplo de este tipo de periféricos se pueden citar los mediosde almacenamiento magnéticos (cintas, discos rígidos, diskettes) que organizan sus datos en bloques. Para tomar como referencia, se puede ver que un disco rígido con sectores de 512 bytes y "clusters" de 4 sectores transfiere 2048 bytes por cada solicitud del sistema operativo DOS y si además el bus es de 8 bits (computadora personal XT) deberán realizarse 2048 transferencias entre el disco y...
Leer documento completo
Regístrate para leer el documento completo.