首页 理论教育Montevina平台的PCIExpress体系结构

Montevina平台的PCIExpress体系结构

【摘要】:本章以Montevina平台为例,说明在x86处理器系统中,PCIe体系结构的实现机制。Montevina平台是Intel提供的一个笔记本平台。Montevina平台的拓扑结构如图5-1所示。图5-1 Montevina平台的拓扑结构Montevina平台使用一个虚拟的FSB-to-PCI桥[13]将FSB总线与外部设备分离,这个虚拟PCI桥的上方连接FSB总线,之下连接PCI总线0。在Montevina平台的GMCH和ICH中,所有的外部设备,如存储器控制器,图形控制器等都是虚拟PCI设备,都具有独立的PCI配置空间。

本章以Montevina平台为例,说明在x86处理器系统中,PCIe体系结构的实现机制。Montevina平台是Intel提供的一个笔记本平台。在这个平台中,含有一个Mobile芯片组、Mobile处理器和无线网卡。其中Mobile芯片组包括代号为“Contiga”的GMCH(Graphics and Memory Controller Hub)和ICH9M系列的ICH;Mobile处理器使用代号为“Penryn”的第二代Intel Core2 Duo;无线网卡的代号为“Shirley Peak”(支持WiFi)或者“Echo Peak”(同时支持WiFi和WiMax)。Montevina平台的拓扑结构如图5-1所示。

978-7-111-29822-9-Part02-37.jpg

图5-1 Montevina平台的拓扑结构

Montevina平台使用一个虚拟的FSB-to-PCI桥[13]将FSB总线与外部设备分离,这个虚拟PCI桥的上方连接FSB总线,之下连接PCI总线0。但是从物理信号的角度来看,MCH中的PCI总线0是FSB总线的延伸,因为该PCI总线0依然使用FSB总线的信号,只是连接到这条总线上的设备相当于虚拟PCI设备。在GMCH中,并没有提及这个FSB-to-PCI桥,但是在芯片设计中,存在这个桥片的概念。

从系统软件的角度来看,在PCI总线0上挂接的设备都含有PCI配置寄存器,系统软件将这些设备看做PCI设备,并可以访问这些设备的PCI配置空间。在Montevina平台的GMCH和ICH中,所有的外部设备,如存储器控制器,图形控制器等都是虚拟PCI设备,都具有独立的PCI配置空间。GMCH和ICH之间使用DMI(Direct Management Interface)接口相连,但是DMI接口仅仅是链路级别的连接,并不产生新的PCI总线号,ICH的DMI-to-USB桥和DMI-to-PCIe桥也都属于PCI总线0上的设备。(www.chuimin.cn)

在x86处理器中,MCH包含的虚拟PCI设备优先级较高,而ICH包含的虚拟PCI设备优先级较低。当CPU发起一个PCI数据请求时,MCH的PCI设备将首先在PCI总线0上进行正向译码。如果当前PCI数据请求所使用的地址没有在MCH的PCI设备命中时,DMI接口部件将使用负向译码方式被动地接收这个数据请求,然后通过DMI总线将这个数据请求转发到ICH中。

因此在x86处理器中,MCH[14]集成了一些对带宽要求较高的虚拟PCI设备,如DDR控制器、显卡等。而在ICH中集成了一些低速PCIe端口,和一些速度相对较低的外部设备,如PCI-to-USB桥、LPC总线控制器等。

MCH和ICH包含一些内置的PCI设备,这些设备都具有PCI配置空间,x86处理器可以使用PCI配置周期访问这些PCI配置空间。在MCH和ICH中,PCI总线0是FSB总线的延伸,所以处理器访问这些设备时并不使用PCI总线规定的信号,如FRAME#、TRDY#、IRDY#和IDSEL信号。在MCH和ICH中,有些PCI设备并不是传统意义上的外部设备,而仅是虚拟PCI设备,即使用PCI总线的管理方法统一在一起的设备。

x86处理器使用这些虚拟PCI外设的优点是可以将所有外部设备都用PCI总线统一起来,这些设备使用的寄存器都可以保存在PCI设备的配置空间中,但是使用这种方法在某种程度上容易混淆一些概念,尤其是有关地址空间的概念。例如在处理器体系结构的典型定义中,DDR-SDRAM空间属于存储器域,与其相关的DDR-SDRAM控制器也应该属于存储器域,但是在x86处理器中存储器控制器属于PCI总线域。