1

私の宿題は、サンプル プログラムを使用して、トレース ファイルを指定して、キャッシュの読み取り/書き込み/ミス/ヒットの数を判断することです。

たとえば、これはサンプル トレース出力の最初の 10 行であるとします。

0x37c852: W 0xbfd4b18c
0x37cfe0: W 0xbfd4b188
0x37cfe3: W 0xbfd4b184
0x37xfe4: W 0xbfd4b180
0x37cfe5: W 0xbfd4b17c
0x37cfe9: W 0xbfd4b128
0x395bcb: R 0xbfd4b128
0x395bce: R 0xbfd4b128
0x37cff4: W 0xbfd4b158
0x37cff9: W 0x39deac

各行を分析して、知る必要があることをどのように判断できますか?

ありがとうございます。教育的な情報源があれば教えてください。

4

1 に答える 1

0

はい、トレース ファイルからキャッシュ パラメータを特定できます。ただし、次のいずれかが必要です。

  1. トレース ファイルの形式。(あなたがアクセスできるとは思えません)
  2. システムのパラメーター、つまりキャッシュサイズ、アドレス指定ビット (説明) を知る

実際、キャッシュは時間的局所性と空間的局所性に基づいています。だからあなたが決めるために

  • 空間的局所性:フェッチされたアドレスが、最近フェッチされたアドレス + ワード サイズ (ダブル ワード サイズなど) であるかどうかを確認します。例: 最近 0x4000 をフェッチし、次のアクセスは 0x4008 です。ライン/ブロックの長さ (つまり、一度にキャッシュによってフェッチされるデータの長さ)。正確に言うと、キャッシュが連想的に設定されているかどうか、およびその量を知る必要があります。これは、交換および交換ポリシーを正確にするのに役立ちます (誰かが宿題を求めるとは思えません)。
  • 時間的局所性:アクセスされたアドレスが近い将来再び呼び出されるかどうか、および置換されていないかどうかを確認します (同じインデックスと異なるタグを持つ他のアドレスが要求されたため)。

これにより、アプローチ方法が明確になることを願っています。理解を深めるために、Computer Organization and Design の本の章 Memory Hierarchy をお勧めします。

于 2014-09-05T00:07:04.147 に答える