首页 > 其他分享 >PCIE背景知识学习(6)

PCIE背景知识学习(6)

时间:2022-09-27 14:24:03浏览次数:46  
标签:TLP CRC 背景 知识 PCIE Link 链路 缓冲区 接收

PCIE背景知识学习(6)

物理层

物理层的 LTSSM(Link Training and Status State Machine,链路训练状态机)负责进行链路初始化以及训练。

 为了更容易看出这个数据包是怎么构成的,我们将 TLP 的不同部分用不同的颜色进行标识,以此来表示对应的部分是由哪一层添加的:红色代表事务层,蓝色代表数据链路层,绿色代表物理层。

 

 

 事务层还可以选择添加 ECRC(End-to-End CRC, 端到端 CRC)字段,这个 ECRC 由事务层进行计算并附加在数据包的后面。

对于 TLP 的传输,TLP 的核心部分由事务层转发至数据链路层,数据链路层负责在 TLP 中添加一个序列号和另外一个被称为 LCRC(Link CRC, 链路CRC) CRC 字段区域。

LCRC 被对端接收方用来进行错误检查,并将链路上传输的每个数据包的检查结果都汇报给发送方。

 

 

 

 

 

 

 

 

总线号、设备号、功能号组合起来的信息(有时被缩写为 BDF,Bus、Device、Function)就是完成包用来返回到发起方的路由信息。

流量控制(Flow Control)

 

 

接收方内的 VC 缓冲区内缓存了接收到的 TLP。接收方将自己的缓冲区大小通过流量控制 DLLP 来告知发送方。发送方将会跟踪接收方的可用缓冲区空间的值,并且不允许发出大于这个可用空间的数据包。当接收方对缓冲区中的 TLP 进行了处理,并将这个 TLP 移出了缓冲区,此时缓冲区中就空闲出了新的可用空间,那么接收方将会定期的发送流量控制更新 DLLP ,保持发送方能够获取到最新的可用空间的值。

数据链路层(Data Link Layer)

数据链路层这一层的逻辑是用来负责链路管理的,它主要表现为3个功能:TLP 错误纠正、流量控制以及一些链路电源管理。

 

 

 

 

 

 如果接收方检测到了一个 TLP 错误,它将会把这个 TLP 丢弃,并向发送方返回一个 Nak DLLP,以期望发送方能对未确认成功接收的 TLP 进行重传,并通过重传获得一个完好的 TLP。由于错误检测通常是十分迅速的操作,因此从错误检测开始到发起重传的时间也比较短,这样就可以在较短的时间内纠正发生的错误。这一操作过程被称为 Ack/Nak(Acknowledge/NotAcknowledge) 协议。

 

 

 

 

 

 

 

每个字节都进行了扰码,以此来减少在传输线上传输连续重复的“0”或“1”,这有助于减少链路上的 EMI(electro-magnetic interference,电磁干扰)。

链路训练和初始化(Link Training and Initialization)

在这个过程中,为了确保执行正确以及最优的操作,我们需要检查或者建立一些东西,例如:

链路宽度(Link width)

链路数据率(Link data rate)

通道调转(Lane reversal)—— 通道收发连接相反了,本应 TX 连对端 RX ,若相反则变成 TX 连了对端 TX。

极性反转(Polarity inversion)—— 通道极性连接相反,TX_P 应当连接对端的 RX_P,若相反则变成了 TX_P 连接了对端的 RX_N。

每个通道的位锁定(bit lock)—— 恢复出发送方的时钟。

每个通道的符号锁定(symbol lock)—— 在比特流中找到一个可辨认的位置。

多通道链路中的 Lane-to-Lane 歪斜去除。

 

 

 

标签:TLP,CRC,背景,知识,PCIE,Link,链路,缓冲区,接收
From: https://www.cnblogs.com/chensimin1990/p/16734374.html

相关文章

  • PCIE背景知识学习(7)
    PCIE背景知识学习(7)每个PCIe功能(Function)的标识在其所在的设备内,以及这个设备所连接的总线内,都是唯一的。其标识符一般被称为“BDF”。   仔细看图中的总线序号,观察......
  • 从0开始的Axure学习(一)Axure的界面知识
    前言:1.作为一个测试人员,有时候在日常的工作中也需要针对产品的布局进行界面化测试,需要合理,正确的判断。2.想通过测试作为开始逐渐往产品或交互工程师等进行变化3.学习新......
  • 爬虫理论知识
    常用的请求方法(1)Get(2)Post(3)Put(4)Delete(5)Trace(6)Head(7)Connect(8)Options列举反爬虫机制(1)UA检测;UserAgent:实现UA伪装;Cookie:模拟登陆;Accept:接......
  • 月出の杂谈 | 热知识:在 SEU 开会可以去哪里
    空间预约:健雄书院预约系统只对吴院人开放,其他人可通过前台志愿者预约。秉文书院对全校开放(貌似?),需要提前一天预约。借教室需要提前两天申请。图书馆研讨间可以随......
  • 学习:网络基础知识 https安全性总结,http和https对比
    加密----秘钥;身份认证----证书(申请)==双向认证;完整性保护----哈希算法--计算一个hash值验证消息的完整性,对比客户端发来的摘要信息来对比自身计算的摘要信息保证数据没......
  • 学习:网络基础知识-Https协议详解
    HTTP协议问题:发送数据都是明文的;如果第三者窃听截取数据包伪装成客户端与服务器进行交互服务器没有认证机制来确定客户端的身份客户端也没有任何机制确认服务器的身份;没......
  • 学习:网络基础知识 HTTP协议之响应报文
    响应报文-服务器回应给客户端的报文响应行+响应头部+空一行(格式代表响应头部结束)+响应体(服务器真真要返回的页面内容)   可以百度HTTP状态码可以看到详细的介绍响......
  • 学习:网络基础知识 HTTP协议之请求报文
    HTTP协议和安全版HTTPS协议HTTP(HyperTextTransferProtocol)超文本传输协议HTTP协议是基于TCP协议默认端口是80功能:用来规定客户端和服务端的数据传输格式特点:基......
  • P1-P3ARM64体系基础知识
    P1导读armv8概述armv8体系结构概述armv8寄存器armv8指令集gcc汇编语法和链接脚本armv8系统寄存器介绍armv8异常和中断armv8高速缓存管理内存序多核管理arm调试......
  • PCIE背景知识学习(2)
    PCIE背景知识学习(2)PCI中断处理(PCIInterruptHandling)PCI设备使用4个边带信号(sideband)作为中断信号,分别为INTA#、INTB#、INTC#、INTD#,并从中选取一个来向系统发送中断......