深入了解 PCIe 6.0 的演变和优化

PCI-Express是继ISA和PCI总线之后的第三代I/O总线,即3GIO。由Intel在2001年的IDF上提出,后来PCI-SIG(PCI特殊兴趣组织)认证发布后才改名为“PCI-Express”。它的主要优势就是数据传输速率高,另外还有抗干扰能力强,传输距离远,功耗低等优点。

注:第一代总线一般指ISA、EISA、VESA和Micro Platforms。

第二代总线一般指PCI、AGP和PCI-X。

——————————————————      

PCIe protocol (Peripheral Component Interconnect Express) 于 2003 年推出第一代产品,在串行计算机扩展总线中允许每通道高达 2.5 GT/s,这是行业的一项巨大突破。此后,该协议经过多次发展,与上一代协议相比,其传输速率始终翻倍,并在需要时带来新功能和优化。

最新版本于 2022 年发布,其中引入了 PCIe 6.0,每信道速度高达 64.0 GT/s。另外,PCIe7.0也在路上,单信道速度达到了惊人的128GT/s.

2023 年在圣何塞举行的 PCI-SIG 开发者大会上宣布的那样,PCIe 6.0再次将速度提高了一倍。考虑到 20 年的行业使用和经验,这些变化考虑了对现有规则的许多必要优化。引入了新的概念和技术,如1b/1b编码、PAM4调制和Flit Mode操作。

一、了解 PCIe 6.0 优化

PCIe 6.0 规范中所有功能的更改都是考虑到它们需要优化以跟上更高的吞吐率。因此,遵循了以下准则:

减少损失: 通过避免不必要的编码;    

做出假设:基于既定模式;

避免传输不必要的信息:这可以由另一方推断出来;

避免重新配置:如果之前已经配置过。

1b/1b 编码和减少丢失

PCIe 6.0 中引入的新编码是通过避免不必要的编码来减少损耗的最佳例子。之前的协议中,PCIe 3代之后通过128b/130b传输,或更早之前1代2代的速度运行时使用 8b/10b 编码,存在更大的损耗具体也就是20%损耗。其中,128b/130b的编码,这意味着每 128 位数据需要 2 位额外的数据才能被另一端正确解码。这导致了串行链路的效率低下,其中仅由于编码而在位级中损失了 1.54% 的带宽。

726c2e574825d582138ce70a9f4d9a91.png

最新的6.0中,1B/1B通过保证传输的每个比特都可以被另一方用作实际信息来解决这个问题。这是通过在预期的数据类型的每一端实现内部计数器来完成的。只要设计经过正确验证以遵守这些计数器,就可以保证它们能够进行通信,而无需在链接中发送任何额外的不必要的信息。    

9d4c9fce127607d570740acf3f566702.png

Flit 序列号和优化信息传输

flit 序列号是 PCIe 6.0 中引入的一个新概念。它取代了事务层数据包 (TLP) 中存在的旧序列号及其确认或重放机制。

之前,序列号总是附加到每个传输的 TLP 上。尽管它增加了链路的鲁棒性,但考虑到 TLP 具有顺序序列号,这样其实存在某种程度的浪费资源。因此,知道一个 TLP 的序列号意味着知道它旁边的 TLP 的编号,依此类推。

flit 序列号协议通过实现隐式序列号来优化这一点,其中序列号由另一端推断。不仅如此,序列号也在 flit 级别,可以同时容纳多个 TLP。因此,以前用于始终传输序列号信息的空间可用于增加有用信息的带宽。

1c7c824217f1f2f62f6f8e25f0434e48.png

L0p 和优化不必要的重新配置

之前在链接后动态更改链路宽度的过程对设备来说成本很高,因为它需要经历链路训练和状态机 (LTSSM) 的所有配置状态。这意味着重新配置车道的所有细节,即使唯一需要更改的变量是正在使用的链路宽度。    

这在 PCIe 6.0 中得到了增强,引入了 L0 部分 (L0p) 功能,仅在 Flit 模式下存在。执行 L0p 序列时,可以在活动数据传输期间更改链路宽度,而无需关闭链路。这意味着通过更改链路宽度来节省功耗要有效得多,而且设备可以轻松保持较小的宽度,以防出现热节流问题。

综上所述,PCIe 6.0带来了许多变化,这些变化都是为了保证PCIe协议的所有层都能跟上更高的传输速率而进行的优化。目前正在进行的 PCIe 7.0 在所有这些更改的基础上继续提供 PCIe 支持和优化。    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/613234.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python 日志模块Loguru基本使用和封装使用

【一】介绍 Loguru是一个用于Python的日志库,它的设计目标是使日志记录变得简单、快速且易于阅读。 (1)Loguru介绍 简洁的API:Loguru提供了一个简洁的API,使得在Python项目中使用日志变得更加容易。只需导入loguru模…

flac和mp3的区别是什么?答案在这里

在数字音乐时代,音频格式的选择对于音质和文件大小的影响至关重要。FLAC和MP3是两种常见的音频格式,它们在音质和压缩方式上存在明显的差异。了解flac和mp3的区别,有助于我们在不同的场景下选择合适的音频格式,以获得最佳的音乐体…

N5183B是德科技n5183b信号源

181/2461/8938产品概述: 简  述: N5183B 频率范围:9 kHz 至 20 GHz,具有 AM、FM、相位调制功能。N5183B MXG X 系列微波模拟信号发生器拥有 9 kHz 至 40 GHz 的频率覆盖范围,以及接近 PSG 级别的相位噪声性能&…

使用 Express 框架构建的 Node.js web 应用程序

使用 Express 框架构建的 Node.js web 应用程序 ├── config │ └── config.js ├── middlewares │ └── errorHandler.js ├── routes │ ├── index.js │ ├── postRoutes.js │ └── userRoutes.js ├── .env ├── .gitignore ├── app.js ├…

【Centos7 】Centos7yum报错:another app is currently holding the yum lock;解决方案

Centos7 yum报错:another app is currently holding the yum lock;waiting for it to exit 大家好 我是寸铁👊 总结了一篇Centos7 yum报错:another app is currently holding the yum lock;waiting for it to exit✨ 喜欢的小伙伴可以点点关注 💝 报错 解…

【Linux系统编程】第十六弹---冯诺依曼体系结构与操作系统

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、冯诺依曼体系结构 2、操作系统原理 2.1、什么是操作系统? 2.2、用图解释操作系统 2.3、理解操作系统 总结 …

上班工资太低了,哪些副业可以多赚钱?

今天给各位分享最赚钱的副业方式的知识,其中也会对比较赚钱的副业进行解释. 1、网站接单 一般20页左右的PPT报价基本在200-400元。如果能每周接单,一个月就有接近1000元的副业收入。提交摄影和绘画作品 比起画画,靠摄影赚点外快更容易一点。…

11.买卖股票的最佳时机Ⅰ

文章目录 题目简介题目解答解法一:一次遍历代码:复杂度分析: 题目链接 大家好,我是晓星航。今天为大家带来的是 买卖股票的最佳时机面试题Ⅰ 相关的讲解!😀 题目简介 题目解答 解法一:一次遍历…

蓝桥杯成绩已出

蓝桥杯的成绩早就已经出来了,虽然没有十分惊艳 ,但是对于最终的结果我是心满意足的,感谢各位的陪伴,关于蓝桥杯的刷题笔记我已经坚持更新了49篇,但是现在即将会告别一段落,人生即将进入下一个规划。我们一起…

代码随想录训练营Day28:贪心算法06

1.738单调递增的数字 贪心策略&#xff1a;如果strNum[i]<strNum[i-1]那么strNum[i] 9,strNum[i-1]--;//比如87对应的最大的单调递增的就是79. 具体实现&#xff1a; 对于遇到小于的情况&#xff1a;如果strNum[i]<strNum[i-1]那么strNum[i] 9,strNum[i-1]--;遍历顺…

学习Java的日子 Day44 初识前端

Day44 HTML 学习路线&#xff1a; 前端&#xff1a;展示页面、与用户交互 — HTML 后端&#xff1a;数据的交互和传递 — JavaEE/JavaWeb 1.B/S和C/S B/S&#xff1a;浏览器/服务器 教务系统 C/S&#xff1a;客户端/服务器 优缺点 1.开发/维护成本&#xff1a;B/S相对低 2.运算…

【江科大STM32学习笔记】新建工程

1.建立工程文件夹&#xff0c;Keil中新建工程&#xff0c;选择型号 2.工程文件夹里建立Start、Library、User等文件夹&#xff0c;复制固件库里面的文件到工程文件夹 为添加工程文件准备&#xff0c;建文件夹是因为文件比较多需要分类管理&#xff0c;需要用到的文件一定要复…

服务器2080ti驱动的卸载与安装

服务器2080ti驱动的卸载与安装 前言1、下载驱动2、驱动卸载与安装2.1 卸载原来驱动2.2 安装新驱动 3、查看安装情况 前言 安装transformers库&#xff0c;运行bert模型时出错&#xff0c;显示torch版本太低&#xff0c;要2.0以上的&#xff0c;所以更新显卡驱动&#xff0c;重…

爬虫学习:XPath提取网页数据

目录 一、安装XPath 二、XPath的基础语法 1.选取节点 三、使用XPath匹配数据 1.浏览器审查元素 2.具体实例 四、总结 一、安装XPath 控制台输入指令&#xff1a;pip install lxml 二、XPath的基础语法 XPath是一种在XML文档中查找信息的语言&#xff0c;可以使用它在HTM…

百度公关一号位翻车的本质是,“精英主义”已经没有市场了 | 最新快讯

“精英主义”没市场了。 文&#xff5c;商隐社&#xff0c;作者 | 浩然 01 这几天商业圈持续发酵的热点新闻就是百度“公关一号位”璩静的“短视频翻车事件”。 一个名为“我是璩&#xff08;q&#xff09;静”&#xff0c;在自我介绍中标注了“百度副总裁”“公关一号位”“…

SpringAop详解

文章目录 一、Spring自定义注解1、什么是注解&#x1f468;‍&#x1f3eb;2、注解的目的或作用&#x1f49e;3、JDK内置注解&#x1f4ab; 【内置元注解 一共八个固定注解】4、元注解 &#x1f3af;5、自定义注解&#x1f4f8;5、Java反射API和类加载过程51、什么是反射基本原…

46 udp网络程序

查询网络服务的命令 netstat -nlup n: 显示数字 a&#xff1a;显示所有 u&#xff1a;udp服务 p&#xff1a;显示pid Recv-Q收到的数量&#xff0c;本地ip和远端ip&#xff0c;00表示可以收到任何地址 网络聊天 服务端 定义一个server类&#xff0c;成员保存ip地址&#xff…

Required:(String) → String Found:String

报错 Function invocation summaryFu(...) expected No value passed for parameter msg Type mismatch. Required: (String) → String Found: String class FunTest {/*参数包含函数的调用者* */fun funAndFunPropTest() { // 调用下面的test()//创建一个函数&#xff0…

Colab/PyTorch - 002 Pre Trained Models for Image Classification

Colab/PyTorch - 002 Pre Trained Models for Image Classification 1. 源由2. 图像分类的预训练模型3. 示例 - AlexNet/ResNet1013.1 模型推断过程3.2 使用TorchVision加载预训练网络3.3 使用AlexNet进行图像分类3.3.1 Step1&#xff1a;加载预训练模型3.3.2 Step2&#xff1a…

Redis 基础之常用数据类型及命令

常用数据类型及命令 String&#xff08;字符串&#xff09;Hash&#xff08;哈希&#xff09;List&#xff08;列表&#xff09;Set&#xff08;集合&#xff09;zset ( sorted set&#xff1a;有序集合 )Redis setbit 命令HyperLogLogs ( 基数统计 ) Redis 比 Memcached 更优秀…