Ketika komputer dinyalakan, BIOS atau sistem operasi memeriksa setiap perangkat PCI untuk menanyakan berapa banyak ruang alamat yang diinginkan. Kemudian, ia mengalokasikan ruang yang sesuai dan memberi tahu setiap perangkat PCI di mana ruangnya dimulai, sehingga perangkat PCI dapat menanggapi permintaan baca dan tulis dalam rentang itu.
Pertanyaan saya adalah mengapa semua perangkat perlu dialokasikan blok dari ruang alamat yang sama. Mengapa tidak memberi masing-masing perangkat ruang alamat sendiri?
Pada papan sirkuit tercetak, sudah ada cara "out-of-band" untuk membedakan antara perangkat PCI: jalur IDSEL. Ini adalah apa yang digunakan selama penghitungan PCI, sebelum masing-masing perangkat memiliki ruang yang dialokasikan. Jadi mengapa tidak menggunakannya untuk mengakses post-enumeration juga, dan menyimpan beberapa logika decoding pada perangkat PCI? Apakah itu entah bagaimana lebih lambat, atau sesuatu?