Вы смешиваете яблоки и апельсины в своем сравнении. Декодирование первого адреса обеспечивается компонентом хост-моста в системах с архитектурой PC-AT (*). Это способ использования адресного пространства ввода-вывода процессора Intel для взаимодействия с механизмом пространства конфигурации шины PCI. Он может также использоваться в системе PCIe, , поскольку компонент моста хоста PCIe обеспечивает такой же интерфейс для устройств PCIe. Тем не менее, все ниже хост-моста реализовано совершенно по-разному между PCI и PCIe.
Между тем, вторая схема декодирования, которую вы показали, может использоваться только в блоке отображения памяти, через который PCIe обеспечивает доступ к расширенному пространству конфигурации. И только после того, как этот блок был отображен в физическое адресное пространство системно-зависимым способом.
Так что, хотя они имеют похожую функцию, нет, вы не можете использовать их одинаково. Вы можете:
- Доступ к первым 256 байтам пространства конфигурации любого устройства PCI или PCIe с использованием первого механизма, но вы должны использовать первую схему адресации, ИЛИ
- Доступ ко всему расширенному пространству конфигурации любого устройства PCIe с использованием второго механизма (, включая первые 256 байтов), но затем необходимо использовать вторую схему адресации.
(*) «Пространственный интерфейс ввода-вывода для конфигурации шины PCI через 0xCF8 / 0xCFC» действительно является частью архитектуры Intel / PC-AT. Другие системные архитектуры (например, MIPS) не имеют отдельных адресных пространств ввода / вывода, а разработанные для них мосты хостов имеют разные механизмы для генерации обращений к пространству конфигурации PCIe (или они просто напрямую используют механизм отображения памяти).