1

連想性のレベルやキャッシュ自体のサイズがわからない場合、n-way セット連想キャッシュ内の同じセットにマップされるブロックのみにアクセスすることを保証する方法はありますか? 連想性またはキャッシュ サイズのいずれかのレベルが与えられれば、これを実行できることはわかっていますが、この特定の状況では、キャッシュ サイズの控えめな見積もりしか得られません。私はしばらくそれについて考えてきましたが、それは不可能であると信じ始めていますが、私には決定的な確信はありません.

この質問のために、連想性のレベルまたはキャッシュ サイズを取得することは決して不可能であると仮定してください。

この理由は、連想性のレベルを定量的に判断しようとしているが、キャッシュ サイズを定量的に判断するために使用したアルゴリズムは、2 の累乗であるキャッシュ サイズの正確な結果のみを提供し、最も近い 2 の累乗の見積もりを提供するためです。それ以外は。残念ながら、私が現在実行しているマシンには 3MB の L2 キャッシュがあります。

4

1 に答える 1

0

さらに調査を行い、コンピューター アーキテクチャの教授に尋ねたところ、キャッシュ サイズやキャッシュの連想性がわからない場合に、同じセットにマップされるブロックのみにアクセスすることを保証する確実な方法はないようです。

キャッシュ サイズが N の場合、N バイトまたは N バイトの任意の倍数で区切られた配列の要素にアクセスでき、その後取り込まれる各ブロックは同じセットにマップされます。これは、同じセットにマップされたブロックのみにアクセスすることを保証する最も簡単な方法です。

キャッシュ サイズがわからない場合は、推定することをお勧めします。たとえば、32MB で区切られた配列の要素にアクセスする場合、32MB までの 2 のべき乗である任意のキャッシュ サイズについて、同じセットにマップされるブロックのみにアクセスすることが保証されます。サイズが奇数のキャッシュには、これと同じ保証はありません。

于 2012-11-27T01:46:22.127 に答える