首页 > 其他分享 >PCIe系列专题之二:2.0 Transaction layer事务层概述

PCIe系列专题之二:2.0 Transaction layer事务层概述

时间:2024-11-05 16:01:53浏览次数:3  
标签:layer Transaction 读写 总线 事务 PCIe Non Posted

一、故事前传

上回我们对PCIe的一些基础概念作了一个宏观的介绍,了解了PCIe是一种封装分层协议(packet-based layered protocol),主要包括事务层(Transaction layer), 数据链路层(Data link layer)和物理层(Physical layer)。

较为详细解释请见之前的文章:PCIe技术概述;

二、事务层概述

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

图片

事务层的主要职责可以概述为:

事务层是PCIe总线层次结构的最高层,该层次将接收PCIe设备核心层的数据请求,并将其转换为PCIe总线事务,PCIe总线使用的这些总线事务在TLP头中定义。

PCIe总线继承了PCI/PCI-X总线的大多数总线事务,如存储器读写(Memory Read/Write)I/O读写配置读写总线事务,并增加了Message总线事务原子操作等总线事务。 

图片

扩展:PCIe中有两大类总线事务:Non-Posted和Posted:

  1. Non-Posted: 需要completion返回响应包;

  2. Posted: 不需要completion返回响应包.

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

PCIe的事务层还支持流量控制(Flow control)虚通路管理(Virtual Channel Management)等一系列特性,而PCI总线并不支持这些新的特性。  

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

本篇文章主要是对PCIe的事务层作一个大致的表述,后续章节会针对事务层主要的功能TLP, Flow Control, Transaction Ordering等内容进行详细的介绍,敬请期待!

标签:layer,Transaction,读写,总线,事务,PCIe,Non,Posted
From: https://www.cnblogs.com/FireLife-Cheng/p/18528187

相关文章

  • PCIe系列专题之二:2.1 TLP的前世今生
    一、故事前传之前我们讲了对PCIe的一些基础概念作了一个宏观的介绍,了解了PCIe是一种封装分层协议(packet-basedlayeredprotocol),主要包括事务层(Transactionlayer),数据链路层(Datalinklayer)和物理层(Physicallayer)。较为详细解释请见之前的文章:1.PCIe技术概述;2.0PCIe......
  • PCIe系列专题之二:2.2 TLP事务处理方式解析
    一、故事前传之前我们讲了对PCIe的一些基础概念作了一个宏观的介绍,了解了PCIe是一种封装分层协议(packet-basedlayeredprotocol),主要包括事务层(Transactionlayer),数据链路层(Datalinklayer)和物理层(Physicallayer)。较为详细解释请见之前的文章:1.PCIe技术概述;2.0PCIe......
  • PCIe系列专题之二:2.3 TLP结构解析
    一、故事前传之前我们讲了对PCIe的一些基础概念作了一个宏观的介绍,了解了PCIe是一种封装分层协议(packet-basedlayeredprotocol),主要包括事务层(Transactionlayer),数据链路层(Datalinklayer)和物理层(Physicallayer)。较为详细解释请见之前的文章:1.PCIe技术概述;2.0PCIe......
  • PCIe系列专题之二:2.4 Flow Control机制概
    一、故事前传之前我们讲了对PCIe的一些基础概念作了一个宏观的介绍,了解了PCIe是一种封装分层协议(packet-basedlayeredprotocol),主要包括事务层(Transactionlayer),数据链路层(Datalinklayer)和物理层(Physicallayer)。较为详细解释请见之前的文章:1.PCIe技术概述;2.0PCIe......
  • PCIe系列专题之二:2.6 Flow Control初始化
    一、故事前传之前我们讲了对PCIe的一些基础概念作了一个宏观的介绍,了解了PCIe是一种封装分层协议(packet-basedlayeredprotocol),主要包括事务层(Transactionlayer),数据链路层(Datalinklayer)和物理层(Physicallayer)。较为详细解释请见之前的文章:1.PCIe技术概述;2.0PCIe......
  • PCIe系列专题之二:2.5 Flow Control缓存架构及信用积分
    一、故事前传之前我们讲了对PCIe的一些基础概念作了一个宏观的介绍,了解了PCIe是一种封装分层协议(packet-basedlayeredprotocol),主要包括事务层(Transactionlayer),数据链路层(Datalinklayer)和物理层(Physicallayer)。较为详细解释请见之前的文章:1.PCIe技术概述;2.0PCIe......
  • PCIe系列专题之二:2.7 Flow Control的实现过程
    一、故事前传之前我们讲了对PCIe的一些基础概念作了一个宏观的介绍,了解了PCIe是一种封装分层协议(packet-basedlayeredprotocol),主要包括事务层(Transactionlayer),数据链路层(Datalinklayer)和物理层(Physicallayer)。较为详细解释请见之前的文章:1.PCIe技术概述;2.0PCIe......
  • SATA系列专题之二《2.2 Link layer链路层加扰/解扰/CRC解析》
    文章目录系列文章目录前言一、故事前传二、SATALinkLayer加扰/解扰解析二、SATALinkLayerCRC解析总结 前言一、故事前传我们之前说到Link layer的结构,linklayer的作用大致可以包括以下几点:Frame flowcontrolCRC的生成与检测对数据与控制字符......
  • SATA系列专题之二《2.3 Link layer链路层 Frame结构以及Primitive基元解析》
    文章目录系列文章目录前言一、故事前传二、Frame结构解析二、Primitive基元解析总结 前言  一、故事前传我们之前说到Linklayer的结构,linklayer的作用大致可以包括以下几点:FrameflowcontrolCRC的生成与检测(已解析,详细见历史文章)对数据与控制......
  • SATA系列专题之三《3.0 Transport Layer传输层概述》
    系列文章目录文章目录前言一、故事前传二、SATATransportLayer传输层概述总结 前言 一、故事前传在之前的文章中,我们有提到SATA主要包括:应用层(ApplicationLayer),传输层(TransportLayer),链路层(LinkLayer)以及物理层(PhysicalLayer),SATA结构如下图:......