PCIe专题学习——3.0(数据链路层概述)

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

一:数据链路层概述

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

从上图中,我们也可以看到,Data Link Layer在PCIe总线中处于承上启下的作用,保证来自事务层的TLPs在PCIe总线中正常的传递;

  • 在发送端,当Transaction Layer事务层的TLPs传进来时,Data Link Layer会在TLP前后两端分别加上Sequence以及LCRC部分。

  • 在接收端,数据链路层接收到TLP报文之后进行拆解,剥离Sequence和LCRC部分,再传送至事务层。

此外,数据链路层使用了Retry与监控机制(Ack/Nak)来保证数据传输的一致性和完整性。

来自事务层的TLPs,再加上前缀Sequence和后缀LCRC之后,会首先暂存在数据链路层的TLP Retry Buffer,然后再发送至接收端,发送端会根据接收端传到的Ack/Nak DLLP决定是否需要重新发送TLP,如果不需要重新发送,则将其从TLP Retry Buffer里清除;

注意: DLLP不同于TLP,是产生与数据链路层,中止与数据链路层。DLLP并不是有TLP加上Sequence和LCRC组成的,具有单独的格式。

后续会对数据链路层的DLLP结构以及Ack/Nak进行详细的介绍,敬请期待!谢谢!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值