PCIe基础知识文档.docx





《PCIe基础知识文档.docx》由会员分享,可在线阅读,更多相关《PCIe基础知识文档.docx(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、PCIe基础知识文档 PCIe 总线的基础学问 与 PCI 总线不同,PCIe 总线运用端到端的连接方式,在一条 PCIe 链路的两端只能各连接一个设备,这两个设备互为是数据发送端和数据接收端。PCIe 总线除了总线链路外,还具有多个层次,发送端发送数据时将通过这些层次,而接收端接收数据时也运用这些层次。PCIe总线运用的层次结构与网络协议栈较为类似。4.1.1 端到端的数据传递 PCIe 链路运用端到端的数据传送方式,发送端和接收端中都含有 TX(发送逻辑)和 RX(接收逻辑),其结构如图 4-1 所示。 由上图所示,在 PCIe 总线的物理链路的一个数据通路(Lane)中,由两组差分信号,
2、共 4 根信号线组成。其中发送端的 TX 部件与接收端的 RX 部件运用一组差分信号连接,该链路也被称为发送端的发送链路,也是接收端的接收链路;而发送端的 RX 部件与接收端的 TX 部件运用另一组差分信号连接,该链路也被称为发送端的接收链路,也是接收端的发送链路。一个 PCIe 链路可以由多个 Lane 组成。高速差分信号电气规范要求其发送端串接一个电容,以进行 AC 耦合。该电容也被称为 AC耦合电容。PCIe 链路运用差分信号进行数据传送,一个差分信号由 D+和 D-两根信号组成,信号接收端通过比较这两个信号的差值,推断发送端发送的是逻辑1还是逻辑0。与单端信号相比,差分信号抗干扰的实力
3、更强,因为差分信号在布线时要求等长、 等宽、贴近,而且在同层。因此外部干扰噪声将被同值而且同时加载到 D+和 D-两根信号上,其差值在志向状况下为 0,对信号的逻辑值产生的影响较小。因此差分信号可以运用更高的总线频率。此外运用差分信号能有效抑制电磁干扰 EMI(Electro Magnetic Interference)。由于差分信号 D+与 D-距离很近而且信号幅值相等、极性相反。这两根线与地线间耦合电磁场的幅值相等,将相互抵消,因此差分信号对外界的电磁干扰较小。当然差分信号的缺点也是自不待言的,一是差分信号运用两根信号传送一位数据;二是差分信号的布线相对严格一些。PCIe 链路可以由多条
4、Lane 组成,目前 PCIe 链路可以支持 1、2、4、8、12、16 和 32 个 Lane,即×1、×2、×4、×8、×12、×16 和×32 宽度的 PCIe 链路。每一个 Lane 上运用的总线频率与 PCIe 总线运用的版本相关。第 1 个 PCIe 总线规范为 V1.0,之后依次为 V1.0a,V1.1,V2.0 和 V2.1。目前 PCIe 总线的最新规范为 V2.1,而 V3.0 正在开发过程中,预料在 2022 年发布。不同的 PCIe 总线规范所定义的总线频率和链路编码方式并不相同,如表
5、4-1 所示。表 4-1 PCIe 总线规范与总线频率和编码的关系 PCIe 总线规范 总线频率11 单 Lane 的峰值带宽 编码方式 1.x 1.25GHz 2.5GT/s 8/10b 编码 2.x 2.5GHz 5GT/s 8/10b 编码 3.0 4GHz 8GT/s 128/130b 编码 如上表所示,不同的 PCIe 总线规范运用的总线频率并不相同,其运用的数据编码方式也不相同。PCIe 总线 V1.x 和 V2.0 规范在物理层中运用 8/10b 编码,即在 PCIe 链路上的 10 bit中含有 8 bit 的有效数据;而 V3.0 规范运用 128/130b 编码方式,即在
6、PCIe 链路上的 130 bit中含有 128 bit 的有效数据。由上表所示,V3.0 规范运用的总线频率虽然只有 4GHz,但是其有效带宽是 V2.x 的两倍。下文将以 V2.x 规范为例,说明不同宽度 PCIe 链路所能供应的峰值带宽,如表 4-2 所示。表 4-2 PCIe 总线的峰值带宽 PCIe 总线的数据位宽 ×1 ×2 ×4 ×8 ×12 ×16 ×32 峰值带宽(GT/s) 5 10 20 40 60 80 160 由上表所示,×32 的 PCIe 链路可以供应 160GT/s
7、的链路带宽,远高于 PCI/PCI-X 总线所能供应的峰值带宽。而即将推出的 PCIe V3.0 规范运用 4GHz 的总线频率,将进一步提高 PCIe链路的峰值带宽。在 PCIe 总线中,运用 GT(Gigatransfer)计算 PCIe 链路的峰值带宽。GT 是在 PCIe 链路上传递的峰值带宽,其计算公式为总线频率×数据位宽×2。在 PCIe 总线中,影响有效带宽的因素有许多,因而其有效带宽较难计算,这部分内容详见第 8.4.1 节。尽管如此,PCIe 总线供应的有效带宽还是远高于 PCI 总线。PCIe 总线也有其弱点,其中最突出的问题是传送延时。PCIe 链
8、路运用串行方式进行数据传送,然而在芯片内部,数据总线仍旧是并行的,因此 PCIe链路接口须要进行串并转换,这种串并转换将产生较大的延时。除此之外 PCIe 总线的数据报文须要经过事务层、数据链路层和物理层,这些数据报文在穿越这些层次时,也将带来延时。本书将在第 8.4 节具体探讨 PCIe 总线的延时与带宽之间的联系。在基于 PCIe 总线的设备中,×1 的 PCIe 链路最为常见,而×12 的 PCIe 链路极少出现,×4和×8 的 PCIe 设备也不多见。Intel 通常在 ICH 中集成了多个×1 的 PCIe 链路用来连接低速
9、外设,而在 MCH 中集成了一个×16 的 PCIe 链路用于连接显卡限制器。而 PowerPC 处理器通常能够支持×8、×4、×2 和×1 的 PCIe 链路。PCIe 总线物理链路间的数据传送运用基于时钟的同步传送机制,但是在物理链路上并没有时钟线,PCIe 总线的接收端含有时钟复原模块 CDR(Clock Data Recovery),CDR 将从接收报文中提取接收时钟,从而进行同步数据传递。值得留意的是,在一个 PCIe 设备中除了须要从报文中提取时钟外,还运用了 REFCLK+和REFCLK-信号对作为本地参考时钟,这个信号
10、对的描述见下文。4.1.2 PCIe 总线运用的信号 PCIe 设备运用两种电源信号供电,分别是 Vcc 与 Vaux,其额定电压为 3.3V。其中 Vcc 为主电源,PCIe 设备运用的主要逻辑模块均运用 Vcc 供电,而一些与电源管理相关的逻辑运用Vaux 供电。在 PCIe 设备中,一些特别的寄存器通常运用 Vaux 供电,如 Sticky Register,此时即使 PCIe 设备的 Vcc 被移除,这些与电源管理相关的逻辑状态和这些特别寄存器的内容也不会发生变更。在 PCIe 总线中,运用 Vaux 的主要缘由是为了降低功耗和缩短系统复原时间。因为 Vaux 在多数状况下并不会被移除
11、,因此当 PCIe 设备的 Vcc 复原后,该设备不用重新复原运用 Vaux供电的逻辑,从而设备可以很快地复原到正常工作状状态。PCIe 链路的最大宽度为×32,但是在实际应用中,×32 的链路宽度极少运用。在一个处理器系统中,一般供应×16的PCIe插槽,并运用PETp015、PETn015和PERp015、PERn015共 64 根信号线组成 32 对差分信号,其中 16 对 PETxx 信号用于发送链路,另外 16 对 PERxx信号用于接收链路。除此之外 PCIe 总线还运用了下列协助信号。1 PERST#信号 该信号为全局复位信号,由处理器系统供应
12、,处理器系统须要为 PCIe 插槽和 PCIe 设备供应该复位信号。PCIe 设备运用该信号复位内部逻辑。当该信号有效时,PCIe 设备将进行复位操作。PCIe 总线定义了多种复位方式,其中 Cold Reset 和 Warm Reset 这两种复位方式的实现与该信号有关,详见第 4.1.5 节。2 REFCLK+和 REFCLK-信号 在一个处理器系统中,可能含有很多 PCIe 设备,这些设备可以作为 Add-In 卡与 PCIe 插槽连接,也可以作为内置模块,与处理器系统供应的 PCIe 链路干脆相连,而不须要经过 PCIe插槽。PCIe 设备与 PCIe 插槽都具有 REFCLK+和 R
13、EFCLK-信号,其中 PCIe 插槽运用这组信号与处理器系统同步。在一个处理器系统中,通常采纳专用逻辑向 PCIe 插槽供应 REFCLK+和 REFCLK-信号,如图 4-2 所示。其中 101Mhz 的时钟源由晶振供应,并经过一个一推多的差分时钟驱动器生成多个同相位的时钟源,与 PCIe 插槽一一对应连接。PCIe 插槽须要运用参考时钟,其频率范围为 101MHz±300ppm。处理器系统须要为每一个PCIe 插槽、MCH、ICH 和 Switch 供应参考时钟。而且要求在一个处理器系统中,时钟驱动器产生的参考时钟信号到每一个 PCIe 插槽(MCH、ICH 和 Swith
14、)的距离差在 15 英寸之内。通常信号的传播速度接近光速,约为 6 英寸/ns,由此可见,不同 PCIe 插槽间 REFCLK+和REFCLK-信号的传送延时差约为 2.5ns。当 PCIe 设备作为 Add-In 卡连接在 PCIe 插槽时,可以干脆运用 PCIe 插槽供应的 REFCLK+和 REFCLK-信号,也可以运用独立的参考时钟,只要这个参考时钟在 101MHz±300ppm 范围内即可。内置的 PCIe 设备与 Add-In 卡在处理 REFCLK+和 REFCLK-信号时运用的方法类似,但是 PCIe 设备可以运用独立的参考时钟,而不运用 REFCLK+和 REF
15、CLK-信号。在 PCIe 设备配置空间的 Link Control Register 中,含有一个Common Clock Configuration位。当该位为 1 时,表示该设备与 PCIe 链路的对端设备运用同相位的参考时钟;假如为 0,表示该设备与 PCIe 链路的对端设备运用的参考时钟是异步的。在 PCIe 设备中,Common Clock Configuration位的缺省值为 0,此时 PCIe 设备运用的参考时钟与对端设备没有任何联系,PCIe 链路两端设备运用的参考时钟可以异步设置。这个异步时钟设置方法对于运用 PCIe 链路进行远程连接时尤为重要。在一个处理器系统中,假如
16、运用 PCIe 链路进行机箱到机箱间的互连,因为参考时钟可以异步设置,机箱到机箱之间进行数据传送时仅须要差分信号线即可,而不须要参考时钟,从而极大降低了连接难度。3 WAKE#信号 当 PCIe 设备进入休眠状态,主电源已经停止供电时,PCIe 设备运用该信号向处理器系统提交唤醒恳求,使处理器系统重新为该 PCIe 设备供应主电源 Vcc。在 PCIe 总线中,WAKE#信号是可选的,因此运用 WAKE#信号唤醒 PCIe 设备的机制也是可选的。值得留意的是产生该信号的硬件逻辑必需运用协助电源 Vaux 供电。WAKE#是一个 Open Drain 信号,一个处理器的全部 PCIe 设备可以将
17、 WAKE#信号进行线与后,统一发送给处理器系统的电源限制器。当某个 PCIe 设备须要被唤醒时,该设备首先置 WAKE#信号有效,然后在经过一段延时之后,处理器系统起先为该设备供应主电源 Vcc,并运用 PERST#信号对该设备进行复位操作。此时 WAKE#信号须要始终保持为低,当主电源 Vcc 上电完成之后,PERST#信号也将置为无效并结束复位,WAKE#信号也将随之置为无效,结束整个唤醒过程。PCIe 设备除了可以运用 WAKE#信号实现唤醒功能外,还可以运用 Beacon 信号实现唤醒功能。与 WAKE#信号实现唤醒功能不同,Beacon 运用 In-band 信号,即差分信号 D+
18、和 D-实现唤醒功能。Beacon 信号 DC 平衡,由一组通过 D+和 D-信号生成的脉冲信号组成。这些脉冲信号宽度的最小值为 2ns,最大值为 16us。当 PCIe 设备打算退出 L2 状态(该状态为 PCIe设备运用的一种低功耗状态)时,可以运用 Beacon 信号,提交唤醒恳求。4 SMCLK 和 SMDAT 信号 SMCLK 和 SMDAT 信号与 x86 处理器的 SMBus(System Mangement Bus)相关。SMBus 于 11015年由 Intel 提出,SMBus 由 SMCLK 和 SMDAT 信号组成。SMBus 源于 I2C 总线,但是与 I2C总线存在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PCIe 基础知识 文档

限制150内