CONTROLADORES DE DISPOSITIVOS Las unidades de E/S por lo general constan de componente mecanica y una electronica. A menudo es posible separar las dos porciones para ofrecer un diseño mas modular y general. La componetente electronica se denomina controlador del dispositivo o adaptar. En mini y microcomputadoras, con frecuencia toma la forma de una tarjeta de circuitos impresos que se puede insertar en la computadora. La componente mecanica es el dispositivo mismo. La tarjeta controladora suele tener un conector en ella, en le cual puedeenchufarse un cable que va al dispositivo. El sistema operativo casi siempre trata con el controlador, no con el dispositovo. Casi todas las microcomputadoras y mini computadoras utilizan el modelo de un solo bus para esteblecer comunicación entre la unidad central de procesamiento (CPU) y los controladores. El trabajo del controlador consiste en convertor el flujo de bits en serie en un bloque de bytes y realizar cualquier correcion de erores que se necesite, ya declarado libre de errores, puede copiarse en la memoria central. Cada controlador tiene algunos registros que utiliza para establecer comunicación con la unidad central de procesamiento. Y como en la figura de abajo muestra las direcciones de E/S y los vectores de interrupcion asigados a algunos de los controladores de la IBM PC. El proceso que realiza es el siguiente: 1~El controlador lee del bloque de la unidad de serie 2~Calcula la suma de comprobación para verificar que no hay errores de lectura 3~El controlador produce una interrupción ( para que el sistema operativo pueda leer el bloque de discos del buffer del controlador; ejecute un ciclo, que es lo que le lleva leer un byte o palabra del registro de dispositivos del controlador y almacenarlo en memoria ) 4~Ya libre de errores ; después el controlador copia el primer byte o palabra en la memoria central en la dirección especifica por la dirección de memoria del DMA 1 5~Incrementa la dir. del DMA y determina el conteo DMA por el numero de bytes que acaba de transferir; todo se repite asta que el conteo DMA se vuelve cero. Y todo esto es para liberar al CPU de este trabajo de bajo nivel y evitar que en caso de que el bus este ocupado no tenga que esperar. Y bueno para esto se tiene que tener cuidado porque no todos los controladores pueden darse abasto realizando las Entadas y Salidas al mismo tiempo. Y para esto necesitara varios ciclos, llamadas intercalaciones como los siguientes: En algunas computadoras * Otras utilizan un espacio de direccion especial para E/S, y a cada controlador se le asigna una porcion de ella. * Son parte del espacio de direccion de la memoria regular. Vector de interrupción Direcciones de E/S Controlador de E/S 5 751 41 1 621 3 01 2 261 Acceso directo a la Memoria 71 361 651 241 531 121 41 01 71 61 51 41 31 21 1 01 Intercalación Sencilla Doble Intercalación Sin intercalación 3