pcie5.0协议阅读-第一章

1、概述

PCIe是一个高性能串行传输总线、采用高速差分信号传输,PCIe支持电源管理、热插拔、数据检查与纠错以及Qos服务质量管理。

1.1第三代IO互联技术

第三代I/O互联技术应该满足:
(1)支持更细化的应用场景
(2)低成本、高产量
(3)多种平台互联,支持芯片级以及板级互联
(4)多种机械形式
(5)兼容PCI软件模型
(6)低延迟、高带宽、可扩展
(7)支持电源管理、Qos等先进功能
(8)能够进行数据检查和纠错

1.2 PCIe连接

PCIe是全双工通信,即允许在同一时间、同时进行数据的发送和接收。一个link由两条低压查分信号驱动,在link两侧同时存在一对tx、rx。

PCIe link包含的链路为了实现数据快速传输,使用一种编码方式实现数据时钟的恢复与训练。
信号速率:一旦初始化,每条lane在该速率下进行传输,PCIe5.0支持单条通道32GT/s的传输速率。
32GT/s指的是单条lane每秒可以传输32G个bit,而因为编码方式的不同,并不是所有的数据传输都有效。
一个PCIe link最高支持x32的lane传输,通常有x1、x2、x4、x8、x12、x16以及x32几种形式。多条通道能够增加link的传输速率。

1.3 PCIe拓扑结构

一个PCIe拓扑结构包含的部分有RC、switch、EP以及PCIe到PCI/PCI-X桥组成,所有这些之间的连接都是PCIe link。

1.3.1RC(Root complex)
RC是连接CPU系统与IO的根,支持一个或者多个PCIe接口,每个接口都定义了一个单独的层次结构域。每个层次结构域可以由单个端点或包含一个或多个交换机组件和端点的子层次结构组成。
一个RC应该遵循:
(1)作为请求方发起配置请求
(2)作为请求方发起I/O请求
(3)允许RC对所选根端口的80h和84h位置中的任何一个或两个位置生成I/O请求,而不考虑该根端口的PCI-Bridge I/O解码配置;建议仅在特别需要时启用此机制。
(4)RC不能作为线程锁机制的完成者。
(5)RC被允许支持作为请求者生成锁定请求。(误触发锁定而进入锁定访问模式)
1.3.2EP(Endpoints)
EP指的是PCIe事务的请求者或完成者,也可以代表不同的非PCI Express设备(PCI设备或host CPU除外)。分为legacy(使用PCI接口的设备)、标准PCIe设备或集成在RC上的EP(RCiEP)。
1.3.2.1legacy EP 规则
(1)必须支持00h类型空间头配置功能
(2)必须支持作为完成者发起配置请求
(3)必须支持作完成者发起I/O请求
(4)允许接受80h和84h位置中的任何一个或两个位置的I/O请求,而不考虑该端点的I/O解码配置。
(5)能够产生I/O请求
(6)不能发起已锁定的请求
(7)实现扩展配置空间功能,但是可能会被软件忽略
(8)作为内存事务的请求者,不需要能够产生4GB以上的地址。
(9)如果请求了中断资源,则需要一个legacy EP来支持MSI或MSI-X或两者都支持。如果实现了MSI,则允许一个legacy EP来支持MSI能力结构的32位或64位消息地址版本。
(10)允许legacy EP通过32位寻址发起内存资源请求
(11)必须出现在由RC发起的一个层次结构域中。
1.3.2.2PCIe EP规则
(1)必须支持00h类型空间头配置
(2)必须支持作为完成者发起配置请求
(3)不能依赖于通过BAR(基地址)分配的I/O资源
(4)不能产生I/O请求
(5)不支持作为完成者或者作为请求方产生已lock请求,必须写入符合PCIE的软件驱动程序和应用程序,以防止在访问PCIE端点时使用锁定语义。
(6)一个作为内存事务的请求者进行操作的PCIe EP必须能够生成大于4 GB的地址。
(7)果请求中断资源,则需要PCIe端点来支持MSI或MSI-X或两者都支持。,如果实现了MSI,则PCIe EP必须支持MSI能力结构的64位消息地址版本。
(8)通过BAR请求内存资源的PCIe EP端点必须设置BAR的可预取位,除非该范围包含具有读取副作用的位置或函数不允许写合并的位置。
(9)对于PCIe EP,必须为具有可预取位集的所有BAR支持64位寻址。所有没有预取位集的BAR都允许32位寻址。
(10)BAR请求的最小内存地址范围为128字节。
(11)必须出现在由根复合体发起的其中一个层次结构域中。
1.3.2.3RCiEP(RC integrated EP)规则
(1)RCiEP是实现在一个包含root端口的RC内部逻辑
(2)必须支持00h类型空间头配置
(3)必须支持作为完成者发起配置请求
(4)不能通过BAR申请I/O资源
(5)不支持作为完成者或者作为请求方产生已lock请求,必须写入符合PCIE的软件驱动程序和应用程序,以防止在访问PCIE端点时使用锁定语义。
(6)作为内存事务的请求者进行操作的RCiEP必须能够生成等于或大于主机作为完成者能够处理的地址。
(7)如果请求使用中断资源,则需要使用RCiEP来支持MSI或MSI-X,或两者都支持。如果实现了MSI,则允许RCiEP支持MSI能力结构的32位或64位消息地址版本。
(8)允许RCiEP支持请求内存资源的基本地址寄存器的32位寻址。
(9)RCiEP不能在PCI Express扩展功能中实现链路功能、链路状态、链路控制、链路功能2、链路状态2和链路控制2寄存器。
(10)如果RCiEP与可选的RC事件收集器相关联,则它必须通过RC事件收集器发出PME和错误条件的信号。
(11)RCiEP不能与多个RC事件收集器关联。
(12)RCiEP不实现激活状态电源管理。
(13)RCiEP可能不是独立于整个RC的热插拔。
(14)RCiEP不能出现在RC公开的任何层次结构域中。
(15)RCiEP不能出现在switch中。
1.3.3Switch
Switch提供扩展或聚合能力,并允许更多的设备连接到一个PCle端口。它们充当包路由器,根据地址或其他路由信息识别给定包需要走哪条路径,内部主要包含PCI-PCI的桥。

(1)switch可以软件配置成两个或者两个以上的PCI-PCI桥。
(2)交换机使用PCI桥机制转发事务
(3)除本文档中提到的情况外,switch必须在任何端口集之间转发所有类型的事务层数据包(TLP)
(4)必须支持第6.5节中规定的锁定请求。不需要switch来支持下游端口作为已锁定请求的启动端口。
(5)每个已启用的交换机端口都必须符合本文档中的流量控制规范。
(6)Switch不允许将一个包分割成更小的包,例如,一个具有256字节有效载荷的单个包不能被分成两个每个128字节有效载荷的包。
(7)当在同一虚拟通道上发生竞争时,可以使用循环或加权循环来实现switch的入口端口(入站链接)之间的仲裁。
1.3.4RC事件收集器
(1)支持终止来自RCIEP的错误和PME消息
(2)遵循RCiEP的所有规则
(3)不需要解码任何内存和I/O资源
(4)通过设备类型\端口值进行标识
(5)位于RC总线上,允许一个RC有多个RC事件收集器
(6)有基类08h、子类07h和可编程接口00h。
(7)通过RC事件收集器端点关联扩展能力显式声明受支持的rciep。
(8)是可选项
1.3.5PCIe到PCI/PCI-X桥
PCIIxpress到PCI/PCI-X Bridge提供了PCI Express结构和PCI/PCI-X层次结构之间的连接。

1.4 用于发现、配置和操作的硬件/软件模型

PCI/PCIe硬件/软件模型包括发现、配置和使用函数所需的体系结构构造,而不需要特定于函数的知识。关键要素包括:
(1)一种为系统软件提供发现系统中可用的硬件功能的方法的配置模型
(2)为内存空间和中断等可寻址资源执行基本资源分配的机制
(3)启用/禁用对接收到的请求的功能响应的控制,并启动请求
(4)定义良好的排序和流程控制模型,以支持硬件/软件接口的一致的实现
PCI Express配置模型支持两种机制:
(1)PCI兼容的配置机制:PCI兼容的机制支持与传统的PCI感知操作系统及其相应的总线枚举和配置软件具有100%的二进制兼容性。
(2)PCI Express增强配置机制:提供增强机制可增加可用配置空间的大小并优化访问机制。
每个PCI Express链路通过一个虚拟PCI到PCI桥结构进行映射,并具有与之相关联的逻辑PCI总线。虚拟PCI到PCI桥结构可以是PCI Express RC端口、switch上游端口或者下游端口的一部分。Root端口是一个虚拟的PCI到PCI桥结构,它从PCI Express RC生成PCI Express层次结构域。设备被映射到配置空间中,以便每个设备都将响应一个特定的设备ID。

1.5 PCIe分层概述

和大多数接口协议一样,PCIe同样规定了层次协议,PCIe协议中将其分为三个层次:事务层、链路层以及物理层。每一层都包含了处理输入信息以及输出信息的两部分。

PCI Express使用数据包在组件之间通信信息。数据包形成在事务层和数据链路层中,以将信息从发送组件传送到接收组件。当传输的数据包流过其他层时,它们被扩展为处理这些层上的数据包所需的附加信息。在接收端,发生反向处理,并且包从其物理层表示转换为数据链路层表示,最后(对于事务层包)转换为可以由接收设备的事务层处理的形式。

请注意,为了进行链路管理,在两个数据链路层(连接到同一链路)之间支持一种更简单的数据包通信形式。
1.5.1事务层(TL)
该体系结构的上层是事务处理层。事务层的主要职责是组装和拆卸TLP。tlp用于通信事务,如读取和写,以及某些类型的事件。事务层还负责管理tlp的基于信用的流程控制。
每个需要一个响应包的请求包都被实现为一个split事务。每个数据包都有一个唯一的标识符,使响应数据包能够被索引到到正确的发起者。根据事务的类型(内存、I/O、配置和消息),数据包格式支持不同形式的寻址。数据包还可能具有诸如无Snoop、放松排序和基于ID的排序(IDO)等属性。
事务层支持四个地址空间:它包括三个PCI地址空间(内存、I/O和配置),并添加了消息空间。本规范使用消息空间来支持所有先前的边带信号,如中断、电源管理请求等,如带内消息事务。您可以将PCI Express消息事务看作是“虚拟线”,因为它们的效果是消除目前在平台实现中使用的广泛的边带信号。
1.5.2数据链路层
作为事务层和物理层之间的中间阶段。数据链路层的主要职责包括链路管理和数据完整性,包括错误检测和错误纠正。
数据链路层的传输端接受由事务层组装的TLP,计算并应用数据保护码和TLP序列号,并将其提交到物理层进行跨链路传输。接收数据链路层负责检查所接收到的tlp的完整性,并将其提交给事务层以进行进一步处理。在检测到TLP错误(s)时,该层负责请求重传TLP,直到正确接收到信息,或确定链路失败。
数据链路层还可以生成和使用用于链路管理功能的数据包。为了将这些数据包与事务层(TLP)所使用的数据包区分开来,在引用在数据链路层上生成和消耗的数据包时,将使用术语数据链路层数据包(DLLP)。
1.5.3物理层
物理层包括所有用于接口操作的电路,包括驱动器和输入缓冲器、并行到串行和串行到并行转换、PLL (s)和阻抗匹配电路。它还包括与接口初始化和维护相关的逻辑功能。物理层以特定的格式与数据链路层交换信息。该层负责将从数据链路层接收到的信息转换为适当的序列化格式,并以与连接到链路另一边的设备兼容的频率和宽度通过PCIe link传输该信息。
PCI Express体系结构具有“钩子”,可以通过速度升级和高级编码技术来支持未来的性能增强。未来的速度、编码技术或介质可能只会影响物理层的定义。
1.5.4层功能和服务
1.5.4.1TL
事务层在生成和接收TLP的过程中,与链路另一侧的互补事务层交换流程控制信息。它还负责支持软件和硬件启动的电源管理。
初始化和配置功能要求事务层能够:
(1)存储由处理器或管理设备生成的链接配置信息
(2)存储由物理层硬件进行的宽度和操作频率协商生成的链接功能
事务层的数据包生成和处理服务要求它:
(1)从设备core请求中生成tlp
(2)将接收到的请求tlp转换为设备core的请求
(3)将接收到的完成数据包转换为有效负载,或状态信息,可交付给core
(4)检测不受支持的tlp,并调用适当的机制来处理它们
(5)如果支持端到端数据完整性,请生成端到端数据完整性CRC,并相应地更新TLP标头。
流量控制服务:
(1)事务层跟踪跨链接的TLP的流量控制。
(2)事务信用状态使用数据链路层的传输服务定期传输到远程事务层。
(3)远程流量控制信息用于控制TLP传输节流
排序规则:
(1)符合PCI/PCI-X标准的生产者/消费者排序模型
(2)扩展支持relaxed ordering
(3)扩展支持ID-based ordering
电源管理服务:
(1)通过由系统软件所指定的机制进行软件控制的电源管理。
(2)硬件控制的自主电源管理可在全负荷电源状态下最小化电源。
虚拟通道和流量类别(virtual channel and Traffic class)
(1)提供了虚拟信道机制和流量类识别的结合,以支持对某些类别的应用程序的差异化服务和QoS支持。
(2)虚拟通道:虚拟通道提供了一种方法,可以在给定的链接的公共物理资源上支持多个独立的逻辑数据流。从概念上讲,这涉及到将不同的数据流复用到单个物理链接上。
(3)流量类:流量类是一个事务层包标签,通过结构结构进行未修改的端到端传输。在结构中的每个服务点(例如switch),流量类标签用于应用适当的服务策略。每个流量类标签定义了一个唯一的排序域——对包含不同流量类标签的数据包不提供排序保证。
1.5.4.2DL
数据链路层负责与链路对面的对应层可靠地交换信息。
初始化和电源管理服务:
(1)接受来自事务层的电源状态请求,并传输到物理层
(2)将active/reset/disconnected/power manager state传送到事务层
数据保护、错误检查和重试服务:
(1)产生CRC
(2)链路层重传的已发送TLP数据存储
(3)错误检查
(4)TLP确认和重试消息
(5)错误报告和日志记录的错误指示
1.5.4.3PHY
接口初始化、维护控制和状态跟踪:
(1)reset/热插拔/状态
(2)互联电源管理
(3)宽度和lane映射协商
(4)Lane极性反转
符号和特殊排序设置:
(1)内嵌时钟调整和对齐
(2)8b/10b编解码
符号传输和对齐:
(1)传输电路
(2)接收电路
(3)接收侧的buffer
(4)接收侧的多条lane之间的相位补偿
DFT支持:
(1)合规pattern
(2)可修改的合规pattern
1.5.4.4层间接口
1.5.4.4.1 TL和DL的接口
从事务层到数据链路的接口提供:
(1)要通过链接发送的字节或多字节数据
①本地TLP传输握手机制
②TLP边界信息
(2)链路所请求的电源状态
数据链接层到事务层接口提供:
(1)从PCIe link接收到的字节或多字节数据
(2)所接收到的字节的TLP帧信息
(3)链接的实际电源状态
(4)链接状态信息
1.5.4.4.2 DL和PHY的接口
数据链路到物理接口提供了:
(1)要通过链接发送的字节或多字节范围的数据
①数据传输握手机制
②字节的TLP和DLLP边界信息
(2)链路所请求的电源状态
物理到数据链路接口提供:
(1)从PCIe link接收到的字节或多字节范围的数据
(2)TLP和DLLP帧数据信息
(3)指示由物理层检测到的错误
(4)链接的实际电源状态
(5)连接状态信息

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PCIe 5.0(Peripheral Component Interconnect Express 5.0)是一种计算机总线标准,它用于连接计算机的主板与各种外部设备,如显卡、网卡和存储设备等。PCie 5.0协议下载是指获取并安装PCIe 5.0协议的过程。 要进行PCIe 5.0协议下载,首先需要确认主板是否支持PCIe 5.0协议。在确认支持后,可以通过以下步骤进行下载。 首先,需要前往主板制造商的官方网站或支持页面。在该页面中,可以搜索并找到PCIe 5.0协议的最新版本或更新程序。然后,根据自己的主板型号和操作系统版本,选择适用的下载文件。 下载文件后,需要将下载的文件保存到计算机的硬盘或其他存储设备中。然后,使用文件管理器或解压软件将下载的文件解压缩(如果是压缩文件)。 接下来,运行解压得到的文件或程序。根据程序的提示,点击安装按钮或执行特定的命令,以完成PCIe 5.0协议的安装过程。 安装完成后,可能需要重启计算机,以使新的PCIe 5.0协议生效。 需要注意的是,PCIe 5.0协议的下载和安装可能因主板厂商和型号而有所不同。因此,在进行下载之前,最好查阅主板的用户手册或咨询主板制造商的技术支持,以获取准确的下载和安装指导。 总结来说,PCIe 5.0协议下载包括确认主板支持、访问制造商网站、下载适用文件、解压并运行安装程序、重启计算机等步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值