When the computer is switched on, AmigaOS interrogates each expansion device in turn and assigns address space as needed. In the case of a memory card, the OS would also add the memory to the available system memory. Autoconfig also supports boot ROMs.
The /CFGIN of the first device is tied to ground. The second device's /CFGIN is controlled by the first device's /CFGOUT, and so on.
In a backplane design such as the Amiga 2000, connecting the /CFGOUT of one slot directly to the /CFGIN of the next would create the problem that an unoccupied slot would break the configuration chain. To solve this, the backplane ORs the /CFGIN and /CFGOUT signals to form the /CFGIN for the next slot (/CFGOUT is pulled low if undriven), which allows empty slots to be bypassed. This requires one 74LS32 (quad OR gate) on the Amiga 2000, which is the only motherboard hardware required by Autoconfig.
Autoconfig was initially how the Amiga2000 (which first sported Zorro II) configured its ZorroII cards. In the A3000 architecture, it was deemed desirable for all enumerable hardware to submit to Autoconfig. It was OS-legal for non-Autoconfig hardware to be completely ignored and this standard was adopted in AmigaOS 3.1.
Autoconfig was inherent to the Zorro II specification and as such required the MC68k data and address bus to be present on each card. A virtual address system, such as PCI, would require a minor revision to Autoconfig as it stood.
Amiga 2000 could address 5 Zorro expansion cards such as RAM expansions, SCSI controllers for hard disks, graphic cards, etc. but the actual standard provided for an unlimited number of different cards. Two of these cards are front end with ISA bus of Amiga 2000, and could be joined with Bridgeboard Amiga Janus Hardware Emulator, which allows Amiga to run PC Intel based software 80286 and 80386 supported by the two Amiga cards.
Zorro III was the 32 bit autoconfiguring slot system of A 3000 and A 4000.
An Amiga's Autoconfig is performed by the OS at boot-time and may not be changed without rebooting. In theory, PCI can change its resource allocation at any time, though both the popular Linux and Windows operating systems do not allow such changes due to architectural limitations in the respective operating systems. Direct PCI hardware (e.g. A PCI card), however, may not be hot-plugged (PCI configuration registers are a separate part of the specification) due to the synchronous arbited nature of the bus. So, PCI can reallocate resources on the fly, which it does when the OS loads and may override BIOS resource allocation, but cannot change the hardware while the system is running. Autoconfig can change the hardware while the system is running but only for the last hardware in the config sequence, or to add a new piece of hardware. Neither Autoconfig nor PCI PnP actually allow this in any considerable operating system.