本节以MPC8548处理器为例说明HOST主桥在PowerPC处理器中的实现机制,并简要介绍x86处理器系统使用的HOST主桥。如来自HOST主桥1的数据报文可以通过OCeaN直接发向HOST主桥2,而不需要将数据通过SoC平台总线,再进行转发,从而减轻了SoC平台总线的负担。囿于篇幅,本节仅介绍与HOST主桥1相关的寄存器,HOST主桥2使用的寄存器与HOST主桥1使用的寄存器类似。......
2023-10-20
处理器域是指一个处理器系统能够访问的地址空间集合。处理器系统能够访问的地址空间由存储器域和外部设备域组成。其中存储器域地址空间较为简单,而在不同的处理器系统中,外部设备域的组成结构并不相同。如在x86处理器系统中,外部设备域主要由PCI总线域组成,因为大多数外部设备都是挂接在PCI总线[8]上的,而在PowerPC处理器和其他处理器系统中,有相当多的设备与FSB直接相连,而不与PCI总线相连。
本书仅介绍PCI总线域而不对其他外部设备域进行说明。其中存储器域与PCI总线域之间由HOST主桥联系在一起。深入理解这些域的关系是深入理解PCI体系结构的关键所在,实际上这也是理解处理器体系结构的基础。
通过HOST主桥,处理器系统可以将处理器域划分为存储器域与PCI总线域。其中存储器域与PCI总线域彼此独立,并通过HOST主桥进行数据交换。HOST主桥是联系存储器域与PCI总线域的桥梁,是PCI总线域实际的管理者。
有些书籍认为HOST处理器是PCI总线域的管理者,这种说法并不准确。假设在一个SMP处理器系统中,存在4个CPU而只有一个HOST主桥,这4个CPU将无法判断究竟谁是HOST处理器。不过究竟是哪个处理器作为HOST处理器并不重要,因为在一个处理器系统中,是HOST主桥管理PCI总线域,而不是HOST处理器。当一个处理器系统中含有多个CPU时,如果每个CPU都可以访问HOST主桥,那么这些CPU都可以作为这个HOST主桥所管理PCI总线树的HOST处理器。
在一个处理器系统中,CPU所能访问的PCI总线地址一定在存储器域中具有地址映射;而PCI设备能访问的存储器域的地址也一定在PCI总线域中具有地址映射。当CPU访问PCI域地址空间时,首先访问存储器域的地址空间,然后经过HOST主桥转换为PCI总线域的地址,再通过PCI总线事务进行数据访问。而当PCI设备访问主存储器时,首先通过PCI总线事务访问PCI总线域的地址空间,然后经过HOST主桥转换为存储器域的地址后,再对这些空间进行数据访问。
由此可见,存储器域与PCI总线域的转换关系由HOST主桥统一进行管理。有些处理器提供了一些寄存器进行这种地址映射,如PowerPC处理器使用Inbound和Outbound寄存器组保存存储器域与PCI总线域的地址映射关系;而有些处理器并没有提供这些寄存器,但是存储器域到PCI总线域的转换关系依然存在。
HOST主桥进行不同地址域间的数据交换时,需要遵循以下规则。为区别存储器域到PCI总线域的地址映射,下面将PCI总线域到存储器域的地址映射称为反向映射。(www.chuimin.cn)
(1)处理器访问PCI总线域地址空间时,首先需要访问存储器域的地址空间,再通过HOST主桥将存储器地址转换为PCI总线地址,之后才能进入PCI总线域进行数据交换。PCI设备使用的地址空间保存在各自的PCI配置寄存器中,即BAR寄存器中。这些PCI总线地址空间需要在初始化时映射成为存储器域的存储器地址空间,之后处理器才能访问这些地址空间。在有些处理器的HOST主桥中,具有独立的寄存器保存这个地址映射规则,如PowerPC处理器的Outbound寄存器组;而有些处理器,如在x86处理器中,虽然没有这样的寄存器组,但是在HOST主桥的硬件逻辑中仍然存在这个地址转换的概念。
(2)PCI设备访问存储器域时,首先需要访问PCI总线域的地址空间,再通过HOST主桥将PCI总线地址转换为存储器地址,才能穿越HOST主桥进行数据交换。为此处理器需要通过HOST主桥将这个PCI总线地址反向映射为存储器地址。PCI设备不能访问在PCI总线域中没有进行这种反向映射的存储器域地址空间。PowerPC处理器使用Inbound寄存器组存放PCI设备所能访问的存储器空间,而在x86处理器中并没有这样的寄存器组,但是依然存在这个地址转换的概念。
(3)如果HOST主桥不支持Peer-to-Peer传送方式,那么分属不同PCI总线域的PCI设备间不能直接进行数据交换。在32位的PCI总线中,每一个PCI总线域的地址范围都是0x0000-0000~0xFFFF-FFFF,但是这些地址没有直接联系。PCI总线x域上的PCI总线地址0x0000-0000与PCI总线y域上的PCI总线地址0x0000-0000并不相同,而且这两个PCI总线地址经过HOST主桥反向映射后,得到的存储器地址也不相同。
在第2.2节中,将主要以PowerPC处理器为例说明HOST主桥的实现机制,并在第2.2.4节简要说明x86处理器中的南北桥构架。尽管部分读者对PowerPC处理器并不感兴趣,笔者仍然强烈建议读者仔细阅读第2.2节的全部内容。
在PowerPC处理器中,HOST主桥的实现比较完整,尤其是PCI总线域与存储器域的映射关系比较明晰,便于读者准确掌握这个重要的概念。而x86处理器由于考虑向前兼容(backward compatibility),设计中包含了太多的不得已。x86处理器有时不得不保留原设计中的不完美,向前兼容是Intel的重要成就,也是一个沉重的十字架。
有关PCI Express体系结构导读的文章
本节以MPC8548处理器为例说明HOST主桥在PowerPC处理器中的实现机制,并简要介绍x86处理器系统使用的HOST主桥。如来自HOST主桥1的数据报文可以通过OCeaN直接发向HOST主桥2,而不需要将数据通过SoC平台总线,再进行转发,从而减轻了SoC平台总线的负担。囿于篇幅,本节仅介绍与HOST主桥1相关的寄存器,HOST主桥2使用的寄存器与HOST主桥1使用的寄存器类似。......
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
空间域增强的关键在于设计一个合适的映射函数。分段线性灰度变换图3.13 线性灰度变换的映射函数示意图图3.14 三段线性灰度变换的映射函数示意图分段线性灰度变换将整个图像灰度空间分成两段甚至多段,每段分别作线性变换,且斜率不同。......
2023-11-24
②“//{{AFX_MSG”下面的代码,是用来管理以“WM_”开头的Windows消息映射函数的。消息映射函数,就是MFC自动把每个消息分离出来,并关联到一个类成员函数上。它是另一类回调函数,和消息回调映射函数类似。基于以上宏定义,把消息映射关联代码替换成原型后会发现ON_WM_MOUSEMOVE是WM_MOUSEMOVE消息和OnMouseMove成员函数地址的关联。4)解密消息映射宏定义。messageMap结构体主要是建立和处理基类消息和派生类消息之间的关系。......
2023-11-25
1)核心本地类图2-22核心本地类图图2-22中LocalFilterComponentBase,LocalInputComponentBase,LocalOutputComponent Base均与LocalComponentBase是泛化关系;LocalInputComponent,LocalOutputComponent,LocalFilterComponent与LocalComponen......
2023-07-02
形状特征可以分为空间域几何特征和变换域几何特征两个大类。形状的小波表示方式在粗尺度上给出形状的全局信息,在细尺度上给出局部信息。......
2023-06-28
[5]微软规定了一系列PnP设备规范,详见http://www.microsoft.com/whdc/system/pnppwr/pnp/default.mspx。而SCI中断也被称为ACPI中断,下文将详细介绍该中断的实现机制。[11]ACPI 4.0规范的第5.6节APIC Event Programming Model中定义了一系列回调号。[12]在FACP.dsl文件中存放SCI Interrupt使用的中断向量。[13]该函数为ACPICA提供的OS服务层接口函数。[20]如第14.1.3节所示,pci_legacy_init函数在执行过程中需要检查pcibios_scanned参数,当该参数为1时,该函数将直接返回。PCIe设备可以通过INTx中断消息报文,向I/O APIC提交中断请求,详见第6.3.4节。......
2023-10-20
域关系演算以元组变量的分量作为谓词变元的基本对象。在关系数据库中,关系的属性名可以视为域变量。域演算表达式的一般形式为:{t1t2…,tk组成的元组属于关系R。④域关系演算公式的运算符的优先次序为:括号算术比较存在量词、全称量词逻辑非、与、或。......
2023-11-24
相关推荐