• 正文
    • 1. protocol credit
    • 2. link layer credit
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

AMBA CHI總線的credit機(jī)制

04/14 09:35
511
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

AMBA CHI總線使用credit流控機(jī)制,包含兩種類型的credit。一種是協(xié)議層credit(protocol credit,P-credit),另一種是鏈路層credit(link layer credit,L-credit)。

1. protocol credit

協(xié)議層沒有明確的機(jī)制來請求P-credit。只有獲得RetryAck響應(yīng)的事務(wù)暗含請求credit,Retry的事務(wù)流程如下:

請求者發(fā)出一個(gè)沒有P-credit的請求(即AllowRetry字段為1)。

由于Completer不能接受請求,所以發(fā)出一個(gè)RetryAck響應(yīng),表明事務(wù)未被接受。

Completer返回PCrdGrant給請求者。通常情況下,PCrdGrant在RetryAck響應(yīng)之后的一段時(shí)間才返回。但是,在非典型情況下,可以在RetryAck之前返回PCrdGrant。

請求者收到RetryAck和PCrdGrant之后,有兩種選擇來結(jié)束retry流程。一種是重新發(fā)送原始請求并帶上credit(即AllowRetry字段為0,事務(wù)一定會被接受)。另一種是取消請求并退

retry機(jī)制最多支持16種不同的credit類型。例如,Completer可以為讀事務(wù)使用一種credit類型,為寫事務(wù)使用另一種credit類型。通過使用不同的credit類型,Completer可以有效地管理其資源。

2. link layer credit

鏈路層credit縮寫為L-credit。要將一個(gè)Flit從發(fā)送方傳送到接收方,發(fā)送方必須獲得L-credit。

每個(gè)通道(REQ、SNP、RSP、DAT)都有一個(gè)LCRDV信號,通過在單個(gè)時(shí)鐘周期內(nèi)拉高LCRDV信號將L-Credit從接收方發(fā)送到發(fā)送方。

從發(fā)送方到接收方的每次Flit傳輸消耗1個(gè)L-Credit。接收方可以提供的L-Credit的最小數(shù)量是1,最大是15。接收方必須保證能接受它發(fā)送L-Credit的所有flit。當(dāng)鏈路active時(shí),接收方必須及時(shí)提供L-Credit,而不需要發(fā)送方采取任何行動。

REQ通道接口信號

Credit的信息通常是在每個(gè)CHI節(jié)點(diǎn)內(nèi)部以credit counter計(jì)數(shù)器的形式來存儲的。

需要注意:L-Credit不能在收到的同一個(gè)周期內(nèi)就使用。

其實(shí),credit機(jī)制相當(dāng)于是一種提前反壓;而AXI總線的ready和valid握手機(jī)制是一種當(dāng)拍就反壓的機(jī)制。對AXI的ready和valid打拍需要使用Register Slice的方式;而對CHI的flit和flitv則可以直接用ff打拍。

credit和ready/valid握手最大的一個(gè)區(qū)別是:ready和valid只有在完成握手之后才能發(fā)送/接收下一個(gè), 而credit可以一次性發(fā)送/接收多筆事務(wù)。

因此,基于credit的CHI協(xié)議的流控機(jī)制更靈活,時(shí)序收斂和打拍更容易,適用于高性能、高吞吐量和可擴(kuò)展性的復(fù)雜系統(tǒng)。參考:AMBA CHI Architecture Specification

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄