линк на osdev.org не кидайте, я как раз там и читал.
Ок, вот тебе главное оттуда:
Two 32-bit I/O locations are used, the first location (0xCF8) is named CONFIG_ADDRESS, and the second (0xCFC) is called CONFIG_DATA. CONFIG_ADDRESS specifies the configuration address that is required to be accesses, while accesses to CONFIG_DATA will actually generate the configuration access and will transfer the data to or from the CONFIG_DATA register.
-- пишешь в первый порт, к какому адресу в конфиг-спейсе будет доступ, после чего пишешь или читаешь второй порт. В этом состоит механизм доступа #1 на x86.
Понимания чего тебе не хватает?