0,引言
在上一篇文章《PCIe从入门到精通之五:PCIe分层结构》中,我们介绍了PCIe分为四层(应用层、事务层、数据链路层和物理层)。在这一篇文章中我们继续介绍PCIe数据包packet如何在各层之间传输的。
所有PCIe主题的文章都会收录在《深入浅出聊PCIe
https://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编码,最后通过物理传输介质传输给接收方。
接收方在接受数据包(

最低0.47元/天 解锁文章
415

被折叠的 条评论
为什么被折叠?



