PCI Configuration Cycle Generation
之前的文章说过CPU只能通过I/O地址空间访问PCI设备的配置空间,下面就来说说这个访问过程是怎么实现的。
步骤一:CPU向北桥的I/O空间地址端口
(地址为CF8h)生成一个IO写请求
,写入要访问的PCI配置寄存器的地址
。这个PCI配置寄存器地址
中包含了总线号(Bus Number)
、设备号(Device Number)
、功能号(Function Number)
、寄存器位置(Register Pointer,64DW)
,具体格式下图:
步骤二:CPU向北桥I/O空间中的数据端口
(地址为FCFh)发送IO读或者IO写
请求。基于该请求,北桥向地址端口
指定的PCI总线位置发送配置读或者配置写
事务。