Tecnología MOS CIA


El adaptador de interfaz compleja ( CIA ) 6526/8520 era un circuito integrado fabricado por MOS Technology . Sirvió como un controlador de puerto de E / S para la familia de microprocesadores 6502 , proporcionando capacidades de E / S en paralelo y en serie , así como temporizadores y un reloj de hora del día (TOD). El uso más destacado del dispositivo fue en el Commodore 64 y el Commodore 128 (D) , cada uno de los cuales incluía dos chips CIA. Las unidades de disquete Commodore 1570 y Commodore 1571 contenían una CIA cada una. Además, el Amiga Las computadoras domésticas y la disquetera Commodore 1581 emplearon una variante modificada del circuito CIA llamado 8520. El 8520 es funcionalmente equivalente al 6526 excepto por el circuito TOD simplificado .

La CIA tenía dos puertos de E / S paralelos bidireccionales de 8 bits . Cada puerto tenía un registro de dirección de datos correspondiente, que permitía que cada línea de datos se configurara individualmente en modo de entrada o salida. Una lectura de estos puertos siempre devuelve el estado de las líneas individuales, independientemente de la dirección de datos que se haya establecido.

Un registro de desplazamiento bidireccional interno de 8 bits permitió a la CIA manejar E / S en serie . El chip podría aceptar una entrada en serie sincronizada desde una fuente externa y podría enviar una salida en serie sincronizada con uno de los temporizadores programables incorporados. Se generaba una interrupción cada vez que se completaba una transferencia en serie de 8 bits. Fue posible implementar una " red " simple conectando el registro de desplazamiento y las salidas de reloj de varias computadoras juntas. La tasa de bits máxima es de 500 kbit / s para la versión de 2 MHz.

La CIA incorpora una solución a un error en el registro de desplazamiento en serie en el 6522 VIA anterior . Originalmente, la CIA estaba destinada a permitir una comunicación rápida con una unidad de disco, pero al final no se pudo utilizar debido al deseo de mantener la compatibilidad de la unidad de disco con el VIC-20 ; en la práctica, el firmware de la unidad 1541 tuvo que hacerse incluso más lento que su predecesor Vic-20 para solucionar un comportamiento del procesador de video del C64 , que, al dibujar la pantalla, apagaba la CPU durante 40 microsegundos cada 512 microsegundos y en ese intervalo de tiempo No puedo escuchar el autobús, me arriesgo a perder un poco. [1] [2]

Se disponía de dos temporizadores de intervalo programables, cada uno con una precisión de menos de microsegundos . Cada temporizador constaba de un contador regresivo preconfigurable de solo lectura de 16 bits y un pestillo de solo escritura de 16 bits correspondiente . Cada vez que se iniciaba un temporizador, el pestillo del temporizador se copiaba automáticamente en su contador, y el contador disminuía con cada ciclo de reloj hasta el subdesbordamiento, en el que se generaría una interrupción si la CIA estaba configurada para hacerlo.

El temporizador podría funcionar en modo "one-shot", deteniéndose después de subdesbordamiento, o en modo "continuo", recargando el valor del pestillo y comenzando el ciclo del temporizador de nuevo. Además de generar interrupciones, la salida del temporizador también podría conectarse al segundo puerto de E / S.


Configuración de pines del 6526 CIA
A principios de 6526, la CIA todavía estaba en un costoso paquete de cerámica con contactos de oro. Las versiones posteriores se produjeron en envases de plástico más económicos.
CIA MOS 6526A en paquete de plástico
MOS 8520A en un Amiga 1000