以下の内容はhttps://msyksphinz.hatenablog.com/entry/2025/03/09/040000より取得しました。


キャッシュコヒーレンスを管理するバスプロトコルの勉強 (9. トランザクション例)

developer.arm.com

msyksphinz.hatenablog.com

トランザクションの流れ

トランザクションとは、あるノードによるリクエスト(Request)を完了するためにシステ ムが必要とするメッセージのセットのことである。

  • RequesterとCompleterの間の書き込みリクエストでの識別子の使用
  • ReadNoSnp トランザクションを完了するために必要なメッセージのシーケンス
  • Request ノードからComplete ノードまでのWriteNoSnpトランザクションの流れ

書き込みリクエストと識別子

以下の例では、RequesterとCompleter 間の書き込みリクエストでの識別子の使い方を示している。 Requester にはnode ID 1が割り当てられ、Completer にはnode ID 2が割り当てられる。

  1. Requester は、トランザクションID(TxnID)=3 の書き込みリクエストを発行する。RequesterのソースID(SrcID) フィールドに、リクエスタのノードIDが入力される。 ターゲットID(TgtID)フィールドには、CompleterのノードIDが設定される。 この手順を以下の図に示す:
  1. Completer は、リクエストのトランザクションIDとソースIDを使用可能なデータバッファ・スロットに割り当てる。 この例では、リクエストはデータバッファID(DBID) 0に割り当てられる。

  2. Completer は、以下の図に示すように、DBIDRespDBID=0 を持つ TxnID=3 メッセージを Requester に送り返す:

  1. Requesterは、受け取ったDBIDをトランザクションIDとして、書き込みデータをCompleterに送信する。

  2. トランザクションが完了すると、DBID=0に対応するバッファスロットが割り当て解除される。

ReadNoSnp トランザクションの流れ

以下の例は、ReadNoSnp トランザクションを完了するために必要なメッセージのシーケンスを示す。 Requester node 0は ReadNoSnp リクエストを発行し、Completer node 5はリード・データを返す。 以下に一連の流れを示す:

  1. Requester node 0は ReadNoSnp をCHIインターコネクトに発行し、Home node 3をターゲットとする。トランザクションは Requster node のTXREQチャネルで送信される。
  1. Home node 3は、次の図に示すように、データを取得するために、ReadNoSnp をそのTXREQチャネル上でCompleter node 5に発行する:
  1. Completer node 5は、図に示すように、TXDATチャネル上でCompData レスポンスを発行することにより、データをHome node 3に返す:
  1. Home node 3はCompData レスポンスをRequester node 0に送信する。Requester node 0は、図に示すRXDATチャネルでデータを受信する:



以上の内容はhttps://msyksphinz.hatenablog.com/entry/2025/03/09/040000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14