Un controlador de disquete ( FDC ) es un componente de hardware que dirige y controla la lectura y escritura en la unidad de disquete (FDD) de una computadora. Ha evolucionado desde un conjunto discreto de componentes en una o más placas de circuito hasta un circuito integrado de propósito especial (CI o "chip") o un componente del mismo. Un FDC es responsable de leer los datos presentados desde la computadora host y convertirlos al formato en disco de la unidad usando uno de varios esquemas de codificación, como codificación FM (densidad única) o codificación MFM (densidad doble), y leer esos formatos. y devolverlo a sus valores binarios originales.
Dependiendo de la plataforma, las transferencias de datos entre el controlador y la computadora host serían controladas por el propio microprocesador de la computadora o por un microprocesador dedicado económico como el MOS 6507 o Zilog Z80 . Los primeros controladores requerían circuitos adicionales para realizar tareas específicas, como proporcionar señales de reloj y configurar varias opciones. Los diseños posteriores incluyeron más de esta funcionalidad en el controlador y redujeron la complejidad de los circuitos externos; Las soluciones de un solo chip eran comunes a finales de la década de 1980.
En la década de 1990, el disquete fue dando paso cada vez más a los discos duros , que requerían controladores similares. En estos sistemas, el controlador también solía combinar un microcontrolador para manejar la transferencia de datos a través de conectores estandarizados como SCSI e IDE que podrían usarse con cualquier computadora. En los sistemas más modernos, el FDC, si está presente, suele formar parte de las muchas funciones proporcionadas por un único chip súper de E/S .
El primer controlador de unidad de disquete (FDC), como la primera unidad de disquete (el IBM 23FD), se envió en 1971 como componente de la unidad de control de almacenamiento IBM 2385 para la unidad de disco de cabezal fijo IBM 2305 , [1] y del Sistema 370. Modelos 155 y 165 . La unidad de control de almacenamiento IBM 3830, un controlador contemporáneo y bastante similar, utiliza su procesador interno para controlar un 23FD. [2] El FDC resultante es una implementación simple en los circuitos híbridos MST de IBM en unas pocas tarjetas de circuito impreso. [2] La unidad, el FDC y los medios eran propiedad de IBM y, aunque otros fabricantes proporcionaron los primeros FDD antes de 1973, no existían estándares para los FDC, las unidades o los medios.
La introducción por parte de IBM en 1973 del sistema de entrada de datos 3740 creó el estándar de medios básico para el disquete de una sola cara de 8 pulgadas, el disquete "Tipo 1" de IBM , que, junto con los requisitos cada vez mayores de almacenamiento de acceso directo extraíble y económico para muchas aplicaciones pequeñas, provocó un crecimiento espectacular en los envíos de unidades y controladores. [3]
Antes de la introducción de versiones de circuitos integrados para fines especiales, la mayoría de los FDC consistían en al menos un circuito impreso implementado con 40 o más circuitos integrados. [4] Ejemplos de tales FDC incluyen:
El primer FDC implementado como circuito integrado de propósito especial es el Western Digital FD1771 [14] anunciado el 19 de julio de 1976. [15] El diseño inicial admitía un formato único y requería circuitos adicionales, pero con el tiempo, como familia, el diseño se convirtió en de múltiples fuentes y evolucionado para admitir muchos formatos y minimizar los circuitos externos.
El NEC µPD765 se anunció en 1978 [16] y en 1979 NEC introdujo el µPD72068, que era un software compatible con el µPD765, incorporando un PLL digital . [17] El µPD765 se convirtió en un estándar cuasi industrial cuando fue adoptado en la PC IBM original (1981); el FDC estaba ubicado físicamente en su propia tarjeta adaptadora junto con los circuitos de soporte. Otros proveedores, como Intel, produjeron piezas compatibles. Este diseño evolucionó con el tiempo hasta convertirse en una familia que ofrece un FDC casi completo en un chip. [18]
En marzo de 1986, Sharp había comercializado el FDC LH0110. [19]
A principios de 1987, Intel presentó el controlador de disquete de alta integración CHMOS 82072 para su uso en computadoras PC estándar de la industria. [20] [21]
Al final, en la mayoría de los sistemas informáticos, el FDC pasó a formar parte de un chip Super I/O o un chip Southbridge . [18] [22] [23]
Un disquete almacena datos binarios no como una serie de valores, sino como una serie de cambios de valor. Cada uno de estos cambios, registrados en la polaridad del medio de grabación magnético, hace que se induzca un voltaje en el cabezal de la unidad a medida que la superficie del disco gira a su lado. Es el momento de estos cambios de polarización y los picos de voltaje resultantes los que codifican los unos y los ceros de los datos originales. Una de las funciones del controlador es convertir los datos originales en el patrón adecuado de polarizaciones durante la escritura y luego recrearlos durante las lecturas.
Como el almacenamiento se basa en el tiempo, y ese tiempo se ve fácilmente afectado por perturbaciones mecánicas y eléctricas, la lectura precisa de los datos requiere algún tipo de señal de referencia, el reloj . Como la sincronización en el disco cambia constantemente, la señal del reloj debe ser proporcionada por el propio disco. Para hacer esto, los datos originales se modifican con transiciones adicionales para permitir que la señal del reloj se codifique en los datos y luego use la recuperación del reloj durante las lecturas para recrear la señal original. Algunos controladores requieren que esta codificación se realice externamente, pero la mayoría de los diseños proporcionan codificaciones estándar como FM y MFM .
El controlador también proporciona una serie de otros servicios para controlar el propio mecanismo de accionamiento. Por lo general, estos incluyen el movimiento del cabezal de la unidad para centrarlo sobre las pistas separadas del disco, rastrear la ubicación del cabezal y devolverlo a cero y, a veces, formatear funcionalmente un disco basándose en entradas simples como el número de pistas, sectores por pista y número de bytes por sector.
Para producir un sistema completo, el controlador debe combinarse con circuitos o software adicionales que actúen como puente entre el controlador y el sistema host. En algunos sistemas, como Apple II e IBM PC , esto se controla mediante un software que se ejecuta en el microprocesador principal de la computadora y la interfaz de la unidad se conecta directamente al procesador mediante una tarjeta de expansión . En otros sistemas, como el Commodore 64 y la familia Atari de 8 bits , no existe una ruta directa desde el controlador a la CPU host y se utiliza un segundo procesador como el MOS 6507 o Zilog Z80 dentro de la unidad para este propósito.
El controlador Apple II original tenía la forma de una tarjeta enchufable en la computadora host. Podía admitir dos unidades, y las unidades eliminaban la mayor parte de los circuitos integrados normales. Esto permitió a Apple llegar a un acuerdo con Shugart Associates para obtener una unidad simplificada que carecía de la mayor parte de sus circuitos normales. [4] Esto significaba que el costo combinado de una sola unidad y una tarjeta controladora era aproximadamente el mismo que en otros sistemas, pero se podía conectar una segunda unidad por un costo adicional menor. [ cita necesaria ]
La PC IBM adoptó un enfoque más convencional: su tarjeta adaptadora podía admitir hasta cuatro unidades; en la PC, el acceso directo a la memoria (DMA) a las unidades se realizó utilizando el canal DMA 2 e IRQ 6. El siguiente diagrama muestra un controlador de disquete convencional que se comunica con la CPU a través de un bus de arquitectura estándar industrial (ISA) o un bus similar y se comunica con la unidad de disquete con un cable plano de 34 pines. Una disposición alternativa que es más habitual en diseños recientes incluye el FDC en un chip súper de E/S que se comunica a través de un bus Low Pin Count (LPC).
La mayoría de las funciones del controlador de disquete (FDC) las realiza el circuito integrado , pero algunas las realizan circuitos de hardware externos. La lista de funciones realizadas por cada uno se proporciona a continuación.
El FDC tiene tres puertos de E/S . Estos son:
Los dos primeros residen dentro del FDC IC mientras que el puerto de control está en el hardware externo. Las direcciones de estos tres puertos son las siguientes.
El software utiliza este puerto para tres propósitos diferentes:
El software utiliza este puerto para leer la información de estado general relacionada con el FDC IC y los FDD. Antes de iniciar una operación de disquete, el software lee este puerto para confirmar la condición de preparación del FDC y las unidades de disco para verificar el estado del comando iniciado previamente. Los diferentes bits de este registro representan:
El software utiliza este puerto para controlar ciertas funciones de FDD y FDC IC. Las asignaciones de bits de este puerto son:
Un controlador se conecta a una o más unidades mediante un cable plano, 50 cables para unidades de 8" y 34 cables para unidades de 3,5" y 5,25". Un "cable universal" tiene cuatro conectores de unidad, dos para unidades de 3,5" y 5,25". [24] En la familia de PC IBM y compatibles , se utiliza un giro en el cable para distinguir las unidades de disco por el zócalo al que están conectadas. Todas las unidades se instalan con la misma dirección de selección de unidad establecida, y el giro en el cable intercambia las líneas de selección de la unidad en el zócalo. La unidad que está en el extremo más alejado del cable también tendría una resistencia terminal instalada para mantener la calidad de la señal. [25]
Cuando el controlador y la unidad de disco se ensamblan como un solo dispositivo, como es el caso de algunas unidades de disquete externas, por ejemplo, las unidades de disquete Commodore 1540 y USB, [26] la unidad de disquete interna y su interfaz no cambian, mientras que la El dispositivo ensamblado presenta una interfaz diferente como IEEE-488 , puerto paralelo o USB .
Son posibles muchos formatos de disquetes mutuamente incompatibles; Aparte del formato físico del disco, también es posible que existan sistemas de archivos incompatibles.
[37]
Lados:
Densidad:
Principalmente en Japón hay unidades de disquete de alta densidad de 3,5" que admiten tres modos de formatos de disco en lugar de los dos habituales: 1440 KB (2 MB sin formato), 1,2 MB (1,6 MB sin formato) y 720 KB (1 MB sin formato). Originalmente , los modos de alta densidad para unidades de disquete de 3,5" en Japón sólo admitían una capacidad de 1,2 MB en lugar de la capacidad de 1440 KB que se utilizaba en otros lugares. [38] Mientras que el formato más común de 1440 KB giraba a 300 rpm, los formatos de 1,2 MB giraban a 360 rpm, asemejándose mucho a las geometrías del éter, el formato de 1,2 MB con 80 pistas, 15 sectores por pista y 512 bytes por sector. que anteriormente se encontraban en disquetes de alta densidad de 5,25" o en el formato de 1,2 MB con 77 pistas, 8 sectores por pista y 1.024 bytes por sector que se encontraban anteriormente en disquetes de doble densidad de 8". Las unidades de disquete japonesas posteriores incorporaron soporte para ambos formatos de alta densidad (así como el formato de doble densidad), de ahí el nombre de 3 modos. Algunos BIOS tienen una configuración para habilitar este modo en las unidades de disquete que lo admiten. [39]
La unidad de control contiene un dispositivo de acceso directo en miniatura que proporciona almacenamiento de sólo lectura para respaldo de la lógica de control y almacenamiento de microdiagnósticos no residentes. El medio de grabación es un cartucho de disco económico recubierto de Mylar.
El hardware ya ha agregado 64 palabras (Pista 0, Sector 0) y este microprograma cargará el resto del almacenamiento de control.
En ese momento, todos los controladores de disquete existentes eran de 40 o 50 chips...
el controlador es totalmente compatible con IBM 3740 y 3540 y todo el formateo y deformato se realiza automáticamente dentro del controlador.
También se proporciona una interfaz de host de uso general para una fácil interfaz con sistemas host como minicomputadoras, buses de E/S de microprocesadores, terminales CRT, instrumentos, microprocesadores TTL/MSI, controladores industriales y otros sistemas orientados a bytes.
Western Digital Corporation fue pionera en este campo y, en 1976, comenzó a probar el primer controlador de disquete LSI, el FD1771.
Controlador de disquete CMOS 765B con licencia