Configuración automática

Autoconfig es un mecanismo para la asignación automática (sin necesidad de instalar puentes ) de recursos de hardware para dispositivos de expansión de la computadora Amiga . Mucho más tarde, esta característica se implementó en otras plataformas ( Amiga 500 con soporte Autoconfig apareció en 1987 , y la primera versión del bus PCI apareció en 1992 ), el soporte de protocolo a nivel de sistema operativo se denominó Plug and Play .

En el momento en que se enciende la computadora, AmigaOS sondea secuencialmente cada dispositivo conectado y le asigna un rango de direcciones en el espacio de direcciones de la memoria de la computadora . En los casos en que el dispositivo sea una tarjeta de expansión de memoria, AmigaOS adjunta la nueva memoria disponible a la memoria existente en el sistema. Además, Autoconfig admite el arranque desde ROM .

Protocolo

Cada ranura de expansión (y por tanto cada tarjeta instalada en ella) está equipada con dos señales: /CFGIN y /CFGOUT (el símbolo "/" significa que se utiliza la lógica inversa y el nivel activo de la señal es el cero lógico).

Si la línea /CFGOUT de un slot está inactiva, se considera que la tarjeta instalada en ese slot no está configurada.

Las líneas /CFGIN de todas las ranuras de expansión (excepto la línea /CFGIN de la primera ranura) se suben al nivel inactivo. Por lo tanto, después del encendido, se considera que todas las tarjetas de expansión no están configuradas.

Si la entrada /CFGIN de la tarjeta está activa, mientras que la salida /CFGOUT no está activa, entonces la tarjeta “responde” a las llamadas al área de memoria a partir de la dirección $E80000 (o $FF000000 para el bus Zorro III) (a tipo de análogo del espacio de configuración en el bus PCI ). Es decir, el estado en el que la entrada de la tarjeta /CFGIN está activa y la salida /CFGOUT no está activa corresponde al modo de configuración.

La configuración del dispositivo comienza configurando la línea /CFGIN en el estado activo. A continuación, se realizan los pasos de configuración necesarios (lectura de información sobre la tarjeta de expansión y configuración de direcciones). Una vez completada la configuración, se le indica a la tarjeta que configure /CFGOUT en el estado activo (también se da la instrucción para configurar /CFGOUT en el estado activo si no es posible configurar completamente el dispositivo y el sistema operativo desea dejar de configurar el dispositivo). tarjeta actual y pasar a configurar la siguiente).

Las señales /CFGIN y /CFGOUT de las ranuras de expansión están conectadas en cadena: /CFGOUT de la primera ranura está conectada a /CFGIN de la segunda, /CFGOUT de la segunda a /CFGIN de la tercera , y así sucesivamente. la línea de la primera ranura y /CFGOUT de la última están conectados al controlador del sistema. Así, después de la configuración de la última tarjeta de expansión, el controlador del sistema será notificado de que no quedan tarjetas de expansión que requieran configuración. Este enfoque tiene una ventaja: no hay límite en el número de tarjetas que participan en la configuración. Sin embargo, si la cadena se interrumpe (por ejemplo, no hay ninguna tarjeta de expansión instalada en una de las ranuras), el proceso de configuración se bloquea (el controlador del sistema no puede esperar a que la línea /CFGOUT de la última ranura de expansión se configure como activa). estado). La solución al problema fue instalar el chip 74LS32 (cuatro elementos OR de dos entradas) y subir las líneas /CFGOUT de todas las ranuras de expansión al nivel activo. Este chip se convirtió en la única pieza de hardware requerida para que Autoconfig funcione correctamente .

Comparación con PCI

Aunque la implementación del protocolo Autoconfig es más simple que PCI , proporciona la misma funcionalidad de configuración automática de dispositivos. El bus PCI proporciona acceso aleatorio a dispositivos configurables (serial en Autoconfig ), y como resultado, el modelo de programación del mecanismo de configuración se vuelve más complicado, y también hay un límite en la cantidad de dispositivos (para más detalles, consulte la descripción del ciclo de configuración del bus PCI tipo 0 ) .

Aunque la implementación de Autoconfig es más simple y la cantidad de dispositivos conectados es ilimitada, Autoconfig tiene un inconveniente: los dispositivos solo se pueden configurar secuencialmente y solo una vez (hasta que se reinicia la computadora).

Véase también

Enlaces