1. PCIe设备BAR空间的初始化:
PCIe设备进行数据传输之前,系统软件使用DFS算法遍历并完成BAR0~BAR5寄存器初始化,即分配这些设备在PCI总线域的地址空间,之后,PCI设备可以使用PCI总线地址进行数据传递;BAR0~5寄存器保存的都是PCI设备的地址空间,x86处理器中,没有存储器域和PCI总线域地址空间的转换机制,两个域的地址相等,也是一种简单映射,地址隔离的概念仍然存在;假设在一个32位处理器中,其存储器域的0xF000-0000~0xF7FF-FFFF总共128M的物理地址空间与PCI总线的地址空间映射;当处理器访问这段存储器地址空间,HOST主桥认领这个存储器访问,并将其使用的物理地址空间转换为PCI总线地址空间,并与PCI总线地址空间0xF000-0000~0xF7FF-FFFF对应;
Read More