Parts 1 to 7 used the course's own messages (GetS, GetM, Fwd-GetS, Inv, Data, PutM and the rest). This topic maps two real Arm protocols onto that model, so that a trace you already understand can be read in spec vocabulary. Every rule here is cited from one document and revision: the AMBA AXI and ACE Protocol Specification, Arm IHI 0022, Issue H.c (ACE), and the AMBA 5 CHI Architecture Specification, Arm IHI 0050, Issue E.a (CHI). Where a later issue renames or adds something, check that issue before relying on it. The interface survey lives in the Protocols course; this topic goes into the coherence mechanics.
Lesson | After it you can... |
|---|---|
Map ACE's snoop channels, five states, transactions and CRRESP bits onto the course's dirty read. | |
Name CHI's node types and four channels, follow TxnID and DBID, and trace a RetryAck and PCrdGrant. | |
Follow a DCT read, a CleanUnique upgrade and a WriteBackFull, and say what CompAck completes. | |
Translate MESI and MOESI states to ACE and CHI names, and handle UCE and UDP, which have no course equivalent. |
Suggested order: ACE first (it adds snooping to an interface you may know), then CHI's nodes and channels, its transactions, and finally the state table that ties all three vocabularies together.
It plays the same role (H asks the holder to supply a reader and downgrade), but it is not the same message. SnpSharedFwd carries FwdNID and FwdTxnID so the holder can send CompData straight to the requester, and the holder then reports to the home with a snoop response. The course's default Fwd-GetS sends Data back through H, and the direct route is only a variant there. Map roles, not names.