系列文章目录
文章目录
- 系列文章目录
- 术语
- 第Ⅰ篇 PCI 体系结构概述
- 第 1 章 PCI 总线的基本知识
- 1. 1 PCI 总线的组成结构
- 1. 1. 1 HOST 主桥
- 1. 1. 2 PCI 总线
- 1. 1. 3 PCI 设备
- 1. 1. 4 HOST 处理器
- 1. 1. 5 PCI 总线的负载
- 1. 2 PCI 总线的信号定义
- 1. 2. 1 地址和数据信号
- 1. 2. 2 接口控制信号
- 1. 2. 3 仲裁信号
- 1. 2. 4 中断请求等其他信号
- 1. 3 PCI 总线的存储器读写总线事务
- 1. 3. 1 PCI 总线事务的时序
- 1. 3. 2 Posted 和 Non⁃Posted 传送方式
- 1. 3. 3 HOST 处理器访问 PCI 设备
- 1. 3. 4 PCI 设备读写主存储器
- 1. 3. 5 Delayed 传送方式
- 1. 4 PCI 总线的中断机制
- 1. 4. 1 中断信号与中断控制器的连接关系
- 1. 4. 2 中断信号与 PCI 总线的连接关系
- 1. 4. 3 中断请求的同步
- 1. 5 PCI⁃X 总线简介
- 1. 5. 1 Split 总线事务
- 1. 5. 2 总线传送协议
- 1. 5. 3 基于数据块的突发传送
- 1. 6 小结
- 第 2 章 PCI 总线的桥与配置
- 2. 1 存储器域与 PCI 总线域
- 2. 1. 1 CPU 域、 DRAM 域与存储器域
- 2. 1. 2 PCI 总线域
- 2. 1. 3 处理器域
- 2. 2 HOST 主桥
术语
PCI (Peripheral Component Interconnect),外围组件互连
PC ( Personal Computer),个人电脑
ISA ( Industry Standard Architecture),工业标准架构
EISA ( Extended Industry Standard Architecture ),扩展工业标准体系结构
VESA ( Video Electronics Standards Association),视频电子标准协会
MCA (Micro Channel Architecture),微信架构
IAL ( Intel Architecture Lab),英特尔体系架构实验室
USB (Universal Serial Bus),USB(通用串行总线)
AGP (Accelerated Graphics Port),AGP(访问图形端口)
PCB ( Printed Circuit Board),PCB(印刷电路板)
PCISIG ( PCI Special Interest Group),PCISIG (PCI特殊利益集团)
PCMCIA ( Personal Computer Memory Card International Association),国际个人计算机存储卡协会
PCI Express 总线简称为 PCIe 总线
PCI⁃to⁃PCI 桥简称为 PCI 桥
PCI Express⁃to⁃PCI 桥简称为 PCIe 桥
Host⁃to⁃PCI 主桥简称为 HOST 主桥,许多书籍将 HOST 主桥称为 PCI 主桥或者 PCI 总线控制器
BAR ( Base Address Register), 基本地址寄存器
第Ⅰ篇 PCI 体系结构概述
第 1 章 PCI 总线的基本知识
(1) PCI 总线空间与处理器空间隔离
(2) 可扩展性
(3) 动态配置机制
(4) 总线带宽
(5) 共享总线机制
(6) 中断机制
1. 1 PCI 总线的组成结构
1. 1. 1 HOST 主桥
HOST 主桥是一个很特别的桥片, 其主要功能是隔离处理器系统的存储器域与处理器系统的 PCI 总线域, 管理 PCI 总线域, 并完成处理器与 PCI 设备间的数据交换。
1. 1. 2 PCI 总线
在处理器系统中, 含有 PCI 总线和 PCI 总线树这两个概念。
1. 1. 3 PCI 设备
在 PCI 总线中有三类设备: PCI 主设备、 PCI 从设备和桥设备。其中 PCI 从设备只能被动地接收来自 HOST 主桥或者其他 PCI 设备的读写请求; 而 PCI 主设备可以通过总线仲裁获得 PCI 总线的使用权, 主动地向其他 PCI 设备或者主存储器发起存储器读写请求。 而桥设备的主要作用是管理下游的 PCI 总线, 并转发上下游总线之间的总线事务。
一个 PCI 设备可以既是主设备也是从设备, 但是在同一个时刻, 这个 PCI 设备或者为主设备或者为从设备。PCI 总线规范将 PCI 主从设备统称为 PCI Agent 设备。
1. 1. 4 HOST 处理器
PCI 总线规定在同一时刻内, 在一棵 PCI 总线树上有且只有一个 HOST 处理器。 这个 HOST 处理器可以通过 HOST 主桥, 发起 PCI 总线的配置请求总线事务, 并对 PCI 总线上的设备和桥片进行配置。
在 PCI 总线中, HOST 处理器是一个较为模糊的概念。 在 SMP ( symmetric multiprocessing) 处理器系统中, 所有 CPU 都可以通过 HOST 主桥访问其下的 PCI 总线树, 这些 CPU 都 可以作为 HOST 处理器。 但是值得注意的是, PCI 总线树的实际管理者是 HOST 主桥, 而不 是 HOST 处理器。
1. 1. 5 PCI 总线的负载
PCI 总线能挂接的负载与总线频率相关, 其中总线频率越高, 能挂接的负载越少。
1. 2 PCI 总线的信号定义
PCI 总线是一条共享总线, 在一条 PCI 总线上可以挂接多个 PCI 设备。 这些 PCI 设备通 过一系列信号与 PCI 总线相连, 这些信号由地址/ 数据信号、 控制信号、 仲裁信号、 中断信 号等多种信号组成。
1. 2. 1 地址和数据信号
在 PCI 总线中, 与地址和数据相关的信号如下所示。
-
AD[31∶ 0]信号
PCI 总线复用地址与数据信号。 PCI 总线事务在启动后的第一个时钟周期传送地址, 这 个地址是 PCI 总线域的存储器地址或者 I / O 地址; 而在下一个时钟周期传送数据㊀ 。 传送地 址的时钟周期也被称为地址周期, 而传送数据的时钟周期也被称为数据周期。 PCI 总线支持 突发传送, 即在一个地址周期之后, 可以紧跟多个数据周期。 -
PAR 信号
PCI 总线使用奇偶校验机制, 保证地址和数据信号在进行数据传递时的正确性。 PAR 信号是 AD[31∶ 0]和 C / BE[3∶ 0]的奇偶校验信号。 PCI 主设备在地址周期和数据周期中, 使用 该信号为地址和数据信号线提供奇偶校验位。 -
C / BE[3∶ 0] #信号
PCI 总线复用命令与字节选通引脚。
1. 2. 2 接口控制信号
1. 2. 3 仲裁信号
1. 2. 4 中断请求等其他信号
1. 3 PCI 总线的存储器读写总线事务
总线的基本任务是实现数据传送, 将一组数据从一个设备传送到另一个设备, 当然总线 也可以将一个设备的数据广播到多个设备。 在处理器系统中, 这些数据传送都要依赖一定的 规则, PCI 总线并不例外。
PCI 总线支持以下几类存储器读写总线事务。
- HOST 处理器对 PCI 设备的 BAR 空间进行数据读写, BAR 空间可以使用存储器或 者 I / O 译码方式。
- PCI 设备之间的数据传递。
- PCI 设备对主存储器进行读写, 即 DMA 读写操作。
1. 3. 1 PCI 总线事务的时序
1. 3. 2 Posted 和 Non⁃Posted 传送方式
1. 3. 3 HOST 处理器访问 PCI 设备
HOST 处理器对 PCI 设备的数据访问主要包含两方面内容, 一方面是处理器向 PCI 设备 发起存储器和 I / O 读写请求; 另一方面是处理器对 PCI 设备进行配置读写。
在 PCI 设备的配置空间中, 共有 6 个 BAR 寄存器。 每一个 BAR 寄存器都与 PCI 设备使用的一组 PCI 总线地址空间对应, BAR 寄存器记录这组地址空间的基地址。 本书将与 BAR 寄存器对应的 PCI 总线地址空间称为 BAR 空间, 在 BAR 空间中可以存放 I / O 地址空间, 也 可以存放存储器地址空间。
1. 3. 4 PCI 设备读写主存储器
PCI 设备与存储器直接进行数据交换的过程也被称为 DMA。
值得注意的是, PCI 设备进行 DMA 操作时, 使用的目的地址是 PCI 总线域的物理地址, 而不是存储器域的物理地址, 因为 PCI 设备并不能识别存储器域的物理地址, 而仅能识别 PCI 总线域的物理地址。
HOST 主桥负责完成 PCI 总线地址到存储器域地址的转换。 HOST 主桥需要进行合理设 置, 将存储器的地址空间映射到 PCI 总线之后, PCI 设备才能对这段存储器空间进行 DMA 操作。 PCI 设备不能直接访问没有经过主桥映射的存储器空间。
1. 3. 5 Delayed 传送方式
1. 4 PCI 总线的中断机制
1. 4. 1 中断信号与中断控制器的连接关系
1. 4. 2 中断信号与 PCI 总线的连接关系
1. 4. 3 中断请求的同步
1. 5 PCI⁃X 总线简介
1. 5. 1 Split 总线事务
1. 5. 2 总线传送协议
1. 5. 3 基于数据块的突发传送
1. 6 小结
本章主要介绍了 PCI 总线的基本组成部件, PCI 设备如何提交中断请求, 以及 PCI⁃X 总 线对 PCI 总线的功能增强。 本章的重点在于 PCI 总线的 Posted 和 Non⁃Posted 总线事务, 以及 PCI 总线如何使用 Delayed 传送方式处理 Non⁃Posted 总线事务, 请读者务必深入理解这两种 总线事务的不同。
第 2 章 PCI 总线的桥与配置
在 PCI 体系结构中, 含有两类桥, 一类是 HOST 主桥, 另一类是 PCI 桥。 在每一个 PCI 设备中 (包括 PCI 桥) 都含有一个配置空间。 这个配置空间由 HOST 主桥管理, 而 PCI 桥可以转发来自 HOST 主桥的配置访问。 在 PCI 总线中, PCI Agent 设备使用的配置 空间与 PCI 桥使用的配置空间有些差别, 但这些配置空间都是由处理器通过 HOST 主桥 管理的。
2. 1 存储器域与 PCI 总线域
在一个处理器系统中, 存储器域、 PCI 总线域与 HOST 主桥的关系如图 2-1 所示。
2. 1. 1 CPU 域、 DRAM 域与存储器域
CPU 域地址空间指 CPU 所能直接访问的地址空间集合。 在本书中, CPU、 处理器与处 理器系统的概念不同。 如 MPC8548 处理器的内核是 E500 V2 , 本书将这个处理器内核称为 CPU; 处理器由一个或者多个 CPU、 外部 Cache、 中断控制器和 DRAM 控制器组成; 而处理器系统由一个或者多个处理器和外部设备组成。
2. 1. 2 PCI 总线域
2. 1. 3 处理器域
处理器域是指一个处理器系统能够访问的地址空间集合。 处理器系统能够访问的地址空间由存储器域和外部设备域组成。
HOST 主桥进行不同地址域间的数据交换时, 需要遵循以下规则。 为区别存储器域到 PCI 总线域的地址映射, 下面将 PCI 总线域到存储器域的地址映射称为反向映射。
- 处理器访问 PCI 总线域地址空间时, 首先需要访问存储器域的地址空间, 再通 过 HOST 主桥将存储器地址转换为 PCI 总线地址, 之后才能进入 PCI 总线域进行数据交换。
- PCI 设备访问存储器域时, 首先需要访问 PCI 总线域的地址空间, 再通过 HOST 主
桥将 PCI 总线地址转换为存储器地址, 才能穿越 HOST 主桥进行数据交换。 - 如果 HOST 主桥不支持 Peer⁃to⁃Peer 传送方式, 那么分属不同 PCI 总线域的 PCI 设 备间不能直接进行数据交换。
2. 2 HOST 主桥
☆