Coherent Hub Interface(CHI)は、ACE(AXI Coherency Extensions)プロトコルを進化させたものである。
CHIプロトコルの基礎:
まずはノードの種類と通信手段についてまとめる。 その次に、プロトコル・メッセージ(フリット)について説明する。
ノードとは
- Request Node(RN) : リード・ライトなどのリクエストのトランザクションを生成する。これらのリクエストはHome Node (HN)に送られる。
- Full Coherent Request Node (RN-Fs) : コヒーレント・キャッシュを持ち、スヌープを受け入れ応答する。
- I/O Coherent Request Node (RN-Is) : コヒーレント・キャッシュを持たず、スヌープを受け入れることができない。
- I/O Coherent Request Node with DVM support (RN-Ds) : RN-Isと同じ機能を持ち、DVMメッセージを受け入れることができる。
- Home Node (HN) : フル・コヒーレント、非コヒーレント、その他の場合がありうる
- Coherent Home Node (HN-Fs) : コヒーレント・メモリに対してすべてのリクエストを送信し、スヌープ・リクエストをRN-Fsに送信する。
- Non-Coherent Home Node (HN-Is) : I/Oサブシステムに対するリクエストを送信する。
- Miscellaneous Node (MNs) : リクエスト・ノードから送信されたDVMを処理する。このノードはHN-Dノードとして実装される。
- Subordinate Nodes (SN-Fs) : 通常メモリ用か、ペリフェラルと通常メモリ用がある。
- SN-Fs : コヒーレント・メモリ空間をバックアップするメモリ・デバイスに接続する。例えば、メモリ・コントローラはSN-Fsに接続される。
- ペリフェラルまたは通常メモリ用の SN-F は、I/O ペリフェラルまたは非コヒーレント メモリに接続される。
以下の表は、各ノード・カテゴリの動作をまとめたものである:
| - | RN-F, HN-F, SN-F | RN-I, HN-I, SN-I | I/OコヒーレントDVMサポート | MN |
|---|---|---|---|---|
| RN | コヒーレント・キャッシュ | コヒーレント・キャッシュなし | DVMメッセージを受け入れる | - |
| RN | スヌープを受け入れ、対応する | スヌープを受け付けず、応答もしない | その他の点ではRN-Iと同じ | - |
| HN | コヒーレント・メモリへのリクエストを発行 | I/Oサブシステムをターゲットとするリクエストを発行する | - | RNから送信されたDVMトランザクションを処理する。 |
| HN | RN-Fにスヌープを発行 | - | - | - |
| SN | コヒーレント・メモリ空間をバックするメモリ・デバイスに接続 | I/Oペリフェラルまたはノンコヒーレント・メモリに接続。 | - | - |