PCIE——第5章——Montevina 的 MCH 和 ICH

摘要:以Montevina平台为例,说明在x86处理器系统中,PCIe体系结构的实现机制

第 5 章  Montevina 的 MCH 和 ICH

GMCH ( Graphics and Memory Controller Hub):图形和内存控制器集线器

 GMCH 和 ICH 之间使用 DMI(Direct Management Interface)接口相连,MCH集成了一些对带宽要求较高的虚拟 PCI 设备, 如 DDR 控 制器、 显卡等。 而在 ICH 中集成了一些低速 PCIe 端口, 和一些速度相对较低的外部设备, 如 PCI⁃to⁃USB 桥、 LPC 总线控制器等。

5. 1  PCI 总线 0 的 Device 0 设备

我觉得这一节简单浏览一下就可以,需要看的时候再回头来看

Device0除了要管理存储器域地址还要管理DDR SDRAM。

5. 2  Montevina 平台的存储器空间的组成结构

在 Montevina 平台中包含一个 Mobile 处理器、 MCH、 ICH 和一个无线网卡 适配器组成。

Montevina 平台使用的地址空间由存储器域地址空间和 PCI 总线域地址空间组成。

Montivina 平台除了具有存储器域、 PCI 总线域之外, 还存在一个 DRAM 域。

在 Montevina 平台中, DRAM 域地址空间并不能与存储器域地址空间完全对应。

 Legacy地址空间是x86一直都有的,大小1MB

GFX (显卡控制器) 借用的空间:1-64MB,CPU不能访问这段空间

TSEG 空间:这段空间的大小为 1 MB ~ 8 MB。 这段空间仅在 CPU 进入 SMM 模式时, 才 能够被 CPU 访问。

小于 4 GB 的操作系统可用内存空间:在 Montevina 平台中, 如果主存储器的大小超过 4 GB, 那么这段物理空间将被分为三段 供操作系统使用, 分别是小于 4 GB 的空间、 大于 4 GB 的空间和 Reclaim 空间。 如图 5-2 所示, 这几段空间在存储器域中的地址并不连续。

.OS Invisible Reclaim 空间:这段地址存储器域的地址相同,当处理器使能 Reclaim 机制 (也称为 Remapping 机制) 后, CPU 才能访问这段地址空间。

大于 4 GB 的操作系统可用空间:这段空间在存储器域和 DRAM 域中的地址相等, 只有实际的物理内存大于 4 GB 时, 存 储器域和 DRAM 域中才有这段空间。

ME (Manageability Engine) ⁃UMA 借用的空间:其大小为 1 ~ 64 MB。 其基地址为 TOM 寄存器中的值减去 ME⁃UMA 借用空间的大小。 由 于 TOM 寄存器中的值需要 64 MB 对界, 因此有时在其下会出现一个 0 ~ 63 MB 大小的空洞。 这段空洞是被浪费的空间, 除了 DRAM 控制器可以访问这段空间外, 在处理器系统中的其 他部件均不能访问这段空间。

在 x86 处理器系统中, 除了具有 DRAM 域地址空间外, 还具有 PCI 地址空间。 CPU 访 问这些地址空间时, 需要进行地址转换, CPU 访问 DRAM 域时, 需要进行存储器域地址空间到 DRAM 域地址空间的转换;

5. 3  存储器域的 PCI 总线地址空间

 由图 5-2 可知, Montevina 平台中存储器域的 PCI 总线地址空间分为 TOLUD ~ 4 GB 和 TOUUD ~ 64 GB 这两段空间。

5. 3. 1  PCI 设备使用的地址空间

 5. 3. 2  PCIe 总线的配置空间

x86 处理器使用了两种机制访问 PCIe 设备的扩展配置空间。 首先 x86 处理器提供了两个 I / O 端口寄存器, CONFIG_ADDRESS 和 CONFIG_DATA 寄存器, 使用这两个寄存器访问 EP 配置空间的方法与访问 PCI 设备类似, 详见第 2. 2. 4 节。 然而这两个寄存器只能访问 PCI 设 备的基本配置空间, 即 PCIe 设备配置空间的前 256 个字节, 而之后的扩展配置空间需要通过 ECAM 方式进行访问。

使用 ECAM 机制与使用 CONFIG_ADDRESS 和 CONFIG_DATA 这对寄存器, 间接访问 PCIe 设备的配置空间有较大的不同。 ECAM 机制是一种直接寻址方式, 在 x86 处理器系统 中, 只有使用 ECAM 方式才可以访问 PCIe 设备的扩展配置空间。

Montevina 平台使用 256 MB 物理空间映射 PCI 设备的配置寄存器, 因为在 Montevina 平 台中有一棵 PCI 总线树, 因此最多具有 256 条 PCI 总线, 每一条 PCI 总线最多可以挂接 32 个 PCI 设备, 每一个设备最多有 8 个 Function, 而在每一个 Function 中最大的 PCI 总线配置 寄存器空间为 4 KB。

虽然采用 ECAM 方式可以访问之前使用 CONFIG_DATA 和 CONFIG_ADDRESS 寄存器不 能访问的 PCI 扩展配置寄存器空间, 但是也带来了一些问题。 在一个处理器系统中, 同一条 PCI 总线上的 Device Number 不一定连续, 而且在多数 PCI 设备中也不会有 8 个 Function, 这 将造成 PCIEXBAR 空间会留有许多空洞。 虽然 Montevina 平台提供了 256 MB 的 PCIe 设备使 用的配置空间, 但是这些空间的实际利用率较低。 PowerPC 处理器也可以使用 ECAM 方式映射 PCI 配置空间, 如 MPC8548 处理器可以使 用 PCIe 桥中的 Outbound 寄存器 ( PEXOWARn) 将 PCI 配置空间映射到存储器域。 此外 PowerPC 处理器还可以使用 PEX _CFG _DATA 和 PEX _CFG _ADDR 这两个寄存器访问

总结

简单的理解一下Montevina平台

参考文章:

PCI_Express_体系结构导读——王齐

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值