PCIe事务层(详细)总结-PCIe专题知识(六)

10 篇文章 27 订阅

前言

本文主要讲解PCIe事务层(Transaction Layer)的主要功能,通过图文解析方便读者快速掌握,同时有PCIe专题讲解整个PCIe的相关知识。

一、简介

在PCIe体系结构中,数据报文首先在设备的核心层(Device Core)中产生,然后再经过该设备的事务层(Transaction Layer)、数据链路层(Data Link Layer)和物理层(Physical Layer),最终发送出去。而接收端的数据也需要通过物理层、数据链路和事务层,并最终到达Device Core。

事务层(Transaction Layer):接收端的事务层负责事务层包(Transaction Layer Packet,TLP)的解码与校检,发送端的事务层负责TLP的创建。此外,事务层还有QoS(Quality of Service)和流量控制(Flow Control)以及Transaction Ordering等功能,PCIe总线使用的这些总线事务在TLP头中定义。

在这里插入图片描述

数据链路层(Data Link Layer):数据链路层负责数据链路层包(Data Link Layer Packet,DLLP)的创建,解码和校检。同时,本层还实现了Ack/Nak的应答机制。
物理层(Physical Layer):物理层负责Ordered-Set Packet的创建与解码。同时负责发送与接收所有类型的包(TLPs、DLLPs和Ordered-Sets)。

二、事务层数据传输

事务层TLP传输的示意图如下图所示:
在这里插入图片描述
TLP在整个PCIe包结构的位置如以下两张图所示:(第一张为发送端,第二张为接收端)
发送端
在这里插入图片描述
接收端

在这里插入图片描述

三、数据格式

PCIe总线继承了PCI/PCI-X总线的大多数总线事务,如存储器读写(Memory Read/Write)、I/O读写、配置读写总线事务,并增加了Message总线事务和原子操作等总线事务。存储事务(Memory Transactions)包括的事务类型有读请求与响应、写请求、基于原子操作的请求与响应,并且支持3DW和4DW。

I/Ο事务(I/O Transactions),在PCIE3.0规范中说以后可能弃用该类型了,目前还是支持的,支持读、写的请求与响应,并只支持3DW。
配置事务(Configuration Transactions)用来访问设备的配置寄存器的,支持读、写的请求与响应事务类型。
消息事务(Message Transactions)支持设备间的带内通信(in-band)。
在这里插入图片描述

PCIe中有两大类总线事务:Non-Posted和Posted:
Non-Posted: 需要completion返回响应包;
Posted: 不需要completion返回响应包.

在PCIe总线中,Non-Posted总线事务分两部分进行,首先是发送端向接收端提交总线读写请求,之后接收端再向发送端发送完成(Completion)报文。PCIe总线使用Split传送方式处理所有Non-Posted总线事务,存储器读、I/O读写和配置读写这些Non-Posted总线事务都使用Split传送方式。

I/O 读写请求与存储器读写请求TLP格式基本类似,但只能是32位地址模式和基于地址的路由方式,且只能使用NON-Posted方式进行传递,这也是为了兼容PCI,在以后的协议几乎要取消I/O 读写请求了。另外,对于I/O读写请求,TC必须为0、Attr的低两位必须为0、AT必须为0、Length必须为1,Last DW必须为0。

在PCIe总线中,不同的总线事务采用的路由方式不相同。PCIe总线使用的数据报文首先在事务层中形成,这个数据报文也被称之为事务层数据报文,即TLP,TLP在经过数据链路层时被加上Sequence Number前缀和CRC后缀,然后发向物理层。

其中,TLP包的结构图如下图所示:
在这里插入图片描述

图中的TLP Digest即 ECRC(End-to-End CRC),是可选项。
此外,TLP的长度(包括其中的Header、Data和ECRC)是以DW(双字,即四个字节)为单位的。

TLP header的格式和内容会随着TLP的类型和路由(ID、Address、implcit)方式而改变,TLP的类型由Fmt(Format)决定,类型由type决定。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、其他相关链接

1、PCIe物理层总结-PCIE专题知识(一)

2、PCIe数据链路层图文总结-PCIe专题知识(二)

3、PCIe物理层链路训练和初始化总结-PCIe专题知识(三)

4、PCIe物理层弹性缓存机制解析-PCIe专题知识(四)

5、PCIe热插拔机制(详细)总结-PCIe专题知识(五)

6、PCI总线及发展历程总结

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
浅谈PCIe体系结构 浅谈PCIe体系结构 - 1 - 目录 - 1 - 第I篇PCI体系结构概述 - 1 - 第1章PCI总线的基本知识 - 3 - 1.1 PCI总线的组成结构 - 6 - 1.1.1 HOST主桥 - 6 - 1.1.2 PCI总线 - 7 - 1.1.3 PCI设备 - 7 - 1.1.4 HOST处理器 - 8 - 1.1.5 PCI总线的负载 - 9 - 1.2 PCI总线的信号定义 - 10 - 1.2.1 地址和数据信号 - 10 - 1.2.2 接口控制信号 - 11 - 1.2.3 仲裁信号 - 13 - 1.2.4 中断请求等其他信号 - 14 - 1.3 PCI总线的存储器读写总线事务 - 15 - 1.3.1 PCI总线事务的时序 - 15 - 1.3.2 Posted和Non-Posted传送方式 - 16 - 1.3.3 HOST处理器访问PCI设备 - 17 - 1.3.4 PCI设备读写主存储器 - 19 - 1.3.5 Delayed传送方式 - 21 - 1.4 PCI总线的中断机制 - 23 - 1.4.1 中断信号与中断控制器的连接关系 - 23 - 1.4.2 中断信号与PCI总线的连接关系 - 24 - 1.4.3 中断请求的同步 - 25 - 1.5 PCI-X总线简介 - 28 - 1.5.1 Split总线事务 - 28 - 1.5.2 总线传送协议 - 28 - 1.5.3 基于数据块的突发传送 - 29 - 1.6 小结 - 29 - 第2章PCI总线的桥与配置 - 30 - 2.1 存储器域与PCI总线域 - 30 - 2.1.1 CPU域、DRAM域与存储器域 - 31 - 2.1.2 PCI总线域 - 32 - 2.1.3 处理器域 - 32 - 2.2 HOST主桥 - 34 - 2.2.1 PCI设备配置空间的访问机制 - 35 - 2.2.2 存储器域地址空间到PCI总线域地址空间的转换 - 37 - 2.2.3 PCI总线域地址空间到存储器域地址空间的转换 - 39 - 2.2.4 x86处理器的HOST主桥 - 42 - 2.3 PCI桥与PCI设备的配置空间 - 45 - 2.3.1 PCI桥 - 45 - 2.3.2 PCI Agent设备的配置空间 - 47 - 2.3.3 PCI桥的配置空间 - 50 - 2.4 PCI总线的配置 - 54 - 2.4.1 Type 01h和Type 00h配置请求 - 54 - 2.4.2 PCI总线配置请求的转换原则 - 56 - 2.4.3 PCI总线树Bus号的初始化 - 58 - 2.4.4 PCI总线Device号的分配 - 60 - 2.5 非透明PCI桥 - 62 - 2.5.1 Intel 21555中的配置寄存器 - 63 - 2.5.2 通过非透明桥片进行数据传递 - 65 - 2.6 小结 - 67 - 第3章PCI总线的数据交换 - 68 - 3.1 PCI设备BAR空间的初始化 - 68 - 3.1.1 存储器地址与PCI总线地址的转换 - 68 - 3.1.2 PCI设备BAR寄存器和PCI桥Base、Limit寄存器的初始化 - 70 - 3.2 PCI设备的数据传递 - 72 - 3.2.1 PCI设备的正向译码与负向译码 - 72 - 3.3.2 处理器到PCI设备的数据传送 - 74 - 3.2.3 PCI设备的DMA操作 - 74 - 3.2.4 PCI桥的Combining、Merging和Collapsing - 75 - 3.3 与Cache相关的PCI总线事务 - 77 - 3.3.1 Cache一致性的基本概念 - 77 - 3.3.2 PCI设备对不可Cache的存储器空间进行DMA读写 - 82 - 3.3.3 PCI设备对可Cache的存储器空间进行DMA读写 - 83 - 3.3.4 PCI设备进行DMA写时发生Cache命中 - 85 - 3.3.5 DMA写时发生Cache命中的优化 - 87 - 3.4 预读机制 - 89 - 3.4.1 Instruction Fetch - 89 - 3.4.2 数据预读 - 92 - 3.4.3 软件预读 - 94 - 3.4.4 硬件预读 - 96 - 3.4.5 PCI总线的预读机制 - 97 - 3.5 小结 - 101 - 第II篇PCI Express体系结构概述 - 102 - 第4章PCIe总线概述 - 104 - 4.1 PCIe总线的基础知识 - 104 - 4.1.1 端到端的数据传递 - 104 - 4.1.2 PCIe总线使用的信号 - 106 - 4.1.3 PCIe总线的次结构 - 109 - 4.1.4 PCIe链路的扩展 - 111 - 4.2 PCIe体系结构的组成部件 - 114 - 4.2.1 基于PCIe架构的处理器系统 - 114 - 4.2.2 RC的组成结构 - 117 - 4.2.3 Switch - 118 - 4.2.4 VC和端口仲裁 - 120 - 4.2.5 PCIe-to-PCI/PCI-X桥片 - 122 - 4.3 PCIe设备的扩展配置空间 - 124 - 4.4 小结 - 125 - 第5章PCIe总线的事务 - 126 - 5.1 TLP的格式 - 126 - 5.1.1 通用TLP头的Fmt字段和Type字段 - 127 - 5.1.2 TC字段 - 129 - 5.1.3 Attr字段 - 130 - 5.1.4 通用TLP头中的其他字段 - 131 - 5.2 TLP的路由 - 133 - 5.2.1 基于地址的路由 - 133 - 5.2.2 基于ID的路由 - 135 - 5.2.3 隐式路由 - 138 - 5.3 存储器、I/O和配置读写请求TLP - 139 - 5.3.1 存储器读写请求TLP - 139 - 5.3.2 完成报文 - 144 - 5.3.3 配置读写请求TLP - 146 - 5.3.4 消息请求报文 - 147 - 5.4 TLP中与数据负载相关的参数 - 148 - 5.4.1 Max_Payload_Size参数 - 148 - 5.4.2 Max_Read_Request_Size参数 - 149 - 5.4.3 RCB参数 - 149 - 5.5 小结 - 150 - 第6章 MSI和MSI-X中断机制 - 151 - 6.1 MSI/MSI-X Capability结构 - 152 - 6.1.1 MSI Capability结构 - 152 - 6.1.2 MSI-X Capability结构 - 154 - 6.2 PowerPC处理器如何处理MSI中断请求 - 158 - 6.2.1 MSI中断机制使用的寄存器 - 159 - 6.2.2 系统软件如何初始化PCIe设备的MSI Capability结构 - 162 - 6.3 x86处理器如何处理MSI-X中断请求 - 165 - 6.3.1 Message Address字段和Message Data字段的格式 - 165 - 6.3.2 FSB Interrupt Message总线事务 - 168 - 6.4 小结 - 169 - 结束语 - 170 -
### 回答1: "pcie-xxx-02-x-d-th-footprint"是一个电子元件的标准尺寸。 首先,"pcie"表示这个尺寸是适用于PCI Express(PCIe)接口的元件。PCIe是一种计算机总线标准,用于连接电脑主板和外部设备。 接下来,"xxx"表示这个尺寸所适用的规范和版本。具体规范取决于硬件制造商和应用需求,可能是PCIe 3.0、PCIe 4.0等。 "02"表示这个尺寸的版本或修订号,通常代表了硬件标准的更新或改进。 "x"可能指的是特定尺寸的变量,可以是不同封装类型、连接器数量、针脚数目等。 "d"可能代表了器件的密度,指的是在给定的面积上有多少个引脚或连接器。 "th"表示这个尺寸是一个表面贴装型(SMT)元件,需要通过焊接技术安装在电路板上。 最后,"footprint"指的是元件的物理布局和尺寸。电子元件的脚位位置、尺寸以及间距将会按照这个标准来设计和制造。 因此,"pcie-xxx-02-x-d-th-footprint"可以被理解为一个符合PCI Express接口、特定规范和版本、特定封装类型和形状的表面贴装型电子元件的标准尺寸。这个标准尺寸指导了电路板设计师在设计和布局电路板时需要遵循的硬件规范。 ### 回答2: PCIE-XXX-02-X-D-TH是一种电子元件的封装底座或插座类型,用于安装PCI Express(PCIe)接口的电子设备上。 首先,"PCIE"代表了Peripheral Component Interconnection Express,即外设互连快速总线的缩写,它是一种高速数据传输接口标准,广泛应用于计算机、服务器、图形卡等设备。 "XXX"是具体的型号代码,代表了该电子元件的特定型号及规格。 "02"表示该元件有多个版本或系列,而"-X"代表了一个保密或未公开的特殊版本。 "D"表示该底座或插座是双排连接的,即拥有两个并列的排针或排孔。 "TH"代表Through-Hole,表示这个底座或插座是通过插针固定在电路板上的,而不是表面贴装(Surface Mount)类型。 "footprint"是指底座或插座在电路板上占据的物理空间,也可理解为底座的尺寸和布局。这个尺寸和布局信息对于设计师来说非常重要,因为它决定了元件在电路板上的布局和连线方式,也影响到整个电路的性能和稳定性。 总结来说,PCIE-XXX-02-X-D-TH-footprint表示了一种特定型号的PCIe插座,它采用双排连接,通过插针固定在电路板上,具有特定的尺寸和布局。这个信息对于电子设备的设计和生产非常关键,因为它决定了PCIe接口设备在电路板上的安装方式和连接方式。 ### 回答3: "pcie-xxx-02-x-d-th-footprint" 是一个针对 PCIe 槽位的规格标识。 PCIE 是指 PCI Express,是一种用于电脑主板上插槽的通信接口标准,用于连接外部设备,如显卡、硬盘等等。它提供了高带宽和高速度的数据传输。 而 "xxx-02-x-d-th-footprint" 用于描述 PCI Express 插槽的特征和尺寸。这个标识中的每个部分代表了具体的规格: - "xxx" 指的是 PCIe 插槽的物理尺寸和定位,例如 x1、x4、x8 或 x16 等; - "02" 指的是 PCI 版本。PCIe 标准有多个版本,每个版本之间有所不同; - "x" 是插槽的数量和布局,表示该插槽是通过 CPU 来提供扩展能力还是通过北桥芯片来提供扩展能力。例如,x1 指的是插槽数量为1, x16 指的是插槽数量为16; - "d" 是标识插槽的驱动能力,表示 PCIe 插槽能够提供的功率; - "th" 指的是插槽的连接方式,例如 "th" 可以代表固定直插插座,而 "mgc-th" 可以代表通过柔性连接器连接。 通过这样的规格标识,用户、制造商和设计师可以准确了解 PCIe 插槽的尺寸、版本、驱动能力和连接方式,以便选择合适的设备和进行正确的设计。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值