【PCIe 6.0】PCIe 6.0 新特性 - L0p 详解2

简介: 【PCIe 6.0】PCIe 6.0 新特性 - L0p 详解

2.2 再次发送L0p请求


端口再次发送L0p请求的时间点是有要求的,满足以下任一条件时本端口方可以再次发送L0p请求:


  •    不论上次L0p请求由谁发起,此刻距上次成功实现动态链路切换已过去1us。


  •    上次L0p请求由本端口发起,但被拒绝了。


  •    上次L0p请求由对端发起且本端口已回复ACK,若上次L0p请求请求上调链路宽度,无论本端口是否监测到对应lane退出电气闲,即无论上调是否成功完成,只要过去2us,本端口均可再次发送L0p请求。


  •  (为什么没提到下调链路宽度呢?下调链路宽度是双方端口能够主动控制的,但是上调可就不是这么回事了,链路坏了还真就上调不了。)




2.3 L0p的进入和退出耗时



对于一直处于活跃状态的lane而言,上调和下调链路宽度对数据传输没有任何影响。


  当下调链路宽度时,对于要关闭的lane而言,考虑到要把SKP替换为EIOS才能进入电气闲,最差情况是2个SKP的间隔1.5ms;当上调链路宽度时,耗时跟从L1退出的耗时相同。



2.4 L0p对称性


大家知道,Tx和Rx可以单独进入和退出L0s状态,但是对于工作在Flit Mode且启用了L0p的PCIe 6.0设备,其Tx和Rx必须同时进入或退出L0p,且Tx和Rx的链路宽度相同,称之为L0p的对称性。为什么要这么做呢?减少设计的复杂度。考虑到USP及DSP的处理速度或许不同,DSP及USP在动态切换链路宽度的时候,或许存在短时间的链路宽度不同的情况,这是允许的,我们仍然称起是对称的。




3. 链路管理DLLP


目前链路管理DLLP类型只有L0p链路管理DLLP这一种,其格式如图5所示。


  各字段意义如下:


  • Byte0:固定值 8’b00101000,用以指示当前为链路管理DLLP。


  • Byte1:指示链路管理的类型,目前只有L0p DLLP这一种类型,值为8’b00000000。


  • Byte2:bit[3:0]表示L0p的命令类型,0100 -> L0p 请求,0110 -> L0p ACK,0111 -> L0p NAK,1010 -> L0p链路上调训练完成;bit[4]在L0p命令为L0p请求时表示L0p请求的优先级,1为高优先级;bit[7:5]预留。


  • Byte3:bit[3:0]及bit[7:4]均表示链路宽度,其中bit[3:0]是L0p请求或链路上调训练完成的链路宽度,bit[7:4]是L0p NAK/ACK的响应负载,0001b -> x1, 0010b -> x2,0100b -> x4,1000b -> x8,0000b -> x16。


6d993e8354b94f45b5a359caf0356755.png


▲ 图5 Link Management DLLP (Flit Mode)


 以下几种情况对应的链路管理DLLP无效,Rx收到后应予以忽略:


  •    链路管理类型 或 L0p命令类型为保留字段。


  •    链路管理类型 或 L0p命令类型正常,但L0p命令类型对应的链路宽度或响应负载为保留字段。




4. 进一步思考


4.1 为什么不继续采用FTS的方式了?


根据经验,为使设备工作在最坏的环境下仍能正常从L0s回退到L0,设计人员往往采用较大的N_FTS,复杂度增加是一方面,对降低功耗也不太友好。想必之下,从lane数较少的L0p回退到L0,采用EIEOS,方法更为简单直接有效。



4.2 那么切换速度可以进L0p吗?


怕是不行。不同速率下的信号质量不同,其对应的均衡、加重/去加重参数不同,每切换一种速度都需要重新进行均衡等,即需要进Recovery重新均衡后再切速。




5. 参考


  1. The PCIe® 6.0 Specification Webinar Q&A: Leveling Up with L0p


  1. 如何成功过渡到PCIe 6.0并应对芯片设计新挑战?


  1. What Disruptive Changes to Expect from PCI Express Gen 6.0


  1. PCIe 6.0时代下的IP挑战




目录
相关文章
【笔记】PCIe LTSSM 状态转移
【笔记】PCIe LTSSM 状态转移
3889 0
【笔记】PCIe LTSSM 状态转移
|
传感器 监控
基于STM32的智能工厂生产线监控系统设计与实现
基于STM32的智能工厂生产线监控系统设计与实现
1095 0
|
固态存储 IDE 开发工具
【实战经验分享】如何对SSD固态硬盘下发SCSI command?
目前可以供用来下发SCSI/ATA Command的工具有很多,比如BusHound, Hdparm, Sg3, Msecli等。其中Msecli是Micron自己的专门用来管理Micron SSD的命令行接口, 对于其他家的SSD是无效的。我们这里主要用的Sg3这个工具
|
缓存 移动开发 JavaScript
PCIe 参考时钟架构 (Refclk Architecture)
PCIe 参考时钟架构 (Refclk Architecture)
8424 0
PCIe 参考时钟架构 (Refclk Architecture)
【PCIe 协议】听说你做 PCIe 很多年,还不知道 PCIe Hierarchy ID 是什么 ???
【PCIe 协议】听说你做 PCIe 很多年,还不知道 PCIe Hierarchy ID 是什么 ???
1482 0
【PCIe 协议】听说你做 PCIe 很多年,还不知道 PCIe Hierarchy ID 是什么 ???
|
7月前
|
SQL 人工智能 监控
阿里云 AI安全护栏2.0发布Agent运行时防护,抓住“自主执行任务”的“虾”
AI安全护栏为“龙虾”的每一次自动执行筑起关键防线
2587 6
|
11月前
|
人工智能 自然语言处理 搜索推荐
限免领取 |2025版《102个增长实例》正式发布
瓴羊联合一财商学院发布《102个增长实例》,聚焦2025年企业数智化转型,通过19个实战案例展现AI Agent在客服、分析、营销三大场景的深度应用,揭示“大模型×好数据×强场景”的黄金公式,推动人机协同新范式,助力企业实现高效增长。
530 2
|
消息中间件 移动开发
PCIe RN (Readiness Notification)介绍
PCIe RN (Readiness Notification)介绍
1970 0
PCIe RN (Readiness Notification)介绍
|
芯片 异构计算
第三章 硬件描述语言verilog(三)功能描述-时序逻辑
第三章 硬件描述语言verilog(三)功能描述-时序逻辑
1038 0
第三章 硬件描述语言verilog(三)功能描述-时序逻辑
|
Linux Windows 内存技术
PCIe初始化枚举和资源分配流程分析
本文主要是对PCIe的初始化枚举、资源分配流程进行分析,代码对应的是alikernel-4.19,平台是arm64 ## 1. PCIe architecture ### 1.1 pcie的拓扑结构 在分析PCIe初始化枚举流程之前,先描述下pcie的拓扑结构。 如下图所示: ![11.png](https://ata2-img.oss-cn-zhangjiakou.aliyuncs
9905 1
PCIe初始化枚举和资源分配流程分析