系列文章目录
PCI Express 体系结构导读摘录(一)
PCI Express 体系结构导读摘录(二)
PCI Express 体系结构导读摘录(三)
文章目录
术语
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 传送方式
PCI 总线规定了两类数据传送方式, 分别是 Posted 和 Non⁃Posted 数据传送方式。 其中使用 Posted 数据传送方式的总线事务也被称为 Posted 总线事务; 而使用 Non⁃Posted 数据传送方式的总线事务也被称为 Non⁃Posted 总线事务。
其中 Posted 总线事务指 PCI 主设备向 PCI 目标设备进行数据传递时, 当数据到达 PCI 桥后, 即由 PCI 桥接管来自上游总线的总线事务, 并将其转发到下游总线。 采用这种数据传送方式, 在数据还没有到达最终的目的地之前, PCI 总线就可以结束当前总线事务, 从而在一定程度上解决了 PCI 总线的拥塞问题。
而 Non⁃Posted 总线事务是指 PCI 主设备向 PCI 目标设备进行数据传递时, 数据必须到达最终目的地之后, 才能结束当前总线事务的一种数据传递方式。
显然采用 Posted 传送方式, 当这个 Posted 总线事务通过某条 PCI 总线后, 就可以释放 PCI 总线的资源; 而采用 Non⁃Posted 传送方式, PCI 总线在没有结束当前总线事务时必须等待。 这种等待将严重阻塞当前 PCI 总线上的其他数据传送, 因此 PCI 总线使用 Delayed 总线事务处理 Non⁃Posted 数据请求, 使用 Delayed 总线事务可以相对缓解 PCI<