1.
PCI的配置空间,其实是一种标准
避免了以前使用跳线,而产生的中断,IO,MEMORY等资源的分配冲突
从而体现了Plug & Play的设计思想
2.
每一个FUNCTION对应一个CONFIGURATION ADDRESS SPACE
3.
PCI-Compatible configuration space一共256 BYTES
前64 BYTES是HEADER
除BRIDGE以外的FUNCTION使用HEADER 0
BRIDGE FUNCTION使用HEADER 1
其余的48 DWORDS包含了可选的PCI CAPABILITY寄存器,例如:
PCIe capability
Power management capability
MSI/MSI-X capability
4.
对于PCIe还有一个扩展的空间,960 DWORDS (256 + 3840 = 4K)
在这个扩展空间中,可以包含如下一些CAPABILITY:
AER
VIRTUAL CHANNEL
DEVICE SERIAL NUMBER
POWER BUDGETING
不同于PCI COMPATILBE空间(前256 BYTES)中的寄存器,可以使用两种方式,LEGACY PCI SOFTWARE与ENHANCED CONFIGURATION ACCESS MECHANISM来访问
扩展空间中的寄存器,只能使用ENHANCED CONFIGURATION ACCESS MECHANISM
补充一下:
这里的LEGACY PCI SOFTWARE,就是通过IO方式访问
而ENHANCED CONFIGURATION ACCESS MECHANISM,则是通过MMIO方式访问
5.
HOST TO PCI BRIDGE (在ROOT COMPLEX中的,建立BUS 0的这个BRIDGE)
《-----以下内容,需要后续确认
不使用LEGACY PCI SOFTWARE与ENHANCED CONFIGURATION ACCESS MECHANISM的任何一种方式去访问
而是在内存空间设立特定的DEVICE-SPECIFIC寄存器,由PLATFORM FIRMWARE来访问
但是HOST TO PCI BRIDGE的配置空间的布局,是TYPE 0的格式的
《-----以上内容,需要后续确认
<------
EP或BRIDGE的配置寄存器,需要IO或MMIO方式来访问,因为,这些地址的寄存器,是EP或BRIDGE上的寄存器,不是通过AXI方式连接的,而是通过PCIE方式连接,所以,需要特殊的访问方式,将访问转化为PCIE的CONFIGURATION REQUEST形式发出去
但RC上的寄存器,是AXI是连接的,所以,CPU可以直接访问,不需要特殊的方式,如PCIE的CONFIGURATION REQUEST
<------
6.
配置空间的读写请求,只能由RC代表PROCESSOR发出
即ROUTING是DOWN STREAM的
NOT PEER TO PEER