Autoconfig


Autoconfig es un protocolo de configuración automática de las computadoras Amiga que está destinado a asignar recursos automáticamente a los dispositivos de expansión sin la necesidad de configurar los puentes . [1] Es análoga a la configuración PCI a través de ACPI . [2] [3]

Autoconfig está integrado dentro del firmware Kickstart de Amiga , generalmente almacenado en ROM . Cuando el sistema está encendido, AmigaOS interroga a cada dispositivo de expansión por turno y asigna espacio de direcciones o recursos según sea necesario. Por ejemplo, en el caso de una tarjeta de memoria, el sistema operativo puede agregar dinámicamente la memoria al sistema. A través de Autoconfig, el sistema operativo puede acceder al firmware en los dispositivos de expansión, por ejemplo, para arrancar desde un disco conectado a un controlador de disco duro.

Los dispositivos de expansión responden a ciertas direcciones de memoria fija comenzando en hexadecimal 0xE8 0000 (o 0xFF00 0000 para Zorro III ) si la señal / CFGIN está activada y el dispositivo aún no está configurado. La CPU lee fragmentos de información de configuración (generalmente proporcionada por un PAL ) como la identificación del fabricante, la identificación del producto y la cantidad de espacio de direcciones que requiere el dispositivo. Luego, la CPU escribe una dirección de memoria base en el dispositivo (o le dice que se "apague" si por alguna razón no se puede configurar), y el dispositivo afirma / CFGOUT.

El / CFGIN del primer dispositivo está conectado a tierra. El / CFGIN del segundo dispositivo está controlado por / CFGOUT del primer dispositivo, y así sucesivamente.

En un diseño de backplane como el Amiga 2000 , conectar el / CFGOUT de una ranura directamente al / CFGIN de la siguiente crearía el problema de que una ranura desocupada rompería la cadena de configuración. Para resolver esto, el backplane ORs las señales / CFGIN y / CFGOUT para formar / CFGIN para la siguiente ranura (/ CFGOUT se baja si no se maneja), lo que permite omitir las ranuras vacías. Esto requiere un 74LS32 (puerta O cuádruple) en el Amiga 2000, que es el único hardware de placa base requerido por Autoconfig. [4]

Autoconfig es parte de la especificación del bus de expansión Zorro II y Zorro III para configurar dispositivos de expansión en sistemas Amiga. Zorro II se utilizó por primera vez en el Amiga 2000, aunque hay un bus de expansión similar en el Amiga 1000 . Zorro II es una extensión relativamente sencilla del autobús 68000 . [5] Autoconfig requiere que el bus de direcciones y datos 68000 esté disponible para todos los dispositivos en el bus. En teoría, un sistema de direcciones virtuales, como se usa en PCI , requeriría una revisión menor de Autoconfig.