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

PCIe进阶之TL:Completion Rules TLP Prefix Rules

1 Completion Rules & TLP Prefix Rules

1.1 Completion Rules

所有的 Read、Non-Posted Write 和 AtomicOp Request 都需要返回一个 Completion。Completion 有两种类型:一种带数据负载的,一种不带数据负载的。以下各节定义了 Completion header 中每个字段的规则。

  • Completion 使用 ID 路由,使用 3DW 头。
    (1)routing ID 字段直接对应相应请求者的 Requester ID 。因此,对于 Completion,这些字段将统称为 Requester ID,而不是用于 ID 路由的不同字段。
  • 除了所有 TLP 中包含的 Header 字段和 ID 路由字段之外,Completion 还包含以下其他字段。
    在这里插入图片描述

(1)Completer ID[15:0] – Completer 的 ID。
(2)Completion Status[2:0],具体如下:
在这里插入图片描述
(3)BCM – Byte Count Modified:此位不得由 PCI Express Completer 设置,只能由 PCI-X completer 设置。
(4)Byte Count[11:0] – 请求的剩余字节数。

  1. 字节计数值指定为二进制数,其中 0000 0000 0001b 表示剩余 1 字节,1111 1111 1111b 表示剩余 4095 个字节,而 0000 0000 0000b 表示剩余 4096 个字节。
  2. 对于 Memory Read Completion,Byte Count[11:0]要遵循 Spec 2.3.1.1 的规则。
  3. 对于 AtomicOp Completion,Byte Count 的值等于相关的 AtomicOp 操作数的 size。
  4. 对于其他的 Completion,Byte Count 等于 4。

(5)Tag[9:0] – 结合 Requester ID 字段,一起组成 Transaction ID 。
(6)Lower Address[6:0] – Completion 起始字节的低字节地址。

  1. 对于 Memory Read Completion,此字段中的值是随 Completion 返回的数据的第一个有效字节的地址。
  2. 对于 AtomicOp Completion,Lower Address 字段值为保留值。
  3. 对于所有其他的 Completion 类型,此字段均设置为全 0。接收者可以选择检查是否违反此规则。
  • Completer ID [15:0]是一个 16 位值,对于层次结构中的每个 PCI Express 的 FUnction 都是唯一的。
    在这里插入图片描述
  • Function 必须能捕获 Type 0 Configuration Write Request中的 Bus 和 Device Number,并

http://www.kler.cn/news/316972.html

相关文章:

  • Tomcat端口号被占用
  • Android使用OpenCV 4.5.0实现扑克牌识别(源码分享)
  • kismet和war driving具体准备(仅供无线安全学习)
  • 【SpringBoot】97、SpringBoot中使用EasyExcel导出/导入数据
  • JAVA并发编程系列之Semaphore信号量剖析
  • Go 1.19.4 路径和目录-Day 15
  • JDK7u21 HashMap版
  • ccfcsp-202112-1、序列查询
  • Python知识点:详细讲解在Python编程中,GIL(全局解释器锁)的影响与规避方法
  • 2024寻找那些能精准修改PDF内容的工具
  • 工控一体机在高精度玻璃检测机中的应用
  • C++11中的可变长模板参数
  • Linux 线程控制
  • 委托的注册及注销+观察者模式
  • C++容器list底层迭代器的实现逻辑~list相关函数模拟实现
  • 安卓LiveData与MutableLiveData的使用
  • 游戏淡入淡出效果
  • 消息中间件---Kafka
  • 频率增强通道注意力机制(FECAM)学习总结
  • LLMs之Qwen:Qwen2.5的简介、安装和使用方法、案例应用之详细攻略
  • Redisson 总结
  • 二叉树---java---黑马
  • 吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)2.1-2.2
  • 【IPV6从入门到起飞】5-5 IPV6+Home Assistant(HACS商店安装)docker版本安装
  • Leetcode3289. 数字小镇中的捣蛋鬼
  • vue中高德地图使用 Marker 标点 - 标点数据快到 1000 时页面卡顿问题解决(已解决 - 多方面原因)+ 海量点功能实现解决
  • 南昌大学-计算机科学与技术专业-预推免-专业课(408)复试面试准备
  • 通信工程学习:什么是MANO管理编排
  • 蓝桥杯嵌入式的学习总结
  • 18 基于51单片机的心率体温监测报警系统(包括程序、仿真、原理图、流程图)