PCIE系统标准体系结构解读(五):数据链路层数据包

PCIe 数据链路层的主要功能时保证两台设备之间传送TLP的完整性。还负责链路的初始化和电源管理,包括跟踪链路状态以及上面的处理层和下面的物理层之间传递的消息和状况。

在管理链路时,由3组重要的DLLPTLP确认Ack/Nak DLLP;电源管理DLLP;流控制数据包DLLP

DLLPTLP不同,没有携带目标信息,因为它们只用于相邻最近组件之间的通信。

DLLP从发送器发送至接收器时,立即被处理,不能对DLLP进行流量控制。与TLP不同,DLLP没有确认协议,PCIe规范定义了超时机制,能够用来从丢失或者丢弃DLLP的状态中恢复出来。

固定大小的DLLP数据包8个字节。所有的数据链路层数据包由如下几部分组成:①由一个字节的类型字段和3个附加属性字节组成的1DW核心,其中属性随DLLP类型的变化而变化;②一个根据DW核心内容计算的16比特CRC,附加在核心之后;③然后,把这6个字节传送至物理层,物理层给数据包添加一个DLLP开始控制字符和一个数据包结束控制字符。

DLLP中不会有数据有效载荷,所有有用信息都在类型字段和属性字段中。

1.5.1 DLLP数据包的类型

规范定义了3组DLLP,每组都有许多变体。

DLLP类型

类型字段编码

用途

ACK

0000 0000b

TLP传送的完整性

Nak

0001 0000b

TLP传送的完整性

PM_Enter_L1

0010 0000b

电源管理

PM_Enter_L23

0010 0001b

电源管理

PM_Active_State_Request_L1

0010 0011b

电源管理

PM_Request_Ack

0010 0100b

电源管理

厂商专用

0011 0000b

厂商

INitFC1-P(xxx-VC#)

0100 0xxxb

TLP流控制

INitFC1-NP(xxx-VC#)

0101 0xxxb

TLP流控制

INitFC1-Cpl(xxx-VC#)

0110 0xxxb

TLP流控制

INitFC2-P(xxx-VC#)

1100 0xxxb

TLP流控制

INitFC2-NP(xxx-VC#)

1101 0xxxb

TLP流控制

INitFC2-Cpl(xxx-VC#)

1110 0xxxb

TLP流控制

UpdateFC-P(xxx-VC#)

1000 0xxxb

TLP流控制

UpdateFC-NP(xxx-VC#)

1001 0xxxb

TLP流控制

UpdateFC- Cpl (xxx-VC#)

1010 0xxxb

TLP流控制

保留

其他

保留

1.5.2 Ack或Nak DLLP数据包的格式

下图是接收器用来确认或否认一个TLP传送的DLLP数据包的格式。

 

各字段定义如下表:

字段名

头字节/比特

DLLP功能

AckNak_Seq_Num[11:0]

字节3的比特7:0

字节2的比特3:0

ACK DLLP:对于接收的序列号等于EXT_RCV_SE count的正确TLP数据包,使用NEXT_RCV_SEQ count-1;对于接收的序列号小于EXT_RCV_SE count的正确TLP数据包,使用NEXT_RCV_SEQ count-1;

NAK DLLP:与CRC校验失败的TLP有关,使用NEXT_RCV_SEQ count-1;对接收的序列号早于NEXT_RCV_SEQ count的TLP,使用NEXT_RCV_SEQ count-1;发送器一旦接收到NAK DLLP,它就会清除序列号等于或早于该序列号的TLP,重发剩余的TLP

类型[7:0]

字节0的比特7:0

表示DLLP的类型

0000 0000b = ACK DLLP

0001 0000b = NAK DLLP

16比特的CRC

字节5的比特7:0

字节4的比特7:0

16比特的CRC用来保护此DLLP的内用,根据ACK/NAK的字节0~3计算的

1.5.3 电源管理DLLP数据包的格式

PCIe电源管理DLLPTLP数据包可代替大部分与电源管理状态变化有关的信号。用于电源管理的DLLP的格式如下图。

 

字段名

头字节/比特

DLLP功能

类型[7:0]

字节0的比特7:0

0010 0000b = PM_Enter_L1

0010 0001b = PM_Enter_L2

0010 0011b = PM_Active_State_Request

0010 0100b = PM_Request_Ack

链路CRC

字节5的比特7:0

字节4的比特7:0

16比特的CRC用来保护此DLLP的内用,根据ACK/NAK的字节0~3计算的

1.5.4 流控制数据包的格式

PCIe通过使用基于信用的流控制方案消除了早期总线协议中许多效率低下的方面。初始化信用和当接收器缓冲区空间可用时更新信用要使用3个略有不同的DLLP。两个流控制初始化数据包分别称为InitFC1InitFC2。更新DLLP称为UpdateFC

 

字段名

头字节/比特

DLLP功能

DataFC 11:0

字节3的比特7:0
字节2的比特3:0

此字段含有与数据存储相关的信用。数据信用的单位时每信用16个字节,能够应用于对V[2:0]表示的虚拟信道和字节0中比特7:4代码表示的流量类别的流控制计数

HdrFC 11:0

字节2的比特7:6

字节1的比特5:0

此字段含有与头存储相关的信用。数据信用的单位时每信用一个头,能够应用于对V[2:0]表示的虚拟信道和字节0中比特7:4代码表示的流量类别的流控制计数

VC[2:0]

字节0的比特2:0

此字段表示接收信用的虚拟信道(VC0~7)

类型[3:0]

字节0的比特7:4

0100b = INitFC1-P

0101b = INitFC1-NP

0110b = INitFC1-Cpl

0101b = INitFC2-P

1101b = INitFC2-NP

1110b = INitFC2-Cpl

1000b = UpdateFC-P

1001b = UpdateFC-NP

1010b = UpdateFC- Cpl

链路CRC

字节5的比特7:0

字节4的比特7:0

16比特的CRC用来保护此DLLP的内用,根据ACK/NAK的字节0~3计算的

1.5.5 厂商专用DLLP

 

字段名

头字节/比特

DLLP功能

类型[3:0]

字节0的比特7:4

厂商专用

链路CRC

字节5的比特7:0

字节4的比特7:0

16比特的CRC用来保护此DLLP的内用,根据ACK/NAK的字节0~3计算的

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: PCIE(Peripheral Component Interconnect Express)是一种高速串行总线技术,用于连接计算机的各种外部设备。PCIE系统体系结构标准教材中文版是指介绍PCIE技术体系结构和规范的教材,目的是帮助读者理解PCIE的工作原理和应用。 PCIE系统体系结构标准教材中文版主要包括以下内容: 1. PCIE介绍:介绍PCIE的背景和发展历程,以及与其他总线技术的比较优劣。 2. PCIE物理层:详细介绍PCIE的物理层规范,包括传输速率、电气参数、连接器和布线要求等。 3. PCIE传输层:解释PCIE传输层的工作原理,包括数据包的格式、流量控制和错误检测与纠正等。 4. PCIE协议层:介绍PCIE协议的结构和功能,包括配置空间、读写传输、中断处理和电源管理等。 5. PCIE拓扑结构:详细描述了PCIE的拓扑结构和连接方式,包括点对点、多点广播和多层拓扑结构等。 6. PCIE硬件设计:介绍PCIE接口在硬件设计中的要点和注意事项,包括PCB布局、信号完整性和电磁兼容性等。 7. PCIE软件开发:介绍PCIE设备驱动程序的开发和应用,包括驱动程序的编写、测试和调试等方面。 PCIE系统体系结构标准教材中文版提供了对PCIE技术的深入了解,能够帮助读者掌握PCIE的原理和应用,从而在硬件设计和软件开发中更好地应用PCIE技术。读者可以通过学习该教材,提升自己在计算机系统设计和开发领域的能力,为PCIE技术的应用提供支持。 ### 回答2: PCIe(Peripheral Component Interconnect Express)是一种计算机总线标准,用于将外部设备(如显卡、网卡等)连接到主板上。PCIE系统体系结构标准教材中文版是一本关于PCIe标准的教材,详细介绍了PCIe的工作原理、架构和规范。 该教材首先介绍了PCIe的基本概念和发展历程,包括PCIe在计算机硬件中的地位和作用。接着,教材详细解析了PCIe的物理层、数据链路层和传输层等核心组成部分,介绍了它们的功能和特点。教材还包括了PCIe的电气规范和传输协议等技术细节,帮助读者深入理解PCIe的架构和工作机制。 此外,教材还涵盖了PCIe的扩展功能和应用场景,包括多通道、多速率、多协议等技术特性。还介绍了PCIe的热插拔、电源管理、错误检测和纠正等高级特性,帮助读者了解如何应用PCIe实现更高效、更稳定的系统设计。 教材中还包括了一些实际案例和应用实例,帮助读者了解PCIe在实际工程中的应用。通过这些案例,读者可以学习PCIe的设计和调试方法,提高自己在PCIe系统开发和应用方面的能力。 总之,PCIE系统体系结构标准教材中文版是一本详细介绍PCIe标准的专业书籍,适合计算机硬件工程师、系统设计师以及对PCIe标准感兴趣的读者学习和参考。通过学习这本教材,读者可以全面了解PCIe的原理、规范和应用,提高自己在PCIe系统开发和应用方面的能力。 ### 回答3: PCIe系统体系结构标准教材中文版是一本关于PCIe(Peripheral Component Interconnect Express)系统体系结构的教材,其内容涵盖了PCIe总线的工作原理、架构、通信协议以及相关的技术规范等方面。 首先,该教材会介绍PCIe总线的基本概念和发展背景,包括PCIe与传统PCI总线的区别和优势。随后,教材会详细讲解PCIe总线的物理层、数据链路层和传输层等组成部分的工作原理和功能。 在介绍物理层方面,教材会解释PCIe总线的不同速度等级(如PCIe Gen1、Gen2和Gen3),以及不同的物理接口(如x1、x4、x8和x16)。此外,还会讲解信号传输、时钟和电源管理等与物理层相关的内容。 在数据链路层方面,教材会讲解数据帧的格式和流程、端点和事务层以及错误检测和纠正机制等。学习者可以了解到PCIe总线如何管理数据的流动、处理请求和响应以及实现可靠的数据传输。 最后,在传输层方面,教材会介绍PCIe总线的虚拟化能力、消息传递和流量控制等内容。学习者可以了解到如何使用PCIe总线进行高效的数据传输和管理。 此外,教材还会介绍PCIe总线的相关技术规范、命名约定和标准化组织等。学习者可以了解到PCIe标准的发展历程和应用领域,以及相关技术文献和资源。 总之,PCIe系统体系结构标准教材中文版具有丰富的内容和清晰的讲解,适合对PCIe总线感兴趣的学习者和从业人员使用。通过学习该教材,学习者可以对PCIe总线的工作原理和技术规范有一个全面的了解,并能够应用到实际的系统设计和开发中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值