0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是PCIe?

UnionMemory忆联 来源:未知 2023-07-04 18:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

PCIe是一种高速串行计算机扩展总线标准,自2003年推出以来,已经成为服务器(Server)和PC上的重要接口。今天为大家简单介绍一下PCIe的发展历史以及它的工作原理


一、PCIe的由来

PCIe接口的全称是Peripheral Component Interconnect Express,原来的名字是“3GIO”,由Intel在2001年提出。PCIe的前身是PCI,PCI 使用的是并行传输方式,有较多的限制,并使用数据包(Packet)进行数据传输,数据报文在发送和接收过程中需要经过务层、数据链路层和物理层多个层次。


PCIe串行总线标准被推出时,旨在替代旧的PCI、PCI-X和AGP总线标准,以实现更高的数据速率并简化系统设计。在交由PCI-SIG(PCI特殊兴趣组织)认证发布后改名为“PCI-Express”,简称“PCI-e”。此后,随着时间的推移PCIe不断改进以适应现代计算机的最新带宽需求。


图1


2021年,PCIe 6.0 规范发布。每通道数据传输速率从PCIe 5.0的32 GT/s翻番至64 GT/s,PCIe 6.0*16通道的带宽高达256 GB/s,除了带宽和效率的提升外,PCIe 6.0还具有更低的延迟,是PCIe技术的又一大飞跃。


二、PCIe链路的常见设备

PCIe采用的是树型拓扑结构, 一般由根复合体(Root Complex),中继器(Repeater),终端设备(Endpoint)等类型的PCIe设备组成。


接下来将讲述PCIe如何通过下图突出显示的典型链路进行初始化和传输。


图2


Root Complex:根复合体是CPU和PCIe总线连接的接口。主要负责存储器域到PCIe总线域的地址转换,随着虚拟化技术的引入,根复合体的功能也越来越复杂。根复合体把来自CPU的request转化成PCIe的4类request(configuration、memory、I/O、message)并发送给下面的设备。


Repeater:中继器是一种信号调节装置,可分为两类:Retimers和Redriver,两者都是常用的PCIe组件,Retimer通过内部时钟重构信号,再恢复后发送出去;Redriver则是通过信号均衡化和预加强等技术,重新加强再发送出去。在图示中,我们将使用PCIe 4.0兼容的Retimers举例。


PCIe Endponit: PCIe终端设备,是PCIe树型结构的末端节点。比如SSD,网卡、GFX卡等等。


图3


三、PCIe链路初始化

在了解PCIe链路是如何建立以及数据如何通过PCIe协议传输之前,我们先了解一下常见PCIe控制信号的功能。


图4


PERST#信号为全局复位信号,由处理器系统提供。处理器系统需要为PCIe插槽和PCIe设备提供该复位信号。PCIe设备使用该信号复位内部逻辑,当该信号有效时,PCIe设备将进行复位操作。


WAKE#和CLKREQ#信号都用于在本文讨论范围之外的低功率状态之间转换。


REFCLK#是PCIe设备开始数据传输的先决条件,PCIe设备通过使用REFCLK#提供的100 MHz外部参考时钟(Refclk),用于协调在两个PCIe设备间的数据传输。


PCIe链路在初始状态时,需要检测对端设备是否存在,然后才能进行链路训练。所有PCIe设备通电并提供参考时钟信号后在每个通道上将拥有接收器检测(Receiver Detection)电路,该电路将允许PCIe设备确定是否有要配对的链路伙伴。假设PCIe Rx检测电路检测到另一个设备,则每个通道将开始以2.5 GT/s的速度进行传输串行数据。


图5


2.5 GT/s是PCIe 1.0采用的数据速率,另外由于PCIe 1.0与任何PCIe设备兼容,因此每个PCIe链路都以相同的链路初始化过程开始。以下图为例,Root Complex、Retimer和Endpoint都以PCIe 1.0的速度开始传输。


图6


在经过PCIe链路初始化后,每个器件开始接收数据并做出响应。PCIe连接开始链路训练过程并进入配置阶段,在该阶段中,由于通道长度变化而导致数据中的任何偏差都能得到校准,PCIe链路的宽度、链路速率、链路翻转和链路极性也在此阶段确定。


图7


当存在多条链路时,则PCIe连接称为PCIe分叉。在示例中,有一个非分叉连接,即所有通道都分配给编号为0的链路。由于Retimer链路分为两部分,其两侧的链路分别进行链路初始化。在确定链路和通道号后,PCIe链路可以进入多种状态。


图8


以进入L0状态举例,这是发送和接收数据与数据包的正常操作状态。到达L0后Root Complex和Endpoint可相互通信,PCIe链路也可转换为多种低功耗状态或另一种链路训练状态。在此不做过多阐述。


图9


四、PCIe链路均衡

当PCIe设备支持PCIe Gen2时,链路速度也会随之提高。如果数据速率为PCIe Gen3或以上,PCIe链路将需要经历额外链路优化过程(称为链路均衡)。


链路均衡以建立设备间稳定的连接为目的。通过调节Tx (传输端)和Rx (接收端)的设置,提高信号质量,使PCIe链路以最稳定且更快的速率传输。由于PCIe在Gen3及以上的每一代均需优化连接,因此链路均衡过程可能发生多次。


例如:若所有PCIe设备为Gen5,则有3次链路均衡过程(第1次:Gen1-Gen3;第2次:Gen3-Gen4;第3次:Gen4-Gen5)。链路均衡通过PCIe 规范中定义的preset值来实现,preset指不同的预过冲(Preshoot)和去加重(De-emphasis)的组合。对于Gen3和Gen4,有11个preset值,即preset0-preset10。对于不同的链路情况,系统要求Rx端发送Tx EQ preset设置请求给Tx端,让其做对应的preset均衡设置;Tx端发送Rx EQ均衡设置,要求Rx端做相应的设置,最终获得一个最优的均衡组合和Rx端的眼图。


图10


Phase0:第1阶段链路均衡涉及上游端口(Upstream port)和下游端口(Downstream port)之间的精确动态协商,下游端口通过向上游设备发送每个通道所需的发送器preset值来开始链路均衡,被称为第0阶段链接均衡。在接收到下游端口的请求后不久,上游端口增加到第3代(Gen3)链路数据速率,并开始使用所需preset将训练序列发送回下游端口。链路速度增加至Gen3(8 GT/s)后,链路均衡过程通过来回发送preset值来协商每个端口的preset配置,从而继续优化链路。


图11


Phase1:为了充分优化链路,以便能够交换训练序列(Training Sequences)并且完成用于精调目的的剩余链路均衡阶段,尽管有出现链路质量差的可能性,相同的训练序列依然会被重复发送,来确保下游端口接收到正确的preset值。


图12


Phase2:在第1阶段链路的误码率实现BER≤10e-4后,进入到Phase 2,随后进一步优化上游端口的preset值,直至获得最优设置,链路的误码率应满足BER ≤ 1E-12。


Phase3:到第3阶段对下游端口执行相同的协商。上游端口通过训练序列发送均衡请求去调整下游端口的preset值,直至获得最优设置,链路的误码率应满足BER ≤ 1e-12。


当Phase3完成后,链路均衡也已完成,此时链路以Gen3的速率进入L0状态,并在该速率进行稳定通信。对于更高的传输速率,PCIe设备必须进行多次链路均衡过程。


图13


然而在某些主板设计中,尤其是那些具有长通道链路的主板,这种信号质量无法实现,可能需要另外的信号调节。在这种情况下,中继器(如Redriver,Retimer)则被用来做信号调节,并在PCIe设备和根复合体之间提供高质量信号。


Union Memory

内容来源:
*TI Precision Labs- What is PCIe?
*The secret to optimizing PCIe high-speed signal transmission – dynamic link equalization


长按识别关注更多忆联资讯



原文标题:什么是PCIe?

文章出处:【微信公众号:UnionMemory忆联】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储
    +关注

    关注

    13

    文章

    4879

    浏览量

    90251
  • SSD
    SSD
    +关注

    关注

    21

    文章

    3147

    浏览量

    122588

原文标题:什么是PCIe?

文章出处:【微信号:UnionMemory忆联,微信公众号:UnionMemory忆联】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    双模PCIE总线授时板卡选型指南、北斗pcie授时卡、pcie授时板卡

    在时间同步技术体系中,PCIe总线授时卡因高带宽、低延迟、高精度的核心优势,成为金融、通信、航空航天等关键领域实现时间统一的核心硬件。相较于传统授时设备来说,PCIe总线凭借串行高速传输特性,可有
    的头像 发表于 04-17 16:54 56次阅读

    请问开发板支持PCIe接口吗?

    开发板支持PCIe接口吗?
    发表于 03-30 08:15

    pcie总线授时时码卡#时统卡 #时码卡 #pcie总线授时 #cpci授时卡

    PCIE总线
    知道点啥
    发布于 :2026年03月24日 14:03:44

    CPCI或pcie总线时统卡# 授时卡# 时统卡# pcie总线授时

    PCIE总线
    知道点啥
    发布于 :2026年03月24日 13:58:59

    PCIE732】光纤卡,具备PCIe接口的万兆光纤卡

    PCIE732 是一款基于 PCIE 总线架构 Kintex UltraScale FPGA 的 2 路 40G 光纤通道适配器,该板卡具有 1 个 PCIe Gen3 x8 主机接 口、2 个
    的头像 发表于 02-05 15:46 321次阅读
    【<b class='flag-5'>PCIE</b>732】光纤卡,具备<b class='flag-5'>PCIe</b>接口的万兆光纤卡

    JH7110 中的 PCIE 器件有什么用途?

    JH7110 中的 PCIE 器件有什么用途?以及如何? 我知道 USB 3.0 设备使用它们。这可能是通过 USB 设备的驱动程序完成的。但是还有哪些设备使用 PCIE 总线呢?它是通过驱动程序代码完成的,还是以某种方式是用户控制的过程?某些设备需要
    发表于 02-05 06:51

    探索TS2PCIE412:高性能PCIe开关的技术剖析

    探索TS2PCIE412:高性能PCIe开关的技术剖析 在当今的电子设备中,PCI Express(PCIe)总线的应用越来越广泛,而PCIe开关作为实现总线复用和扩展的关键组件,其性
    的头像 发表于 01-14 15:00 489次阅读

    PCIe 6.0 SSD主控芯片狂飙!PCIe 7.0规范到来!

      电子发烧友网综合报道,早在2022年1月,PCI-SIG 组织正式发布了 PCIe 6.0 标准,与 PCIe 5.0 相比带宽再次翻倍,达到64 GT / s。   PCIe 6.0×16
    的头像 发表于 09-07 05:41 8565次阅读
    <b class='flag-5'>PCIe</b> 6.0 SSD主控芯片狂飙!<b class='flag-5'>PCIe</b> 7.0规范到来!

    嵌入式接口通识知识之PCIe接口

    1.1 基础概念PCIe的全称是Peripheral Component Interconnect Express,译为外设组件互连扩展总线,是一种高速串行计算机扩展总线标准,用于连接计算机
    发表于 08-21 16:51

    PCIe协议分析仪能测试哪些设备?

    PCIe协议分析仪能测试多种依赖PCIe总线进行高速数据传输的设备,其测试范围覆盖计算、存储、网络及异构计算等多个领域,具体设备类型及测试场景如下:一、核心计算设备 GPU(图形处理器) 测试
    发表于 07-25 14:09

    nvme IP开发之PCIe

    PCIe事务层 PCIe的事务层连接了PCIe设备核心与PCIe链路,这里主要基于PCIe事务层进行了深入讨论与分析。事务层采用TLP传输事
    发表于 05-18 00:48

    nvme IP开发之PCIe

    PCIe 体系结构 常见的PCIe总线系统结构如图1所示,其中主要包含三种设备,分别是根复合体(RootComplex,RC)、Switch 和终端设备(EndPoint,EP)。 图1 PCIe
    发表于 05-17 14:54