PCI——第2章——PCI 总线的桥与配置_pci桥片

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

目录

第 2 章  PCI 总线的桥与配置

2.1 存储器域与PCI总线域

2. 1. 1  CPU 域、 DRAM 域与存储器域

2. 1. 2  PCI 总线域

2. 1. 3  处理器域

2. 2  HOST 主桥

2. 2. 1  PCI 设备配置空间的访问机制

2. 2. 2  存储器域地址空间到 PCI 总线域地址空间的转换

2. 2. 3  PCI 总线域地址空间到存储器域地址空间的转换

2. 2. 4  x86 处理器的 HOST 主桥

2. 3  PCI 桥与 PCI 设备的配置空间

2. 3. 1  PCI 桥

2. 3. 2  PCI Agent 设备的配置空间

2. 3. 3  PCI 桥的配置空间

2. 4  PCI 总线的配置

2. 4. 1  Type 01h 和 Type 00h 配置请求

2. 4. 2  PCI 总线配置请求的转换原则

2. 4. 2  PCI 总线树Bus号的初始化

2. 4. 4  PCI 总线 Device 号的分配

2.5 非透明PCI桥

2. 5. 1  Intel 21555 中的配置寄存器

2. 5. 2  通过非透明桥片进行数据传递

总结

参考文章:


第 2 章  PCI 总线的桥与配置

在 PCI 体系结构中, 含有两类桥, 一类是 HOST 主桥, 另一类是 PCI 桥。 在每一个 PCI 设备中 (包括 PCI 桥) 都含有一个配置空间。 这个配置空间由 HOST 主桥管理, 而 PCI 桥可以转发来自 HOST 主桥的配置访问。 在 PCI 总线中, PCI Agent 设备使用的配置 空间与 PCI 桥使用的配置空间有些差别, 但这些配置空间都是由处理器通过 HOST 主桥 管理的。

2.1 存储器域与PCI总线域

图中的处理器系统由一个 CPU、 一个 DRAM 控制器和两个 HOST 主桥组成。 在这个处 理器系统中, 包含 CPU 域、 DRAM 域、 存储器域和 PCI 总线域地址空间。

2. 1. 1  CPU 域、 DRAM 域与存储器域

严格地讲, CPU 域仅在 CPU 内核中有效。在多数处理器系统中, DRAM 域空间是 CPU 域空间的一部分, 但是也有例外。 比如显 卡控制器可能会借用一部分主存储器空间, 这些被借用的空间不能被 CPU 访问, 而只能被 DRAM 控制器, 更为准确地说是显卡通过 DRAM 控制器访问, 因此这段空间不属于 CPU 域, 严格地讲, 这段空间属于外部设备域。 本书使用存储器域统称 CPU 域与 DRAM 域。

2. 1. 2  PCI 总线域

在 x86 处理器系统中, PCI 总线域是外部设备域的重要组成部分。 实际上在 Intel 的 x86 处理器系统中, 所有的外部设备都使用 PCI 总线管理。PCI 总线域 (PCI Segment) 由 PCI 设备所能直接访问的地址空间组成。

2. 1. 3  处理器域

注意区别处理器域和存储器域。处理器域是指一个处理器系统能够访问的地址空间集合。 处理器系统能够访问的地址空间由存储器域和外部设备域组成。


2. 2  HOST 主桥

2. 2. 1  PCI 设备配置空间的访问机制

PCI 总线规定访问配置空间的总线事务, 即配置读写总线事务, 使用 ID 号进行寻址。 PCI 设备的 ID 号由总线号 ( Bus Number) 、 设备号 ( Device Number) 和功能号 ( Function Number) 组成。

MPC8548 处理器使用 CFG_ADDR 寄存器和 CFG_DATA 寄存器访问 PCI 设备的配置空 间, 其中用 CFG_ADDR 寄存器保存 PCI 设备的 ID 号和寄存器号, 该寄存器的各个字段的详 细说明如下所示。

● Enable 位。 当该位为 1 时, HOST 主桥使能对 PCI 设备配置空间的访问, 当 HOST 处 理器对 CFG_DATA 寄存器进行访问时, HOST 主桥将对这个寄存器的访问转换为 PCI 配置读写总线事务并发送到 PCI 总线上。

● Bus Number 字段记录 PCI 设备所在的总线号。

● Device Number 字段记录 PCI 设备的设备号。 ● Function Number 字段记录 PCI 设备的功能号。

● Register Number 字段记录 PCI 设备的配置寄存器号。

2. 2. 2  存储器域地址空间到 PCI 总线域地址空间的转换

MPC8548 处理器使用 ATMU (Address Translation and Mapping Unit) 寄存器组进行存储器 域到 PCI 总线域, 以及 PCI 总线域到存储器域的地址映射。ATMU 寄存器组由两大组寄存器组 成, 分别为 Outbound 和 Inbound 寄存器组。 其中 Outbound 寄存器组将存储器域的地址转换为 PCI 总线域的地址, 而 Inbound 寄存器组将 PCI 总线域的地址转换为存储器域的地址。

CPU 对存储器域的地址访问, 首先使用 CCB 总线事务, 如果所访问的 地址在 Cache 中命中, 则从 Cache 中直接获得数据, 否则将从存储器域中获取数据。而在绝 大多数情况下, 外部设备使用的地址空间是不可 Cache的, 所以发向 PCI 设备的 CCB 总线事务通常不会与 Cache 进行数据交换。 如果 CCB 总线事务使用的地址在 HOST 主桥的 Outbound 寄存器窗口中命中, HOST 主 桥将接收这个 CCB 总线事务, 并将其转换为 PCI 总线事务之后, 再发送到 PCI 总线上。 MPC8548 处理器的每一个 HOST 主桥都提供了 5 个 Outbound 寄存器窗口来实现存储器域地 址到 PCI 总线域地址的映射, 其映射过程如图 2-4 所示。(书P47)

2. 2. 3  PCI 总线域地址空间到存储器域地址空间的转换

绝大多数操作系统将同一个空间的 PCI 总线域地址和存储器地址设为 相同的值, 但是这两个相同的值所代表的含义不同。

2. 2. 4  x86 处理器的 HOST 主桥

x86 处理器使用南北桥结构连接 CPU 和 PCI 设备。 其中北桥 (North Bridge) 连接快速 设备, 如显卡和内存条, 并推出 PCI 总线, HOST 主桥包含在北桥中。 而南桥 ( South Bridge) 连接慢速设备。

2. 3  PCI 桥与 PCI 设备的配置空间

PCI 设备都有独立的配置空间, HOST 主桥通过配置读写总线事务访问这段空间。 PCI 总线规定了三种类型的 PCI 配置空间, 分别是 PCI Agent 设备使用的配置空间, PCI 桥使用 的配置空间和 Cardbus 桥片使用的配置空间。

2. 3. 1  PCI 桥

PCI 桥的引入使 PCI 总线极具扩展性, 也极大地增加了 PCI 总线的复杂度。

2. 3. 2  PCI Agent 设备的配置空间

E.P56

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

-1715893009900)]

如果你需要这些资料,可以戳这里获取

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值