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

PCIe协议之-DLLP详解

✨前言:

🌟数据链路层的功能

数据链路层将从物理层中获得报文, 并将其传递给事务层; 同时接收事务层的报文, 并将其转发到物理层; 核心的功能有以下三点
1.保证TLP在 PCIe 链路中的正确传递;
2.数据链路层使用了容错和重传机制,保证数据传送的完整性与一致性,
3.此外数据链路层还需要对PCIe 链路进行管理与监控。

🌟什么是DLLP?

DLLP全称是Data Link Layer Packet,是在PCI Express (PCIe) 架构中,数据链路层使用的一种数据包类型。在PCIe架构中,通信分为几个层次,其中数据链路层位于物理层之上,负责提供可靠的点到点通信连接。本文将要介绍的DLLP指的正是这样的数据包,其一般用于Ack/Nak机制、功耗管理、Flow Control(流量控制)和一些厂商自定义用途等。示意图如下:
在这里插入图片描述
DLLP的格式是固定的,一共有8个字节,包括Framing(SDP & END)。和TLP不一样的地方是,DLLP并未携带任何路由信息,原因很简单,因为DLLP只在相邻的两个设备的数据链路层之间通信,根本不需要路由。并且DLLP一般也不需要和事务层交换信息。

✨DLLP的主要功能和类型

DLLP主要用于链路管理和维护功能,不是用户数据的传输。以下是一些DLLP的主要功能和类型:
👉ACK/NACK:这些DLLP用于确认收到的 TLP(Transaction Layer Packet),或者在检测到错误时反馈否定回应。ACK 和 NACK DLLP 对于维护链路的流控制和可靠性至关重要。
👉Flow Control Update:这些包用于流控协议,允许终端节点通告其缓冲区的可用空间,确定发送方可以发送多少数据避免溢出接收方。
👉Power Management Event (PME):在设备需要改变电源状态或发起电源管理事件时,使用 PME DLLP通知对方。
👉Link Management Messages:用于链路初始化、重置等管理任务的消息传递。
👉Link Bandwidth Management Messages:当链路的宽带发生变化时(如由单通道变为双通道等),这些 DLLP用于通知链路两端的设备。
👉Vendor Specific Messages:这种 DLLP为硬件制造商提供了一种方法来发送其定义的特定信息。

✨DLLP与TLP两者在数据链路层的主要区别:

TLP(Transaction Layer Packet):负责传输应用数据,即最终用户的数据负载。这些数据包通常大于DLLP,可能因数据传输需求而变化大小。
DLLP(Data Link Layer Packet):其结构相对固定,并且它被用于链接层的操作和维护,而不是用户数据的载体。
在数据链路层,一个重要的特性是错误检测和重传。DLLP通常包含序列号和校验和,用于确保链路层通信的完整性。例如,如果一个ACK DLLP丢失,则发送端可能会重发前一个TLP,直到收到正确的ACK为止。
这种方式为PCIe提供了高度的可靠性,使其成为连接高速I/O设备如SSD、显卡、网络接口卡等的首选接口。

✨DLLP的一般格式如下图所示:

在这里插入图片描述

✨DLLP的类型与目标应用如下表所示:

在这里插入图片描述

🌟用于Ack/Nak的DLLP的格式如下:

在这里插入图片描述
在这里插入图片描述

🌟用于功耗管理(Power Management)的DLLP的格式如下:

在这里插入图片描述
在这里插入图片描述

🌟用于Flow Control的DLLP的格式如下:

在这里插入图片描述
在这里插入图片描述

🌟厂商自定义的DLLP的格式如下:

在这里插入图片描述

相关文章:

PCIe协议之-DLLP详解

✨前言: 🌟数据链路层的功能 数据链路层将从物理层中获得报文, 并将其传递给事务层; 同时接收事务层的报文, 并将其转发到物理层; 核心的功能有以下三点 1.保证TLP在 PCIe 链路中的正确传递; 2.数据链路层使用了容错…...

Jmeter+prometheus+grafana性能测试

文章目录 Jmeterprometheusgrafana性能测试背景目标设计思路原理案例启发 Jmeterprometheusgrafana性能测试 背景 ​ 在现代社会中,人们对于应用程序的响应速度和性能体验提出了越来越高的要求。无论是电子商务网站、社交媒体平台还是企业级软件系统,都…...

Hololens 2 新建自定义按钮

官方链接地址 1、创建Cube 2、添加PressableButton脚本,并点击AddNearin… 3、把Cube拖入到MovingButtonVisuals变量中 4、点击NearInteractionTouchable组件(这个组件是添加和上一个脚本绑定的,自动添加上来的)上的Fix… 5、…...

景源畅信:抖音小店新手小白如何做好运营?

在数字时代的浪潮中,抖音小店成为了众多创业者和商家的新宠。但面对激烈的市场竞争和不断变化的平台规则,新手小白如何才能在抖音小店的海洋里稳健航行,捕捉到属于自己的商机呢?接下来的内容将为你揭晓答案。 一、精准定位,明确目…...

力扣 42. 接雨水 python AC

双指针 class Solution:def trap(self, heights):l, r 0, len(heights) - 1maxl, maxr 0, 0ans 0while l < r:maxl, maxr max(maxl, heights[l]), max(maxr, heights[r])if maxl < maxr:ans maxl - heights[l]l 1else:ans maxr - heights[r]r - 1return ans单调栈…...

The 2022 ICPC Asia Nanjing Regional Contest - External D

G题 赛题补充 D题的题目来源 https://codeforces.com/gym/104128/problem/D 文章目录 题意思路代码 题意 给一个长度为n的数组&#xff0c;问对一段区间添加等差数列后的最大的第 k 大是多少 思路 通过观察题目可以发现答案的范围符合单调性&#xff0c;因此我们可以考虑二分…...

2024年蓝桥杯B组C++——复盘

1、握手问题 知识点&#xff1a;模拟 这道题很简单。但是不知道考试的时候有没有写错。一开始的43个人握手&#xff0c;仅需要两两握手&#xff0c;也就是从42个握手开始&#xff0c;而非43.很可惜。这道题没有拿稳这5分。也很有可能是这5分导致没有进决赛。 总结&#xff1a…...

微调Llama3实现在线搜索引擎和RAG检索增强生成功能

视频中所出现的代码 Tavily SearchRAG 微调Llama3实现在线搜索引擎和RAG检索增强生成功能&#xff01;打造自己的perplexity和GPTs&#xff01;用PDF实现本地知识库_哔哩哔哩_bilibili 一.准备工作 1.安装环境 conda create --name unsloth_env python3.10 conda activate …...

【软件工程】【23.04】p1

关键字&#xff1a; 软件模型、提炼、加工表达工具、通信内聚、访问依赖、边界类交互分析、RUP核心工作流、首先测试数据流、软件验证过程、CMMI过程域分类工程类&#xff1b; 软件工程目的、功能需求是需求的主体、结构化方法、耦合、详细设计工具、类、类图、RUP采用用例技…...

Flutter 中的 ColoredBox 小部件:全面指南

Flutter 中的 ColoredBox 小部件&#xff1a;全面指南 在 Flutter 的世界中&#xff0c;ColoredBox 是一个用于填充颜色的简单而强大的小部件。它是一个不透明的矩形&#xff0c;可以用来创建颜色块&#xff0c;作为布局的占位符&#xff0c;或者简单地改变某个区域的背景色。…...

【LeetCode 随笔】面试经典 150 题【中等+困难】持续更新中。。。

文章目录 12.【中等】整数转罗马数字151.【中等】反转字符串中的单词6.【中等】Z 字形变换68.【困难】文本左右对齐167.【中等】两数之和 II - 输入有序数组 &#x1f308;你好呀&#xff01;我是 山顶风景独好 &#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您…...

SwiftUI中AppStorage的介绍使用

在Swift中&#xff0c;AppStorage是SwiftUI中引入的一个属性包装器&#xff0c;在这之前我们要存储一些轻量级的数据采用UserDefaults进行存取。而AppStorage用于从UserDefaults中读取值&#xff0c;当值改变时&#xff0c;它会自动重新调用视图的body属性。也就是说&#xff0…...

iCloud 照片到 Android 指南:帮助您快速将照片从 iCloud 传输到安卓手机

​ 概括 iOS 和 Android 之间的传输是一个复杂的老问题。将 iCloud 照片传输到 Android 似乎是不可能的。放心。现在的高科技已经解决了这个问题。尽管 Apple 和 Android 不提供传输工具&#xff0c;但您仍然有其他有用的选项。这篇文章与您分享了 5 个技巧。因此&#xff0c;…...

知识点总结

1、Uboot的流程调用&#xff1a; 1.1、cmd_process函数是怎么被调用到的&#xff1a; cmd_process在common/command.c 1.2、uboot阶段断电&#xff0c;后续起不来&#xff0c;可能要换线去使用&#xff0c;也许和电源线有关 2、git 相关使用 2.1 .gitignore相关的使用 1、…...

Python并发与异步编程

Python的并发与异步编程是两个不同的概念&#xff0c;但它们经常一起使用&#xff0c;以提高程序的性能和响应能力。以下是对这两个概念的详细讲解&#xff1a; 并发编程 (Concurrency) 并发编程是指在程序中同时执行多个任务的能力。Python提供了几种实现并发的机制&#xff…...

动态内存管理—C语言通讯录

目录 一&#xff0c;动态内存函数的介绍 1.1 malloc和free 1.2 calloc 1.3 realloc 1.4C/C程序的内存开辟 二&#xff0c;通讯录管理系统 动态内存函数的介绍 malloc free calloc realloc 一&#xff0c;动态内存函数的介绍 1.1 malloc和free void* malloc (…...

美光EMMC芯片丝印型号查询 8LK17/D9PSK, OXA17/JY997

问题说明 最近在使用美光EMMC的时候&#xff0c;发现通过芯片丝印查询不到 芯片的规格说明书&#xff1b; 经过查阅资料&#xff0c;发现美光的EMMC芯片 “由于空间限制&#xff0c;FBGA 封装组件具有与部件号不同的缩写部件标记”&#xff0c;需要通过官网查询丝印的FBGA cod…...

win32-鼠标消息、键盘消息、计时器消息、菜单资源

承接前文&#xff1a; win32窗口编程windows 开发基础win32-注册窗口类、创建窗口win32-显示窗口、消息循环、消息队列 本文目录 键盘消息键盘消息的分类WM_CHAR 字符消息 鼠标消息鼠标消息附带信息 定时器消息 WM_TIMER创建销毁定时器 菜单资源资源相关菜单资源使用命令消息的…...

springboot项目部署到linux服务器

springboot后端 修改前 修改后 vue前端 修改前 将地址中的 localhost改为 ip 重新生成war包 war上传到linux的tomcat的webapps下 其他环境配置和macOS大差不差 Tomcat安装使用与部署Web项目的三种方法_tomcat部署web项目-CSDN博客...

MagicLens:新一代图像搜索技术和产品形态

MagicLens&#xff1a;Self-Supervised Image Retrieval with Open-Ended Instructions MagicLens: 自监督图像检索与开放式指令 作者&#xff1a;Kai Zhang&#xff0c; Yi Luan&#xff0c; Hexiang Hu&#xff0c; Kenton Lee&#xff0c; Siyuan Qiao&#xff0c; Wenhu …...

3步实现视频硬字幕精准提取:本地化多语言解决方案如何解决你的字幕难题

3步实现视频硬字幕精准提取&#xff1a;本地化多语言解决方案如何解决你的字幕难题 【免费下载链接】video-subtitle-extractor 视频硬字幕提取&#xff0c;生成srt文件。无需申请第三方API&#xff0c;本地实现文本识别。基于深度学习的视频字幕提取框架&#xff0c;包含字幕区…...

别再死记公式了!用Multisim仿真软件,10分钟搞懂555定时器的三种工作模式

用Multisim玩转555定时器&#xff1a;可视化学习三种工作模式的终极指南 记得第一次接触555定时器时&#xff0c;我被那些复杂的公式和抽象的工作原理搞得晕头转向。直到一位资深工程师告诉我&#xff1a;"别急着背公式&#xff0c;先看看它怎么工作。"这句话彻底改变…...

SpringBoot + MongoDB 5分钟快速集成:从0到1实操指南

目录 MongoDB‌ 快速集成 常用API MongoDB‌ MongoDB‌ 是一个基于分布式文件存储的‌文档型数据库‌&#xff0c;属于 NoSQL 数据库中最接近关系型数据库的产品&#xff0c;旨在为 Web 应用提供高性能、高可用和可扩展的数据存储解决方案 。 MongoDB以灵活的无模式文档模型…...

提升物业服务满意度的物业管理小程序

一、首页核心服务入口基础功能模块&#xff1a;物业缴费、我的房产、通知公告、投诉建议、维修申报、小区活动、家政服务、优惠好物&#xff0c;覆盖业主日常高频需求信息与活动展示&#xff1a;顶部搜索栏&#xff1a;支持关键词检索&#xff0c;快速定位所需服务物业公告&…...

音频驱动面部动画:Audio2Face技术原理与实践指南

音频驱动面部动画&#xff1a;Audio2Face技术原理与实践指南 【免费下载链接】FACEGOOD-Audio2Face http://www.facegood.cc 项目地址: https://gitcode.com/gh_mirrors/fa/FACEGOOD-Audio2Face 在虚拟人技术快速发展的今天&#xff0c;面部动画的自然度成为提升用户体验…...

告别手写CRUD:用IDEA插件实现数据库到Java代码的智能生成

1. 为什么我们需要告别手写CRUD&#xff1f; 作为一名有多年开发经验的程序员&#xff0c;我深知手写CRUD代码的痛苦。每次新建一个表&#xff0c;就要重复编写几乎相同的实体类、Mapper接口和XML文件。这种重复劳动不仅枯燥乏味&#xff0c;还容易出错。记得有一次我因为手误把…...

C++程序发生崩溃闪退后为什么会自动重启?是因为程序中启用了重启管理器,系统感知到程序异常退出后自动重启程序

最近在使用sdkdemo程序测试我们的SDK功能时&#xff0c;发现当我们关闭程序后&#xff08;程序确实关闭了&#xff09;&#xff0c;程序居然又自动启动起来了&#xff01;后来运行Debug版本的sdkdemo&#xff0c;在关闭程序时会弹出报错提示框&#xff1a;估计是程序在退出时产…...

人脸识别OOD模型在金融领域的身份验证应用

人脸识别OOD模型在金融领域的身份验证应用 1. 引言 想象一下这样的场景&#xff1a;一位银行客户正在通过手机APP进行大额转账&#xff0c;系统需要快速准确地确认他的身份。传统的人脸识别系统可能会因为光线不佳、佩戴口罩或者图像模糊而无法正常工作&#xff0c;甚至可能被…...

中小企业SEO推广应该投入多少费用

<h2>中小企业SEO推广应该投入多少费用</h2> <p>在数字化时代&#xff0c;网络已经成为企业推广和销售的重要渠道之一。特别是对于中小企业来说&#xff0c;通过优化搜索引擎&#xff08;SEO&#xff09;来提升网站的自然流量&#xff0c;是非常有效且相对经济…...

Mathtype公式识别:Magma多模态AI在教育领域的应用

Mathtype公式识别&#xff1a;Magma多模态AI在教育领域的应用 1. 引言 作为一名长期关注AI技术发展的从业者&#xff0c;我最近在测试微软开源的Magma多模态模型时&#xff0c;发现了一个特别有意思的应用场景——数学公式识别与处理。想象一下这样的场景&#xff1a;老师批改…...