• 正文
    • 1. protocol credit
    • 2. link layer credit
  • 相关推荐
申请入驻 产业图谱

AMBA CHI总线的credit机制

04/14 09:35
338
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

AMBA CHI总线使用credit流控机制,包含两种类型的credit。一种是协议层credit(protocol credit,P-credit),另一种是链路层credit(link layer credit,L-credit)。

1. protocol credit

协议层没有明确的机制来请求P-credit。只有获得RetryAck响应的事务暗含请求credit,Retry的事务流程如下:

请求者发出一个没有P-credit的请求(即AllowRetry字段为1)。

由于Completer不能接受请求,所以发出一个RetryAck响应,表明事务未被接受。

Completer返回PCrdGrant给请求者。通常情况下,PCrdGrant在RetryAck响应之后的一段时间才返回。但是,在非典型情况下,可以在RetryAck之前返回PCrdGrant。

请求者收到RetryAck和PCrdGrant之后,有两种选择来结束retry流程。一种是重新发送原始请求并带上credit(即AllowRetry字段为0,事务一定会被接受)。另一种是取消请求并退

retry机制最多支持16种不同的credit类型。例如,Completer可以为读事务使用一种credit类型,为写事务使用另一种credit类型。通过使用不同的credit类型,Completer可以有效地管理其资源。

2. link layer credit

链路层credit缩写为L-credit。要将一个Flit从发送方传送到接收方,发送方必须获得L-credit。

每个通道(REQ、SNP、RSP、DAT)都有一个LCRDV信号,通过在单个时钟周期内拉高LCRDV信号将L-Credit从接收方发送到发送方。

从发送方到接收方的每次Flit传输消耗1个L-Credit。接收方可以提供的L-Credit的最小数量是1,最大是15。接收方必须保证能接受它发送L-Credit的所有flit。当链路active时,接收方必须及时提供L-Credit,而不需要发送方采取任何行动。

REQ通道接口信号

Credit的信息通常是在每个CHI节点内部以credit counter计数器的形式来存储的。

需要注意:L-Credit不能在收到的同一个周期内就使用。

其实,credit机制相当于是一种提前反压;而AXI总线的ready和valid握手机制是一种当拍就反压的机制。对AXI的ready和valid打拍需要使用Register Slice的方式;而对CHI的flit和flitv则可以直接用ff打拍。

credit和ready/valid握手最大的一个区别是:ready和valid只有在完成握手之后才能发送/接收下一个, 而credit可以一次性发送/接收多笔事务。

因此,基于credit的CHI协议的流控机制更灵活,时序收敛和打拍更容易,适用于高性能、高吞吐量和可扩展性的复杂系统。参考:AMBA CHI Architecture Specification

点赞
收藏
评论
分享
加入交流群
举报

相关推荐

登录即可解锁
  • 海量技术文章
  • 设计资源下载
  • 产业链客户资源
  • 写文章/发需求
立即登录