PCIe事务层包TLP Header详解
1、事务层包的一般格式:
包的header为3DW(double word)或者4DW(一个DW代表4字节),数据负载为1~1024DW(即4~4096byte,最大4M),TLP Digest可选,TLP Digest表示检查,即CRC校验可选,长度为1DW(4byte),
TLP header的格式和内容会随着TLP的类型和路由(ID、Address、implcit)方式而改变,TLP的类型由Fmt(Format)决定,类型由type决定,
关于byte enable,分为Last DW Byte Enables和First DW Byte Enables,在PCIe中Data Payload的单位是DW,也就是说数据大小(地址)需要以双字进行对齐,优势数据的大小并不是DW的整数倍,因此引入了Byte Enable来解决该问题,需要遵循的原则为:
(1)、Byte enable为高电平有效,低电平表示Data Payload对应的byte为无效,不被completer使用。
(2)、如果有效数据小于1DW,即小于4byte,则last DW byte enable应全部为0.
(3)、如果有效数据大于1DW,则Last DW byte enable 中至少有一位有效
(4)、如果有效数据大于等于3DW,则first DW byteenable和
关于TLP的Data Payload有:
(1)、Data Payload的大小由TLP Header中的length决定
(2)、Data Payload的大小并不是有效的数据的大小,有效数据的大小是由Data Payload和Byte Enable共同决定的。
(3)、data Payload采用的对齐方式i是小端对齐,低字节存放于低地址中。
(4)、当事务包类型为Message是,Length一般是保留的,除非该Message是带有数据的MsgD。
(5)、TLP的Data Payload大小不得超过Max_Payload_Size的值,该值位于Device Control Register中。对于比较大的数据量,因此只能分多次进行发送。对于读请求来说,并没有Data Payload,也就是说该规则并不适用于读请求。
PCIe事务层包TLP Header详解的更多相关文章
- PCIE学习笔记--TLP Header详解(三)
目录篇地址为:http://blog.chinaaet.com/justlxy/p/5100053481 Completions Completions的TLP Header的格式如下图所示: 这里来 ...
- PCIe事务层の详解(一)
PCIe总线的通信机制:当一个设备要想另一个设备进行读取通信时,请求方requester需要向另一个设备发送请求request,靶向方作为事件完成方completer,以complete Packet ...
- [转帖]IP /TCP协议及握手过程和数据包格式中级详解
IP /TCP协议及握手过程和数据包格式中级详解 https://www.toutiao.com/a6665292902458982926/ 写的挺好的 其实 一直没闹明白 网络好 广播地址 还有 网 ...
- Istio Ambient Mesh七层服务治理图文详解
摘要:本文主要集中剖析Ambient mesh七层服务治理相关内容. 本文分享自华为云社区<Istio Ambient Mesh七层服务治理图文详解>,作者:华为云云原生团队. 由于Amb ...
- HTTP Header详解(转载)
HTTP Header详解 HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的的通用协议.HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务 ...
- 笔记整理--HTTP Header 详解
HTTP Header 详解 2013/09/21 | 分类: IT技术 | 0 条评论 | 标签: HTTP 分享到:36 原文出处: zcmhi HTTP(HyperTextTransferPro ...
- 数据库常用的事务隔离级别和原理?&&mysql-Innodb事务隔离级别-repeatable read详解
转载地址:https://baijiahao.baidu.com/s?id=1611918898724887602&wfr=spider&for=pc https://blog.csd ...
- ELF文件解析(二):ELF header详解
上一篇讲了ELF文件的总体布局,以及section和segment的概念.按照计划,今天继续讲 ELF header. 讲新的内容之前,先更正一个错误:上一篇中讲section header tabl ...
- 【转】RocketMQ事务消费和顺序消费详解
RocketMQ事务消费和顺序消费详解 转载说明:该文章纯转载,若有侵权或给原作者造成不便望告知,仅供学习参考. 一.RocketMq有3中消息类型 1.普通消费 2. 顺序消费 3.事务消费 顺序消 ...
随机推荐
- BZOJ 3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛 水题~
水~ #include <cstdio> #define N 100004 #define mod 5000011 #define setIO(s) freopen(s".in& ...
- 奇怪的 Markdown / LaTeX 笔记
记一下日常见到的一些奇怪的 Markdown / LaTeX 用法... Markdown LaTeX LaTeX 数学 1. 运算符 1.1 造运算符: a \operatorname{sin} c ...
- CF191C Fools and Roads - 树剖解法
Codeforces Round #121 (Div. 1) C. Fools and Roads time limit per test :2 seconds memory limit per te ...
- 数据科学20个最好的Python库
Python 在解决数据科学任务和挑战方面继续处于领先地位.去年,我们曾发表一篇博客文章 Top 15 Python Libraries for Data Science in 2017,概述了当时业 ...
- Spring Boot教程(十六)属性配置文件详解(1)
相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷.我们在Spring Boot使用过程中,最直观的感受就是没有了原来自己整合Spring应用时繁 ...
- Linux轻量级自动运维工具-Ansible浅析 转
转自 Linux轻量级自动运维工具-Ansible浅析 - ~微风~ - 51CTO技术博客http://weiweidefeng.blog.51cto.com/1957995/1895261 Ans ...
- RTMP服务器的延迟,多级边缘不影响延迟,gop为最大因素
转自:http://blog.chinaunix.net/uid-26000296-id-4932826.html 编码器用FMLE,用手机秒表作为延迟计算. 结论: 1. 影响延迟的三个重要因素:网 ...
- curl下载文件时自动创建目录
有时候需要自动创建多级目录 按照如下格式即可 curl -o d:/lei/demo/test.jpg --create-dirs http://img.7160.com/uploads/allimg ...
- RaspberryPI 3b 技术总结(包括Linux)
安装系统,无屏幕,无网线,windows下 第一步当然是把ROM(官方系统)和刷写工具备好,TF卡一张,当然必须有读卡设备. 启动Etcher,将ROM刷入TF卡,这需要挺长一段时间,完毕后将会出现四 ...
- webpack4常用片段
webpack 4常用 初始化 npm init // Webpack 4.0以后需要单独安装 npm install webpack webpack-cli --save-dev 基础的config ...