PCIe 5.1-Transaction Layer Specification

该文章基于《5.0-1.0-PUB — PCI Express® Base Specification Revision 5.0 Version 1.0》翻译和理解

1 Transaction Layer Overview

在这里插入图片描述
At a high level, the key aspects of the Transaction Layer are:
在高层次上,事务层的主要方面包括

  • A pipelined full Split-Transaction protocol
  • Mechanisms for differentiating the ordering and processing requirements of Transaction Layer Packets (TLPs)
  • Credit-based flow control
  • Optional support for data poisoning and end-to-end data integrity detection.

The Transaction Layer comprehends the following:

  • TLP construction and processing
  • Association of transaction-level mechanisms with device resources including:
    • Flow Control
    • Virtual Channel management
  • Rules for ordering and management of TLPs
    • PCI/PCI-X compatible ordering
    • Including Traffic Class differentiation

This chapter specifies the behaviors associated with the Transaction Layer.

1.1 Address Spaces, Transaction Types, and Usage

Transactions form the basis for information transfer between a Requester and Completer. Four address spaces are defined, and different Transaction types are defined, each with its own unique intended usage, as shown in Table 2-1 .
事务是请求者和完成者之间信息传输的基础。如表 2-1 所示,定义了四个地址空间和不同的事务类型,每种类型都有自己独特的目的用途。
在这里插入图片描述
Details about the rules associated with usage of these address formats and the associated TLP formats are described later in this chapter.
有关这些地址格式和相关 TLP 格式使用规则的详情,将在本章稍后部分介绍。

1.1.1 Memory Transactions

Memory Transactions include the following types:

  • Read Request/Completion
  • Write Request
  • AtomicOp Request/Completion

Memory Transactions use two different address formats:

  • Short Address Format: 32-bit address
  • Long Address Format: 64-bit address

Certain Memory Transactions can optionally have a PASID TLP Prefix containing the Process Address Space ID (PASID).
某些内存事务可以选择包含进程地址空间 ID(PASID)的 PASID TLP 前缀。

1.1.2 I/O Transactions

PCI Express supports I/O Space for compatibility with legacy devices that require their use. Future revisions of this specification may deprecate the use of I/O Space. I/O Transactions include the following types:
PCI Express 支持 I/O Space,以便与需要使用 I/O Space 的传统设备兼容。本规范的未来修订版可能会取消 I/O 空间的使用。I/O 事务包括以下类型:

  • Read Request/Completion
  • Write Request/Completion

I/O Transactions use a single address format:

  • Short Address Format: 32-bit address

1.1.3 Configuration Transactions

Configuration Transactions are used to access configuration registers of Functions within devices.
Configuration Transactions include the following types:

  • Read Request/Completion
  • Write Request/Completion

1.1.4 Message Transactions

The Message Transactions, or simply Messages, are used to support in-band communication of events between devices.
消息事务(或简称 “消息”)用于支持设备之间的带内事件通信。
In addition to specific Messages defined in this document, PCI Express provides support for vendor-defined Messages using specified Message codes. Except for Vendor-Defined Messages that use the PCI-SIG® Vendor ID (0001h), the definition of specific vendor-defined Messages is outside the scope of this document.
除了本文档中定义的特定信息外,PCI Express 还支持使用特定信息代码的厂商定义信息。除了使用 PCI-SIG® Vendor ID (0001h) 的厂商定义报文外,特定厂商定义报文的定义不在本文档范围内。
This specification establishes a standard framework within which vendors can specify their own Vendor-Defined Messages tailored to fit the specific requirements of their platforms.
本规范建立了一个标准框架,供应商可在此框架内指定自己的供应商定义信息,以满足其平台的特定要求。
Note that these vendor-defined Messages are not guaranteed to be interoperable with components from different vendors.
请注意,这些厂商定义的 “消息 ”并不保证能与不同厂商的组件互操作。

1.2 Packet Format Overview

Transactions consist of Requests and Completions, which are communicated using packets. Figure 2-2 shows a high level serialized view of a TLP, consisting of one or more optional TLP Prefixes, a TLP header, a data payload (for some types of packets), and an optional TLP Digest. Figure 2-3 shows a more detailed view of the TLP. The following sections of this chapter define the detailed structure of the packet headers and digest.
事务由请求和完成组成,使用数据包进行通信。图 2-2 显示了 TLP 的高级序列化视图,它由一个或多个可选的 TLP 前缀、TLP 报头、数据有效载荷(对于某些类型的数据包)和可选的 TLP 摘要组成。图 2-3 显示了更详细的 TLP 视图。本章以下各节将详细介绍数据包标头和摘要的结构。
在这里插入图片描述
PCI Express conceptually transfers information as a serialized stream of bytes as shown in Figure 2-2 . Note that at the byte level, information is transmitted/received over the interconnect with the left-most byte of the TLP as shown in Figure 2-2 being transmitted/received first (byte 0 if one or more optional TLP Prefixes are present else byte H). Refer to Section 4.2 for details on how individual bytes of the packet are encoded and transmitted over the physical media.
PCI Express 在概念上以串行字节流的形式传输信息,如图 2-2 所示。需要注意的是,在字节级别上,通过互连传输/接收信息时,首先传输/接收的是图 2-2 所示 TLP 的最左字节(如果存在一个或多个可选 TLP 前缀,则为字节 0,否则为字节 H)。有关数据包各字节如何编码并在物理介质上传输的详细信息,请参阅第 4.2 节。
Detailed layouts of the TLP Prefix, TLP Header and TLP Digest (presented in generic form in Figure 2-3 ) are drawn with the lower numbered bytes on the left rather than on the right as has traditionally been depicted in other PCI specifications. The header layout is optimized for performance on a serialized interconnect, driven by the requirement that the most time critical information be transferred first. For example, within the TLP header, the most significant byte of the address field is transferred first so that it may be used for early address decode.
TLP 前缀、TLP 报头和 TLP 摘要的详细布局(图 2-3 中以通用形式显示)在绘制时,编号较低的字节位于左侧,而不是像其他 PCI 规范中传统的那样位于右侧。报头布局针对串行互连的性能进行了优化,要求首先传输时间最紧迫的信息。例如,在 TLP 报头中,首先传输地址字段中最重要的字节,以便用于早期地址解码。
在这里插入图片描述
Payload data within a TLP is depicted with the lowest addressed byte (byte J in Figure 2-3 ) shown to the upper left. Detailed layouts depicting data structure organization (such as the Configuration Space depictions in Chapter 7 ) retain the traditional PCI byte layout with the lowest addressed byte shown on the right. Regardless of depiction, all bytes are conceptually transmitted over the Link in increasing byte number order.
TLP 中的有效载荷数据左上方显示最低编址字节(图 2-3 中的字节 J)。描述数据结构组织的详细布局(如第 7 章中的配置空间描述)保留了传统的 PCI 字节布局,最低编址字节显示在右侧。无论采用哪种布局,从概念上讲,所有字节都是按照字节数递增的顺序在链路上传输的。
Depending on the type of a packet, the header for that packet will include some of the following types of fields:
根据数据包的类型,该数据包的报头将包括以下一些字段:

  • Format of the packet
  • Type of the packet
  • Length for any associated data
  • Transaction Descriptor, including:
    • Transaction ID
    • Attributes
    • Traffic Class
  • Address/routing information
  • Byte Enables
  • Message encoding
  • Completion status
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值