PCIe从入门到精通之六:PCIe数据包packet的神奇之旅

0,引言

在上一篇文章《PCIe从入门到精通之五:PCIe分层结构》中我们介绍了PCIe分为四层(应用层、事务层、数据链路层和物理层)。在这一篇文章中我们继续介绍PCIe数据包packet如何在各层之间传输的。

所有PCIe主题的文章都会收录在《深入浅出聊PCIehttps://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzU3NDY3OTA2Nw==&action=getalbum&album_id=4142016342255960068#wechat_redirect》合集里,欢迎评阅。

需要下载PCIe学习资料标准的朋友(pdf格式),请关注本微信公众号“硬件工程师宝典”,在对话框内回复“PCIe”,将获取标准下载链接。

一,PCIe数据包packet的种类

数据包(packet)是PCIe总线传输数据的最小单元。最原始要传输的数据我们称之为data payload。想象一下总公司(Root Complex)要派员工(Data Payload)到下属的分公司(Endpoint)出差。员工(Data Payload)从事务层出发,每到一层就会对上层来的数据进行打包,每一层都要秀一下存在感嘛,否则哪儿来的performance。打包后的数据作为下一层的原始数据再进行打包,这就像人穿衣服一样。员工(Data Payload)一开始是一丝不挂的,在事务层我们给他穿上了内衣,在数据链路层我们给他穿上了秋衣,在物理层我们给他穿上了外套。这样武装整齐,员工(Data Payload)就可以出门乘坐Root Complex和Endpoint之间的高铁了。

如下图所示,事务层给Data Payload穿加上了内衣(Header和ECRC),我们称之为TLP(Transaction Layer Packet),如图中红色部分所示;数据链路层给数据包(packet)穿上了秋衣(Sequence Number和LCRC),我们称之DLLP(Data Link Layer Packet),如图中蓝色部分所示;物理层数据链路层给数据包(packet)穿上了外套(两个Framing),如图中绿色部分所示。

最后在物理层打包好的数据包(packet),在每个Lane上加扰码,经8/10或128/130编码或Flit编码,最后通过物理传输介质传输给接收方。

接收方在接受数据包(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值