当前位置: 首页 > news >正文

PCIe Electrical Idle Sequences ( EIOS and EIEOS )

前言

PCI Express (PCIe)协议中,EIOS (Electrical Idle Ordered Set) 和 EIEOS (Electrical Idle Exit Ordered Set) 是在高速链路管理和状态切换过程中极为重要的特殊序列。下面做详细解释:

一、EIOS(Electrical Idle Ordered Set)

1. 定义及作用

EIOS是PCIe物理层在发送端进入“电气空闲(Electrical Idle)”状态之前,必须发送的特殊序列。
它用来通知接收端:链路即将进入电气空闲状态(即没有数据传输,线路进入低功耗/待机状态)。

2. EIOS的构成

不同编码模式下的EIOS
1)8b/10b编码(如PCIe 2.x/3.x低速率)

● EIOS = 1个K28.5(COM)符号 + 3个K28.3(IDL)符号。
● 详见下表:
在这里插入图片描述
● 发送端需要发出全部4个符号,接收端收到头4个(COM+任意2个IDL)即可视为EIOS已接收。

2)128b/130b 编码(如PCIe 4.0及更高速率)

● EIOS是一个特殊的 Ordered Set Block(有序块),具体符号见Table 4-32。
● 这个块的前4个编解码符号用于识别EIOS。

3)1b/1b 编码(PCIe 6.0 极高速率)

在这里插入图片描述

3. 截断与接收规则

● 截断(Truncation):最后一个EIOS序列在实际进入Idle状态时,可以在符号14或15提早结束(为支持某些编码模式下的时钟不对齐)。但接收方只要前4个符号匹配EIOS定义就可以正确判定链路进入空闲。
● 状态切换:发送最后一个EIOS所有符号后,发送端必须真正进入Idle状态。

4. 作用意义

● EIOS告知接收方链路即将Idle,可以收尾上一次传输的数据,进行电路省电和同步状态管理。

二、EIEOS(Electrical Idle Exit Ordered Set)

1. 定义及作用

EIEOS是从“电气空闲”状态返回到正常数据传输状态前要发送的特殊有序序列。
它通知接收器:链路即将退出Idle,准备恢复正常通信。

2. EIEOS的构成

● 8b/10b编码下,EIEOS包含:
○ K28.7(EIE)等特定标识符(不同协议版本有所不同)。
○ EIEOS会在你想要退出Idle、准备发恢复训练序列(FTS)之前发送。
● 其余编码下,用有序块识别。
● 详见协议相关章节,通常和FTS配套出现。

3. 与EIOS的区别

● EIOS:Idle前发,进入空闲
● EIEOS:Idle结束发,退出空闲、恢复数据传输

4. 作用意义

● EIEOS确保接收方正确检测到链路恢复,同步时钟和准备下一帧训练(FTS)或数据交换。

三、EIOS与EIEOS在链路训练和状态管理中的流程

  1. 正常数据传输
  2. 准备进入Idle
    ○ 发送EIOS (通知即将Idle)
  3. 实际进入Idle状态
  4. 准备恢复数据传输
    ○ 发送EIEOS (通知即将恢复)
  5. 发送FTS或数据帧,链路恢复激活

四、常见应用场景

● PCIe设备省电自动管理
● PCIe链路训练/恢复同步
● 热插拔、链路异常恢复

五、简明总结

在这里插入图片描述

http://www.dtcms.com/a/327084.html

相关文章:

  • C++ 中的单例模式:使用静态方法管理唯一实例
  • 告别土味埋点:Java 优雅统计方法耗时的艺术与实践​
  • 企业高性能web服务器(4)
  • 【实时计费系统的Redis实践:视频平台按分钟付费服务的原子扣费与对账】
  • C++11-下
  • JPrint免费的Web静默打印控件:服务端口号修改
  • 医疗矫正流(MedRF)框架在数智化系统中的深度应用
  • 【bug 解决】串口输出字符乱码的问题
  • 【数据结构】——顺序表链表(超详细解析!!!)
  • 【KO】android 音视频
  • 打包工具:WebPack 和 Vite 对比
  • [激光原理与应用-254]:理论 - 几何光学 - 自动对焦在激光器中的应用?
  • 《吃透 C++ 类和对象(上):封装、实例化与 this 指针详解》
  • cpp-httplib 测试https功能
  • 告别数据孤岛!React 路由 3 种传参方法全解析
  • Apache Shiro
  • Gartner 《IAM for LLM-Based AI Agents》学习心得
  • 11. React组件插槽用法
  • 解决 VSCode 无法从右键菜单“通过 Code 打开”文件夹的问题
  • 使用Gradle手搓一个Kotlin/Native项目
  • Nginx 架构和安装
  • Node.js 精选:50 款文件处理与开发环境工具库
  • Mocha在Node.js中的详细使用
  • 阿里云 Windows 服务器 搭建 Gitea 私有 Git 服务器完整教程
  • 云原生高级——nginx
  • 【网站深入seo方法】
  • [论文阅读] (41)JISA24 物联网环境下基于少样本学习的攻击流量分类
  • 记录docker使用kong consul postgresql配置dns异常解决
  • 从零开始手搓一个GPT大语言模型:从理论到实践的完整指南(一)
  • 大数据技术入门精讲(Hadoop+Spark)