本文是根据PCIe EXpress体系结构导图,进行输出的,只是给自己看看仅此而已。
为了方便和外部设备沟通,PCI被选为处理器系统的局部总线。处理器和cache、主存器之间是使用别的总线(BUS)。处理器的cache共享一致性和数据完整性、以及如何与处理器进行数据交换等一系列问题,将会作为讨论重点。
PCI的特点
1. PCI总线空间与处理器空间隔离
PCI设备具有独立的地址空间,PCI总线地址空间。PCI总线地址空间通过HOST桥和外部联系。为了解决因处理器总线和PCI总线的工作频率不同而导致交流的失败,在HOST桥中含有许多缓冲。不仅如此主桥的存在使得PCI设备和处理器可以共享主存设备资源。
需要注意的是,PCI总线地址和处理器访问的存储地址是不同的。处理器访问PCI设备和PCI设备访问存储器都是需要地址转换的。
经过上述讨论,我们可以看到HOST主桥在PCI总线与处理器核心部件的沟通方面,起到了不可或缺的作用。
2.可扩展性
我们都知道PCI总线上可以再次去挂在PCI总线,以HOST桥可形成PCI总线树。一共最多可以挂载256个。同一条PCI线上的设备可以直接通信,不会去影响别的PCI总线。跨PCI线需要PCI桥进行数据转发。在PCI桥的配置空间中存在一系列管理PCI总线子树的配置寄存器,这个PCI桥在PCI树中会有很多个。
3. 动态配置
PCI设备的地址是可以根据系统软件动态分配的(这里感觉和linux设备驱动书中描述有关系)。每个PCI设备都有独立的配置空间(计算是不是准备好了一块映射空间来针对这一点),在每个PCI设备使用的物理地址并不相同。PCI桥下的配置空间中含有PCI子树所能使用的地址范围。
4.总线带宽
不关心这个
5. 共享总线机制
PCI设备通过仲裁PCI总线的使用权后,才能进行数据传送,并不需要处理器进行干预。这个PCI仲裁器一般都在PCI桥或者HOST主桥中,或者可以用PCI总线仲裁器。一条总线上所有PCI设备共享同一条带宽。
6.中断机制
PCI总线上的设备可以通过四根中断请求信号向处理器提出中断,PCI配置空间中记录了这个四条中断信号所代表的信息。