PCI Express学习篇---Flow Control

声明:此文章为原创,转载请注明 转自https://blog.csdn.net/weixin_48180416/article/details/115678537

什么是Flow control? PCIe link的每一端的port必须实现Flow Control,在一个数据包发送前,必须检查接收端有足够的空间。

Flow control过程需要两个层次的参与,Transaction Layer包含Counter和Data Link Layer产生FC DLLP给对端。

注:各个VC有独立的Flow control buffer. 一个VC满了并不会block另外一个VC.

以下介绍Flow Control Buffer


Flow Control buffer是指Receiver buffer, 有六种buffer, Posted Header, Posted Data, NP Header, NP Data, Completion Header, Completion Data(如果Completion是在receiver是Bypass的,即infinite credit时就不会存在Completion buffer)

Flow Control buffer的大小用credit来衡量,credit单位如下:

Header credits — maximum header size + digest
— 4 DWs for completions
— 5 DWs for requests
Data credits — 4 DWs (aligned 16 bytes)

Credit有最大最小值限制,如果credit=0表示是infinite credit.

以下介绍FC Init和Update过程


FC Init

  • 当Physical LinkUp=1物理层link成功后,FC_Init1发送Init FC1 Flow Control DLLP,FC_Init2发送Init FC2 Flow Control DLLP;
  • 6
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值