A transaction identifier correlates messages; a buffer slot retains work; an admission credit authorises particular future work. They are related resources, not interchangeable counters. CHI’s link-level credits and protocol-credit retry machinery operate at different boundaries. Retain the Issue/revision scope already stated below when interpreting actual message names.
This resource exercise intentionally uses generic Req/Snoop/Data/Complete names, not CHI opcodes. A home accepts a request only under its stated storage policy and must track any promised snoop data before finishing it. Eventual completion assumes delivery, fair service and a responder that eventually makes progress; adding a network channel alone proves none of these.
Follow one transaction context until every obligation is retired — worked trace
Illustrative isolated example; not measured silicon behaviour.
Event | Context held at home | Why it stays allocated |
|---|---|---|
Request accepted | Address, requester and transaction identity | The requester still expects a result |
Peer promises data | Above plus unresolved data obligation | A response indication alone is not the promised bytes |
Data arrives | Returned value and remaining completion obligations | Routing and completion remain to be resolved |
Required completion obligations finish | Context may be released under the protocol | Reusing it earlier could match a late message to new work |
No. This transaction still has an unresolved data obligation. The response and data can be separate events; a free link credit does not discharge the end-to-end obligation.
Read first: Specialist comparison; note its independently named specification revisions
In the simplified coherent path here, a Request Node initiates accesses, a coherent Home Node coordinates coherence for its assigned addresses, and a Subordinate Node provides downstream service. CHI defines different coherent and non-coherent node types; these three labels alone do not specify every capability. Arm IHI 0050 Issue H B1.6 permits an HN-F to include a directory or snoop filter rather than requiring one.
CHI separates REQ (request), RSP (response), DAT (data) and SNP (snoop) roles. That separation supports concurrency, but the protocol, network and buffering design must still preserve their dependency rules. Separate channels alone do not prove absence of deadlock, livelock or starvation.
What to notice
The home determines the required peer and downstream work for the selected transaction.
A downstream memory path does not make a dirty peer's newer data irrelevant.
The coherent home. It resolves the line's required peer and downstream actions; the SN is the downstream service role.
This trace uses AMBA CHI, Arm IHI 0050 Issue H B2.10 and Figure B2.50. RN-F requests ReadOnce from HN-F. Assume HN-F cannot allocate the required transaction entry on the first attempt, supports retry, and later reserves the appropriate resource. No link failure, reset or cancellation occurs. The chosen credit type is n; it is a type, not a universal count of free bytes.
Normal and reordered Protocol Credit arrival
Event at requester | Recorded evidence | May resend? |
|---|---|---|
Send initial ReadOnce | AllowRetry=1; PCrdType=0 | Not a retry; retain request context. |
Receive RetryAck(type n) | Request rejected for admission; matching credit still absent | No: RetryAck alone is insufficient. |
Receive PCrdGrant(type n) | RetryAck and suitable grant from the required Completer now recorded | Yes: resend with AllowRetry=0 and PCrdType=n. |
Alternative: grant arrives before RetryAck | Retain grant's source/type context; rejection not yet received | No, until the matching RetryAck arrives. |
Credited request accepted | Admission obligation satisfied; operation remains in flight | Wait for this transaction's required data/completion. |
What to notice
The alternative row describes a separate arrival ordering, not an extra grant in the first trace.
Progress assumes resource release, delivery and service of admitted work. Separation into REQ/RSP/DAT/SNP does not establish those assumptions by itself.
Neither. It must retain the suitable credit and wait for the corresponding RetryAck before retrying. Admission on the credited retry still precedes the transaction's data/completion obligations.
A directory or snoop filter can reduce unnecessary snoops using conservative knowledge of which caches may hold a line. Its representation, capacity and handling of missing information are implementation choices. Do not equate CHI with mandatory exact-directory tracking or assume ACE always broadcasts. There is no universal eight-core or 32-core protocol scaling threshold; compare the actual traffic and resources.
In AMBA CHI Issue H request retry, a Completer that cannot accept an eligible first request can return RetryAck and later PCrdGrant for the required Protocol Credit. The Requester must wait for both before resending with AllowRetry deasserted and the granted PCrdType; the credited retry is guaranteed acceptance under the protocol rules. A high RetryAck rate shows admission/resource pressure at a Completer or path, but does not by itself identify a home-node compute bottleneck.
Home placement and address distribution affect locality and hotspots; evaluate the selected topology.
Directory representation trades storage, filtering precision and fallback traffic; bit-vector width is not the only possible encoding.
Distinguish CHI channel/link flow control from implementation-specific NoC virtual channels and buffer pools.
Identify node roles and message obligations before interpreting a topology or a latency counter.
A CHI retry needs both RetryAck and a suitable Protocol Credit; their arrival order can differ.
A credit grants admission under the protocol rules, not an end-to-end latency deadline.