《PCI Express体系结构导读》随记 —— 第I篇 第2章 PCI总线的桥与配置(4)

发布时间:2024年01月04日

接前一篇文章:《PCI Express体系结构导读》随记 —— 第I篇 第2章 PCI总线的桥与配置(3)

2.1 存储器域与PCI总线域

2.1.3 处理器域内容较多,为了便于理解,余下内容放到本回。

2.1.3 处理器域

在一个处理器系统中,CPU所能访问的PCI总线地址一定在存储器域中具有地址映射;而PCI设备能访问的存储器域的地址也一定在PCI域中具有地址映射

CPU访问PCI域地址空间时,首先访问存储器域的地址空间然后经过HOST主桥转换为PCI总线域的地址再通过PCI总线事务进行数据访问

而当PCI设备访问主存储器时,首先通过PCI总线事务访问PCI总线域的地址空间然后经过HOST主桥转换为存储器域的地址后,再对这些空间进行数据访问

由此可见,存储器域PCI总线域转换关系由HOST主桥统一进行管理有些处理器提供了一些寄存器进行这种地址映射,如PowerPC处理器使用Inbound和Outbound寄存器组保存存储器域和总线域的地址映射关系;而有些处理器则并没有提供这些寄存器,但存储器域到PCI总线域的转换关系依然存在

这里为了加深理解,再次明确一下处理器域、存储器域、PCI总线域以及外部设备域的概念及相互联系。

  • 处理器域

处理器域是指一个处理器系统(处理器系统由一个或多个处理器和外部设备组成)能够访问的地址空间的集合。处理器系统能够访问的地址空间由存储器域和外部设备域组成。也就是说:

处理器域 = 存储器域 + 外部设备域

  • 存储器域

存储器域是CPU域和DRAM域的统称。其中:

CPU域地址空间是指CPU(指处理器内核)所能访问的地址空间集合。

DRAM域地址空间是指DRAM控制器所能访问的地址空间集合。

因此,存储器域包括CPU内部的通用寄存器、存储器映像寻址的寄存器、主存储器空间和外部设备空间。
存储器域 = CPU域 + DRAM域

  • PCI总线域

PCI总线域由PCI设备所能直接访问的地址空间组成。在一个处理器系统中,可能存在多个HOST主桥,因此也就存在多个PCI总线域,即一个HOST主桥对应一个PCI总线域。

  • 外部设备域

类比PCI总线域,外部设备域是指外部设备所能访问的地址空间的集合。

在x86处理器系统中,外部设备域主要由PCI总线域组成,因为大多数外部设备都是挂接在PCI总线上的。尤其是Intel的x86处理器系统,所有的外部设备都使用PCI总线管理。

而在PowerPC处理器和其它处理器系统中则并非如此,有相当多的设备与FSB直接相连,而不与PCI总线相连。

综上,可以得出:

外部设备域 = PCI总线域? ? ? ? ?---> Intel x86处理器系统

外部设备域 >= 或者说约等于 PCI总线域? ? ? ? ?---> AMD x86处理器系统

外部设备域 > 或着说 != PCI总线域? ? ? ? ---> x86外的其它处理器系统

本节内容较多,更多内容请看下回。

文章来源:https://blog.csdn.net/phmatthaus/article/details/135354392
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。