为了更好的理解 PCIe Flow Control 的运行机制,博主写了一个简单的小软件,感兴趣的同学可以把玩一下,下面是简单的说明。

名词解释

CL: Credit Limit, 是接收端累计发送给发送端的 credit 总量;
CC:Credit Consumed,是发送端累计消耗掉的 Credit 数量;
CCR:Cumulative Credit Required,是发送端需要使用的 Credit 数量,CCR = CC + 要发送的 TLP 所需要的 credit 数量;
PH:Posted TLP Header 类型的 Credit;
PD:Posted TLP Data 类型的 Credit;
NPH:Non-Posted TLP Header 类型的 Credit;
NPD:Non-Posted TLP Data 类型的 Credit;
CplH:Completion TLP Header 类型的 Credit;
CplD:Completion TLP Data 类型的 Credit;

操作步骤

center

Step1. 设置公共参数

Credit 的运行跟是否支持 Scale Flow Control 以及 Scale Factor 有关,同时也跟 MPS 有关,需要先设置一下,如果不需要设置,可以保持默认。

Step2. 初始化 Credit

要使用 Flow Control,需要接收端先把初始的 Credit 数量发送给发送端,设置好各个类型的 credit 数量后,点击 Set。

Step3. 发送 TLP

可以选择 TLP 的类型,以及数量,点击 Send。

Step4. 释放 TLP

接收端在收到 TLP 后,需要处理 TLP,将 Credit 释放掉。

Step5. 重置

如果尝试其他的参数,点击 RESET 重新开始。

另外,软件有日志区,以及一键获取 Guide。

获取方式

下载地址在这儿(需要付费,仅需1元):https://mp.weixin.qq.com/s/XaUGDd3y7ChabukTXmtacw
关注博主获取更多精彩内容:
center