打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
PCIe系列专题之二:2.4 Flow Control机制概述

*故事前传

*PCIe事务层Flow Control概述

一、故事前传

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

较为详细解释请见之前的文章:

1. PCIe技术概述;

2.0 PCIe Transaction layer事务层概述;

2.1 TLP的前世今生;

2.2 TLP事务处理方式解析。

2.3 TLP事务结构解析。

二、事务层Flow Control概述

话说,前段时间小编想探访一下故宫深邃与博大,就兴致勃勃的去了,在长安街上过了无数个安检终于到达了天安门城楼之下,通过天安门城楼之后就看到了梦寐以求的故宫,准备买票呀~

当走到售票窗口时,看到一行字,小编失望极了,因为上面写着"故宫限流了~售票截止"!我的天呐~白跑一趟~

当时小编就想,如果来之前能得到限流的信息就好了~

讲到这里,不要为小编叹息呢~小编今天给大家带来个新朋友“Flow Control”。从英文的字面意思来看,它跟小编在故宫遇到的“限流”差不多是一个意思~

在PCIe协议中,如果要发送一个TLP,就必须要保证接收端有足够的缓存(Buffer)来接收。为了实现这一功能,接收端会随时回报可用的缓存空间。

在接收端有一个缓存空间叫作VC buffer, 其中VC代表的是Virtual Channel,翻译过来就是虚拟通道。VC buffer可以存放从发送端传过来的TLPs。

  • PCIe可以支持8虚拟通道(VC),每个VC之间可以相互独立传输TLPs, 当一个VC buffer满的时候,并不影响其他VC继续传输。

  • 有关VC的详细内容会在后续章节介绍,本文就不再展开了~

在flow control中, 还有一个很重要的概念不得不提一下:信用机制(Credit-based Mechanism)。因为接受端的可用VC buffer是以信用机制的方式告知发送端,在这里,信用积分代表接收端VC buffer的可用空间。

接收端会通过发送DLLPs(Data Link Layer Packets)来告知发送端VC buffer的信用积分(也就是告知VC buffer可用空间),当缓存空间快满的时候,发送端会停止发送TLP,以防VC buffer容量不足而造成发送端传输的数据被丢弃,从而避免要求发送端重新发送刚才发送的数据,最终达到更加有效利用网络带宽。

其实,事务层(Transaction Layer)和链路层(Data Link Layer)是Flow Control机制的共同监护人。如下图:

  • Device A和Device B均会把其事务层对应的可用空间(FC Buffer)告知链路层,链路层会在适当的时间生成Flow control DLLPs将可用空间的信息转送至接收端。(Device A to Device B, Device B to Device A

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
微信用久了长期不清理,会堆积大量的缓存占用手机空间,导致手机卡顿,教你一招给手机做一个深度清理!
高并发和高可用的一点思考
面试官:让你实现一个秒杀系统,你会怎么设计?
亿级流量系统架构之如何设计全链路99.99%高可用架构
每秒订单数25倍提升,蘑菇街怎样跨过海量服务架构的技术藩篱?
阿里巴巴中台战略思想和架构
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服