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

    文章

    4310

    浏览量

    85836
  • SSD
    SSD
    +关注

    关注

    21

    文章

    2862

    浏览量

    117411

原文标题:什么是PCIe?

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

收藏 人收藏

    评论

    相关推荐

    如何选择适合的PCIe配置

    选择适合的PCIe(Peripheral Component Interconnect Express)配置需要考虑多个因素,包括数据传输需求、设备兼容性、系统性能要求以及预算等。以下是一些建议
    的头像 发表于 11-26 16:10 342次阅读

    PCIe 4.0与3.0的区别 PCIe设备的故障排除方法

    PCIe 4.0与3.0的区别 PCIe(Peripheral Component Interconnect Express)是一种高速计算机总线,用于连接主板和附加卡。PCIe 4.0是PC
    的头像 发表于 11-26 15:12 652次阅读

    pcie扩展槽的使用技巧

    PCIe(Peripheral Component Interconnect Express)扩展槽是一种高速串行计算机扩展总线标准,用于计算机内部硬件组件之间的连接。 1. 了解PCIe插槽
    的头像 发表于 11-13 10:36 580次阅读

    pcie 4.0与pcie 5.0的区别

    随着数据传输需求的日益增长,计算机硬件接口也在不断进化。PCIe(Peripheral Component Interconnect Express)作为连接计算机内部组件的高速串行总线标准,已经
    的头像 发表于 11-13 10:35 2784次阅读

    pcie带宽对计算性能的影响

    在现代计算机系统中,PCI Express(PCIe)接口已经成为连接各种高速设备的标准。从显卡到固态硬盘,再到网络接口卡,PCIe提供了一种高速的数据传输方式。然而,PCIe的带宽并不是无限
    的头像 发表于 11-13 10:33 433次阅读

    如何测试PCIe插槽的速度

    1. 了解PCIe基础知识 PCIe(Peripheral Component Interconnect Express)是一种高速串行计算机扩展总线标准,用于计算机内部硬件组件之间的连接。PCIe
    的头像 发表于 11-06 09:23 1416次阅读

    PCIe 4.0与PCIe 3.0的性能对比

    随着科技的快速发展,计算机硬件也在不断地更新换代。PCI Express(PCIe)作为一种高速串行计算机扩展总线标准,广泛应用于计算机硬件连接,如显卡、固态硬盘等。 1. 带宽对比 PCIe
    的头像 发表于 11-06 09:22 2600次阅读

    PCIe接口的工作原理 PCIe与PCI的区别

    PCI Express(PCIe)是一种高速串行计算机扩展总线标准,主要用于计算机内部硬件设备之间的连接。以下是PCIe接口的工作原理的简要概述: 串行通信 :与传统的并行PCI总线不同,PCIe
    的头像 发表于 11-06 09:19 1299次阅读

    PCIe 5.0 SerDes 测试

    #01 PCIe Gen 5 简介 PCIe 是用于硬盘、固态硬盘 (SSD)、图形卡、Wi-Fi 和内部以太网连接的先进互连 I/O 技术。PCIe 由一组快速、可扩展且可靠的 I/O 标准组成
    的头像 发表于 08-16 09:33 884次阅读
    <b class='flag-5'>PCIe</b> 5.0 SerDes 测试

    PCIe插槽竟然能玩出花样?多个最新PCIe扩展硬盘方式!#PCIe扩展 #PCIe #硬盘盒

    硬盘PCIe
    ICY DOCK硬盘盒
    发布于 :2024年07月11日 17:21:28

    pcie4.0和pcie3.0接口兼容吗

    PCIe 4.0和PCIe 3.0接口在多个方面实现了兼容性,PCIe 4.0和PCIe 3.0接口兼容性问题是一个广泛讨论的话题。 PCIe
    的头像 发表于 07-10 10:12 7112次阅读

    老旧电脑升级,1盘位SATA SSD转PCIe插槽 硬盘抽取盒 #diy电脑 #sata #pcie

    硬盘PCIe
    ICY DOCK硬盘盒
    发布于 :2024年05月23日 17:11:22

    pcie协议规范

    pcie协议
    发表于 05-16 09:09 98次下载

    PCIe可以添加哪些定位手段?PCIe需要的debug设计

    如图所示,PCIe IP作为endpoint与RC对接,用户实现了应用逻辑,与PCIe IP进行交互,交互信号中data格式为TLP报文格式,且交互信号包含相应的控制信号,例如PCIe配置空间和IP相干的配置信号。
    的头像 发表于 02-26 18:19 1351次阅读

    什么是PCIePCIe有什么用途?什么是PCIe通道

    什么是PCIePCIe有什么用途?什么是PCIe通道,x1、x4、x8和x16是什么意思?PCIe 5.0有何不同? PCI-Express(peripheral component
    的头像 发表于 01-30 16:09 2873次阅读