キャッシュの平均アクセス時間に納得がいかない

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
ばたこさん  
(No.1)
キャッシュメモリと主記憶装置との平均アクセス時間の計算問題について疑問があるので分かる方教えて頂けると幸いです。

問:キャッシュヒット率r、キャッシュへのアクセス時間aナノ秒、主記憶装置へのbナノ秒として、平均アクセス時間を求めよ

に関して、テキストなどでは
ar + b(1-r)
という解答が示されます。

期待値の考え方は分かるのですが、キャッシュに当たらなかった場合のアクセス時間がb(1-r)だというのが引っかかります。

まずキャッシュを見て、キャッシュに欲しい値が無いから主記憶装置を見に行くのですよね?
であれば、主記憶装置を見に行く場合はキャッシュを見る時間と合わせてa+bかかるのではないでしょうか?
つまり、解答は
ar + (a+b)(1-r)
となるように思うのですが…。
2018.03.04 13:23
勇者おおおおさん 
(No.2)
「期待値の考え方は分かる」と言っていますが、質問の内容を読んでいると分っていない気がします。
純粋に確立における期待値の考え方で構わないので、
平均アクセス時間 = キャッシュにヒットした場合の時間 + ヒットしなかった場合の時間
つまり『ある値とその値が発生する確率の積の合計が期待値』になるわけです。
また、期待値なのですから実際の計測値ではありません。
2018.03.04 15:55
ばたこさん  
(No.3)
> 勇者おおおお さん
回答ありがとうございます。
「純粋に確率における期待値の考え方」をすると、

1. キャッシュに当たるとき
キャッシュにアクセスして終わりなのでaナノ秒
2. キャッシュに当たらず主記憶装置に読みに行くとき
キャッシュにアクセス(aナノ秒)してデータがないことを確認→主記憶装置にアクセスしてデータ読み取り(bナノ秒)なので(a+b)ナノ秒

のため期待値は
ar + (a+b)(1-r)
だと思うのですが、どこが誤りなのかがわかりません。

3. 主記憶装置を最初から読みに行く(bナノ秒)

という事象はキャッシュを使う想定では存在しないと思うのですが、これが勘違いなのでしょうか(キャッシュに求める値が存在するかどうかは別の方法で一瞬で判別できる?)
そうでなければ、「平均アクセス時間」という指標が現実性のないものになってしまうような気がします…。
2018.03.04 16:28
ばたこさん  
(No.4)
「a << b であるから十分無視できる」という理由なのですかね?
2018.03.04 16:37
ビックオーさん 
(No.5)
キャッシュの検索を高速に行うための仕組みがあります。
実際には、1サイクルで検索を終えるので、十分短い時間のため、期待値の計算には計算を含めません。
詳しくはwikiをご覧になると納得されるかと思われます。
来月の試験、お互い頑張りましょう。
2018.03.04 21:42
ばたこさん  
(No.6)
> ビッグオー さん
解説ありがとうございます。
はい、お互い頑張りましょう!
2018.03.05 07:31
TKさん 
(No.7)
アクセス時間の定義が「要求を受けてから転送を開始するまでの時間」であるなら、
キャッシュの検索はしますが、呼び出しの要求は行いませんので
 (a+b)とするのも無理がありませんか?

主記憶装置へのアクセス時間≒キャッシュヒットしない場合のアクセス時間
と考えれば良いかと思いますが、いかがでしょうか。
2018.03.05 16:42

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。

その他のスレッド


Pagetop