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

    文章

    4697

    浏览量

    89576
  • SSD
    SSD
    +关注

    关注

    21

    文章

    3061

    浏览量

    121797

原文标题:什么是PCIe?

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    PCIe 5.0市场加速渗透,PCIe 6.0研发到来

    电子发烧友网报道(文/黄晶晶)PCIe 5.0作为新一代高速接口标准,其带宽大幅提升至32 GT/s,相较于PCIe 4.0翻了一番。这种高效的数据传输能力使得PCIe 5.0在处理高质量图像、游戏
    的头像 发表于 01-27 00:03 6219次阅读

    PCIE737】青翼凌云科技基于全高PCIe x8总线的KU115 FPGA高性能硬件加速卡

    PCIE737是一款基于PCIE总线架构的KU115 FPGA的12路光纤通道处理平台,该板卡具有1个PCIe Gen3x8主机接口、3个QSFP+ 40G光纤接口,可以实现3路QSFP+ 40G光纤的数据实时采集、实时缓存与
    的头像 发表于 11-03 16:31 454次阅读
    【<b class='flag-5'>PCIE</b>737】青翼凌云科技基于全高<b class='flag-5'>PCIe</b> x8总线的KU115 FPGA高性能硬件加速卡

    PCIe 8.0规范开发更新!

    电子发烧友网综合报道,近日,PCI-SIG宣布PCI Express 8.0规范的Version 0.3 版本已获得工作组批准,现已向PCI-SIG 会员开放。这标志着PCIe 8.0 规范完成
    的头像 发表于 09-25 09:21 5523次阅读
    <b class='flag-5'>PCIe</b> 8.0规范开发更新!

    加速PCIe 5产品设计和测试

    作者:是德科技设计工程软件全球市场营销总监Roberto Piacentini Filho   关键要点 ● 伴随AI和数据中心领域对硬件的需求水涨船高,PCIe 5.0标准成为一个重要的里程碑
    的头像 发表于 09-22 02:37 1604次阅读
    加速<b class='flag-5'>PCIe</b> 5产品设计和测试

    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 7733次阅读
    <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

    NVMe高速传输之摆脱XDMA设计20: PCIe应答模块设计

    应答模块的具体任务是接收来自PCIe链路上的设备的TLP请求,并响应请求。由于基于PCIe协议的NVMe数据传输只使用PCIe协议的存储器读请求TLP和存储器写请求TLP,应答模块也分别针对两种TLP设置处理引擎来提高并行性和处
    的头像 发表于 08-13 10:43 642次阅读
    NVMe高速传输之摆脱XDMA设计20: <b class='flag-5'>PCIe</b>应答模块设计

    NVMe高速传输之摆脱XDMA设计17:PCIe加速模块设计

    PCIe加速模块负责实现PCIe传输层任务的处理,同时与NVMe层进行任务交互。PCIe加速模块按照请求发起方分为请求模块和应答模块。
    的头像 发表于 08-09 14:38 4582次阅读
    NVMe高速传输之摆脱XDMA设计17:<b class='flag-5'>PCIe</b>加速模块设计

    NVMe高速传输之摆脱XDMA设计17:PCIe加速模块设计

    PCIe加速模块负责实现PCIe传输层任务的处理,同时与NVMe层进行任务交互。如图1所示,PCIe加速模块按照请求发起方分为请求模块和应答模块。请求模块负责将内部请求事务转化为配置管理接口信号或
    发表于 08-07 18:57

    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

    PCIe 7.0 互连— PCIe的尽头会是光吗?

    伴随大语言模型和相关训练系统迅猛增长、对非结构化数据处理的需求急剧上升,市场对算力的需求也是呈指数级增加。PCIe作为计算机和服务器中使用广泛的高速数据传输技术发展迅猛,今年4月份PCI-SIG已经
    的头像 发表于 02-10 10:03 733次阅读
    <b class='flag-5'>PCIe</b> 7.0 互连— <b class='flag-5'>PCIe</b>的尽头会是光吗?

    PCIe插槽开始,ICY DOCK重塑 U.2/U.3 硬盘存储模式 #pcie #硬盘盒

    PCIe
    ICY DOCK硬盘盒
    发布于 :2025年01月17日 17:24:37