キャッシュ交換時にキャッシュセット内のデータを出力する方法は?

c yj

キャッシュ置換アルゴリズムについてもっと知りたいです。たとえば、キャッシュがいつ置き換えられるか、どのデータが置き換えられるか、どのデータがキャッシュに持ち込まれるかを知りたいです。gem5のデバッグフラグを使用してこの情報を出力することをお勧めします。私はクラシックキャッシュを使用しています。この情報を出力するためのデバッグフラグを作成しました。しかし、置換アルゴリズムを実行すると、どのセットと方法でデータを出力するのは簡単ですが、キャッシュラインにデータを出力するのは難しいことがわかりました。有効、無効、設定された方法情報のみが置換アルゴリズムに記録されていることがわかったためです。

  1. 私は後で見つけましuint8_t *datagem5/src/mem/cache/cache_blk.hhこれはキャッシュブロックデータである必要がありますが、なぜ1バイトしかないのですか、キャッシュラインは64バイトではありませんか?
  2. 私が理解していないのは、置き換えるときに、アドレスに従ってデータが配置されているセットが最初に見つかるということです。次に、置換アルゴリズムに基づいてキャッシュラインを探します。しかし、gem5/src/mem/cache/tags/indexing_policies/set_associative.ccファイルのgetPossibleEntries関数がsets[extractSet(addr)];を返すことがわかりました4つのアドレスを返す場合もあれば、8つのアドレスを返す場合もあります。アドレスが配置されているキャッシュセットのすべてのキャッシュラインを常に返す必要はありませんか?それは8つのアドレスですか?

ちなみに、私はDerivO3CPUを使用しています。関連するすべての回答に感謝します。

ダニエウ・カルヴァリョ

一般的な注意として、CacheReplと呼ばれるデバッグフラグがあります。あなたはそれを使った交換からあなたが必要とするどんな情報でも印刷したいかもしれません。

1-データポインタは、データの最初のバイトへのポインタです。文字列ではありません。最後にnullマーカーはありません。これは、%sすぐにそれを行うことができないことを意味しますそれを印刷するには、blkSize(キャッシュラインサイズ)を使用してすべてのバイトを反復処理する必要があります%x(例:)for (int i = 0; i < blkSize; i++) printf("%x ", blk->data[i])

次の質問は、文字列として出力する場合に役立ちます。C++バイト配列をC文字列に変換する

2-置換ポリシー(RP)で何かを印刷すると、その指定されたRPを使用するすべてのオブジェクトが印刷されます。これには、プリフェッチャー、バッファー、タグなどが含まれます。

システム構成が何であるかはわかりませんが、RandomRPを使用するテーブルが少なくとも2つある可能性があります。少なくとも1つは4方向の結合性を持ち、少なくとも1つは8方向の結合性を持ちます。アドレスが4つある場合、これらは4ウェイ連想テーブルの候補です。8がある場合、それは8方向の連想です。

たとえば、L2キャッシュの置換情報を調べたい場合、それが8方向に関連付けられている唯一のテーブルであることがわかっている場合は、アドレスが4つしかない結果は無視できます。他のテーブルの置き換えを参照してください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Rのリストにデータをキャッシュする方法は?

分類Dev

データをキャッシュに保存する方法は?

分類Dev

ハッシュ内のキーと値を交換する方法

分類Dev

ケラスのデータセットキャッシュをクリアする方法は?

分類Dev

Macのテキストボックス内に入力中にキーパッドをキャンセルする方法(iPhoneシミュレーター)

分類Dev

インデックスの更新時にSitecoreWebApi出力のキャッシュを更新する方法

分類Dev

サイズが不明なデータセットをキャッシュして反復する方法は?

分類Dev

特定の時間のSpring Boot Restテンプレートのデータをキャッシュする方法

分類Dev

非同期データの取得とキャッシュを改善する方法は?

分類Dev

キャッシュ内のすべてのデータを通知する方法はありますか?

分類Dev

データセットをキャッシュして永続化する

分類Dev

最初のエポック中にデータを正しくキャッシュする方法(Tensorflow、データセット)?

分類Dev

Springキャッシュのキャッシュを一時的に無効にする方法

分類Dev

ビデオをフラッターにキャッシュする方法

分類Dev

Angularjsパーシャルをキャッシュする方法は?

分類Dev

ゲッター/セッター内のキャッシュ?

分類Dev

Spring API Restでデータをキャッシュする方法

分類Dev

ログアウト後にセッションが認証済みユーザーのデータをキャッシュしないようにする方法

分類Dev

Kingfisher は RAM にデータをキャッシュします。

分類Dev

Spring Bootネイティブキャッシュ:個々のキー/要素によってキャッシュデータを期限切れ/削除する方法

分類Dev

Angularのキャッシュ、特にテンプレートキャッシュからすべてのキーを取得する方法はありますか?

分類Dev

データURLjpgキャッシュを無効にする

分類Dev

時間ベースでSpringキャッシュからのエントリを無効にする方法は?

分類Dev

Hibernateが2次キャッシュをデータベース内の最新データで更新する方法

分類Dev

デコレータのキャッシュメモリをクリーンアップ(リセット)する方法は?

分類Dev

Firefoxのキャッシュをオフにする方法は?

分類Dev

ValaのlibsoupにDNSをキャッシュする方法は?

分類Dev

2つのリストをフラッターにキャッシュする

分類Dev

キャッシュのメタデートを保存するためにキャッシュに必要なメモリを計算しますか?

Related 関連記事

  1. 1

    Rのリストにデータをキャッシュする方法は?

  2. 2

    データをキャッシュに保存する方法は?

  3. 3

    ハッシュ内のキーと値を交換する方法

  4. 4

    ケラスのデータセットキャッシュをクリアする方法は?

  5. 5

    Macのテキストボックス内に入力中にキーパッドをキャンセルする方法(iPhoneシミュレーター)

  6. 6

    インデックスの更新時にSitecoreWebApi出力のキャッシュを更新する方法

  7. 7

    サイズが不明なデータセットをキャッシュして反復する方法は?

  8. 8

    特定の時間のSpring Boot Restテンプレートのデータをキャッシュする方法

  9. 9

    非同期データの取得とキャッシュを改善する方法は?

  10. 10

    キャッシュ内のすべてのデータを通知する方法はありますか?

  11. 11

    データセットをキャッシュして永続化する

  12. 12

    最初のエポック中にデータを正しくキャッシュする方法(Tensorflow、データセット)?

  13. 13

    Springキャッシュのキャッシュを一時的に無効にする方法

  14. 14

    ビデオをフラッターにキャッシュする方法

  15. 15

    Angularjsパーシャルをキャッシュする方法は?

  16. 16

    ゲッター/セッター内のキャッシュ?

  17. 17

    Spring API Restでデータをキャッシュする方法

  18. 18

    ログアウト後にセッションが認証済みユーザーのデータをキャッシュしないようにする方法

  19. 19

    Kingfisher は RAM にデータをキャッシュします。

  20. 20

    Spring Bootネイティブキャッシュ:個々のキー/要素によってキャッシュデータを期限切れ/削除する方法

  21. 21

    Angularのキャッシュ、特にテンプレートキャッシュからすべてのキーを取得する方法はありますか?

  22. 22

    データURLjpgキャッシュを無効にする

  23. 23

    時間ベースでSpringキャッシュからのエントリを無効にする方法は?

  24. 24

    Hibernateが2次キャッシュをデータベース内の最新データで更新する方法

  25. 25

    デコレータのキャッシュメモリをクリーンアップ(リセット)する方法は?

  26. 26

    Firefoxのキャッシュをオフにする方法は?

  27. 27

    ValaのlibsoupにDNSをキャッシュする方法は?

  28. 28

    2つのリストをフラッターにキャッシュする

  29. 29

    キャッシュのメタデートを保存するためにキャッシュに必要なメモリを計算しますか?

ホットタグ

アーカイブ