2

宿題に取り組んでいますが、キャッシュ ミスの合計を計算する方法がわかりません。私はそれを理解しようとしてきましたが、私には意味がありません。いくつかの Mips コードが与えられ、キャッシュ ミスの数を計算する必要があります。問題は次のとおりです。

直接マップ キャッシュ。1024 ブロックのダイレクト マップ キャッシュが与えられます。各ブロックは MIPS ワード (32 ビット) です。キャッシュは、書き込みミスが発生するたびにライトバックを使用します。メインメモリは 2^30 ワードで構成されています。最初は、キャッシュは空です。
次の命令シーケンスのキャッシュ ミスの合計数を決定します。

lw $s0, 4($sp) 
lw $s0, 8($sp) 
sw $s0, 8($sp) 
sw $s1, 4($sp) 
lw $s0, 4($sp)

私は答えを探していません。宿題でこのような問題がもっとたくさんあるので、これを行う方法を学びたい. これについてのチュートリアルが欲しいです。それまでの間、私はこのトピックを調査して答えを見つけようとします.

4

1 に答える 1

2

$ SPの配置を知らなければ、キャッシュミスがいくつあるかを知ることは不可能です。SPが32バイト境界に配置されている場合、最初のアクセスでキャッシュラインミスが1回だけ発生します。SPにアドレス0x18が含まれている場合、4($ sp)と8($ sp)は異なるキャッシュラインにアクセスするため、2つのキャッシュラインミスが発生します。

于 2011-12-01T00:46:28.637 に答える