• ベストアンサー

マルチレベルキャッシュについて

Micheal Flynnが書いた「コンピュータアーキテクチャ」を 読んでいて質問があるのですが… マルチレベルキャッシュ(2レベルキャッシュ)についてです。 2次キャッシュミスを本書では3つ定義しているのですが 1, A local miss rate 2, The global miss rate 3, The solo miss rate とあるわけですが、3番目のsolo miss rateってのが良く分かりません。 これは第1次キャッシュは実装されてないってことなのかどうか 分からないので… 以下は本書で説明してある箇所です。 3、The solo miss rate is the miss rate the cahe would have if it were the only cache in the system. It is the miss rate defined by the principle of inclusion. If L2 contains all of L1 then we can find the number of L2 misses from our DTMR and the processor reference rate, ignoring the presence of the L1 cache. The principle of inclusion specifies thet the global miss rate will be essentially the same as the solo miss rate, allowing us to use the solo miss rate to evaluate our design.

質問者が選んだベストアンサー

  • ベストアンサー
  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.1

local miss rateってのは,L1がミスしたときに,L2がミスする確率(条件付き確率) global miss rateってのは,L1がミスし,かつL2がミスする確率 solo miss rateってのは,(L1がミスするかどうかに関わらず)L2がミスする確率です. solo miss rateは,参照内容がL1に含まれていて,かつL2に含まれていない場合を含んでいます. 実際のCPUは,まずL1をみてL1がミスすると,はじめてL2を見るわけですので,この場合は,本当はキャッシュミスではありません.solo miss rateは,この分だけ悪く見ていることになっています. でも,ほとんどの場合,L1の内容はL2にも含まれているので,global miss rateとsolo miss rateの差はそんなにありません.なんで,global miss rateの代わりに,(計算が楽な)solo miss rateで代用することが多いです.

smis
質問者

お礼

貴重なご回答感謝致します。 それぞれのキャッシュミスは 1、local miss rate →2次キャッシュでの全てのミス率を2次キャッシュへの            アクセス回数で割ったもの 2、global miss rate →すべてのキャッシュレベルでミスした参照の割合 とここまではご回答頂いたとおり 理解出来たのですが 3、solo miss rate→参照内容がL1に含まれていてL2に含まれていない これはL1でヒットし、L2ではミスをしていると 解釈していいのでしょうか? だとすると確かに、普通CPUがL1がみて、 ミスだったらL2を見るわけですから キャッシュミスではありませんね。 >L1の内容はL2にも含まれているので,global miss rateと >solo miss rateの差はそんなにありません この部分の 何故L1の内容がL2にも含まれると差が無いのか分からないので 教えてもらえないでしょうか。 >(計算が楽な)solo miss rateで代用することが多いです. global miss rateを求めるには L2のミス率をプロセッサの参照数で割ればいいということが 分かるのですが、solo miss rate ですと, どのように計算すれば良いのでしょうか?

その他の回答 (1)

回答No.2

私はくだんの本は読んでいませんが、 1)L1がヒット+ L2がミス 2)L1がヒット+ L2がヒット 3)L1がミス + L2がミス 4)L1がミス + L2がヒット の4とおりがありえるわけですね。 ここで global miss rateは 3)の確率 solo miss rateは 1)+3)の確率 でも実際にはL1の内容はL2にも入っているというのが普通なので( 3)が起きたときにメインメモリから読んだデータはL2とL1の両方に格納するという実装をすることが大半だから)L1がヒットする状態で仮にL1をOFFにしてL2を見に行ったとしてもL2にヒットする。従って、1)のパターンのように、L1がヒットするけど、L2はミスするということは実際には無いと言って良い。 よって、solo miss rate = global miss rateってことでは?

smis
質問者

お礼

とても分かりやすいです。ありがとうございます。

関連するQ&A