1

期末試験で2つのケースに出会いました。最初のケースでは、0x101、0x102、0x101、0x102、0x101、0x102、0x101、0x102 などの場所からメモリをフェッチします。

2 番目のケースでは、0x101、0x101、0x101、0x101、0x111、0x109、0x102、0x100 などの場所からメモリをフェッチします。

問題は、どの場合に時間的局所性を使用するかです。

これが私のポイントです:最初のケースで。実際には、0x101 にアクセスすると、メモリも 0x102 にキャッシュにアクセスすると思います。その後の 6 回のフェッチでは、ペナルティは発生しません。つまり、この場合、キャッシュ ミスは 1 回だけです。ここでは、時間的局所性と空間的局所性の両方から恩恵を受けると思います。一方、最初の 4 つのステップの 2 番目のケースでは、時間的局所性の恩恵を受けますが、次のステップでは時間的局所性がありません。実際、これは最初の選択肢よりも多くのキャッシュ ミスにつながります。どちらも正しいと思いますが、答えが一つしかないので戸惑います。

4

2 に答える 2

0

私は2番目に投票します。あなたが言ったように、最初の 4 つのステップで時間的局所性の明確なケースがあります。

キャッシュには、メモリ内に複数のアイテムを保持するスペースがあるとは決して言えません。レジスタが1つだけのCPUか何かかもしれません。したがって、最初のケースがまったく局所性を示さない可能性があります。

質問は、システムのアーキテクチャに関する詳細を提供しましたか?

于 2014-01-10T07:49:58.773 に答える