处理器系统能够访问的地址空间由存储器域和外部设备域组成。通过HOST主桥,处理器系统可以将处理器域划分为存储器域与PCI总线域。有些书籍认为HOST处理器是PCI总线域的管理者,这种说法并不准确。在第2.2节中,将主要以PowerPC处理器为例说明HOST主桥的实现机制,并在第2.2.4节简要说明x86处理器中的南北桥构架。在PowerPC处理器中,HOST主桥的实现比较完整,尤其是PCI总线域与存储器域的映射关系比较明晰,便于读者准确掌握这个重要的概念。......
2023-10-20
本节以MPC8548处理器为例说明HOST主桥在PowerPC处理器中的实现机制,并简要介绍x86处理器系统使用的HOST主桥。
MPC8548处理器是Freescale基于E500 V2内核的一个PowerPC处理器,该处理器中集成了DDR控制器、多个eTSEC(Enhanced Three-Speed Ethernet Controller)、PCI/PCI-X和PCIe总线控制器等一系列接口。MPC8548处理器的拓扑结构如图2-2所示。
图2-2 MPC8548处理器的拓扑结构
图中,MPC8548处理器的L1 Cache在E500 V2内核中,而L2 Cache与FSB[9]直接相连,不属于E500内核。值得注意的是有些高端PowerPC处理器的L2 Cache也在CPU中,而L3Cache与CCB总线直接相连。
在MPC8548处理器中,所有外部设备,如以太网控制器、DDR控制器和OCeaN连接的总线控制器都与SoC平台总线[10]直接连接。而SoC平台总线通过Cache共享一致性模块与FSB连接。
在MPC8548处理器中,具有一个32位的PCI总线控制器、一个64位的PCI/PCI-X总线控制器,还有多个PCIe总线控制器。MPC8548处理器使用OCeaN连接这些PCI、PCI-X和PCIe总线控制器。在MPC8548处理器系统中,PCI设备进行DMA操作时,首先通过OCeaN,之后经过SoC平台总线到达DDR控制器。
OCeaN是MPC8548处理器中连接快速外设使用的交叉互连总线,不仅可以连接PCI、PCI-X和PCIe总线控制器,而且可以连接RapidIO[11]总线控制器。使用OCeaN进行互连的总线控制器可以直接通信,而不需要通过SoC平台总线。(www.chuimin.cn)
如来自HOST主桥1的数据报文可以通过OCeaN直接发向HOST主桥2,而不需要将数据通过SoC平台总线,再进行转发,从而减轻了SoC平台总线的负担。OCeaN部件的拓扑结构如图2-3所示。
图2-3 MPC8548处理器的HOST主桥
在MPC8548处理器中,有两个HOST主桥,分别是HOST主桥1和HOST主桥2,其中HOST主桥1可以支持PCI-X总线,而HOST主桥2只能支持PCI总线。此外该处理器还含有多个PCIe总线控制器。
本节仅介绍HOST主桥,即MPC8548处理器中的PCI总线控制器,而不介绍该处理器的PCIe总线控制器。因为从软件层面上看,MPC8548处理器的PCIe总线控制器与PCI/PCI-X总线控制器功能类似。
MPC8548处理器即可以作为PCI总线的HOST处理器,也可以作为PCI总线的从设备,本节仅讲述MPC8548处理器如何作为PCI总线的HOST处理器管理PCI总线树,而并不关心MPC8548处理器作为从设备的情况。
在MPC8548处理器的HOST主桥中,定义了一系列与系统软件相关的寄存器。本节将通过介绍这些寄存器,说明这个HOST主桥的功能。囿于篇幅,本节仅介绍与HOST主桥1相关的寄存器,HOST主桥2使用的寄存器与HOST主桥1使用的寄存器类似。
有关PCI Express体系结构导读的文章
处理器系统能够访问的地址空间由存储器域和外部设备域组成。通过HOST主桥,处理器系统可以将处理器域划分为存储器域与PCI总线域。有些书籍认为HOST处理器是PCI总线域的管理者,这种说法并不准确。在第2.2节中,将主要以PowerPC处理器为例说明HOST主桥的实现机制,并在第2.2.4节简要说明x86处理器中的南北桥构架。在PowerPC处理器中,HOST主桥的实现比较完整,尤其是PCI总线域与存储器域的映射关系比较明晰,便于读者准确掌握这个重要的概念。......
2023-10-20
Intel采用的南北桥架构针对x86处理器的应用领域而设计,并不能说采用这种结构一定比MPC8548处理器中既含有HOST-to-PCI主桥也含有HOST-to-PCIe主桥更为合理。x86处理器使用这两个I/O端口访问PCI设备的配置空间。本书将在第5章以HOST-to-PCIe主桥为例,详细介绍Intel处理器的存储器地址与PCI总线地址的转换关系,而在本节不对x86处理器的HOST主桥做进一步说明。x86处理器系统的升级速度较快,目前在x86的处理器体系结构中,已很难发现HOST主桥的身影。......
2023-10-20
HOST处理器对PCI设备的数据访问主要包含两方面内容,一方面是处理器向PCI设备发起存储器和I/O读写请求;另一方面是处理器对PCI设备进行配置读写。HOST处理器访问PCI设备I/O地址空间的过程,与访问存储器地址空间略有不同。处理器必须通过HOST主桥将存储器域的数据访问转换为PCI总线事务才能对PCI总线地址空间进行访问。......
2023-10-20
IA处理器使用VT-d技术将PCI总线域的物理地址转换为HPA地址。在IA处理器系统中,所有的外部设备都是PCI设备。IA处理器使能VT-d机制后,PCI设备进行DMA操作需要根据Bus、Device和Function号确定Context Entry,之后使用图13-4所示的方法完成PCI总线地址到HPA地址的转换。为了加快PCI总线地址到HPA地址的转换速度,IA处理器分别为Root Entry和Context Entry设置了Context Cache以加快Context Entry的获取速度,同时还设置了IOTLB加速PCI总线地址到HPA地址的转换速度。......
2023-10-20
在多细胞生物体中,每一个细胞与整体、与其他细胞之间不断地发生信息联络,信息联络主要是通过各种各样的化学分子来传递的。受体也是镶嵌在细胞膜上的蛋白颗粒。在药物治疗学上,有些“受体抑制剂”正是利用受体的这一特性,让药物去冒充特定的化学分子与受体结合,达到调整细胞生理活动的目的。受体是重要的药物作用靶点。如果一种药物作用于受体引起兴奋性效应,这种药物叫作受体激动剂;如果发生抑制效应,叫作受体抑制剂。......
2023-11-03
从地址转换的角度来看,IOMMU与MMU较为类似。只是IOMMU完成的是外部设备地址到存储器地址的转换。在这个IOMMU中,同样存在IO页表存放虚实地址转换关系和访问权限,而且处理器为了加速这种虚实地址的转换,还设置了IOTLB作为IO页表的Cache。目前设置IOMMU的主要作用是支持虚拟化技术,当然使用IOMMU也可以实现其他功能,如使“仅支持32位地址的PCI设备”访问4GB以上的存储器空间。......
2023-10-20
而接收逻辑RX处于Electrical Idle状态时,其DC共模输入阻抗必须在PCIe总线规范要求的范围内。如果在“Electrical Idle Exit detector”部件没有正常工作之前,发送逻辑TX就退出Electrical Idle状态,对端的接收逻辑RX将不能检查到这个状态变化,从而导致错误。值得注意的是,这种推断出的Idle状态并不等同于Electrical Idle状态。PCIe总线通过上表判断而得出的Idle状态称为Logical Idle状态。Electrical Idle状态是PCIe链路的相对静止状态,使用的功耗较低。......
2023-10-20
系统软件使用CFG_ADDR和CFG_DATA寄存器访问PCI设备的配置空间,而使用INT_ACK寄存器访问挂接在PCI总线上的中断控制器的中断向量,HOST主桥这3个寄存器的地址偏移和属性如表2-1所示。当该位为1时,HOST主桥使能对PCI设备配置空间的访问,当HOST处理器对CFG_DATA寄存器进行访问时,HOST主桥将对这个寄存器的访问转换为PCI配置读写总线事务并发送到PCI总线上。下面以源代码2-1为例说明PowerPC处理器如何访问PCI配置空间。......
2023-10-20
相关推荐