質問: 基本情報技術者試験の問題を解いていたのですが、 > 実効アクセス時間を求めるための公式は、 > (キャッシュメモリのアクセス時間×ヒット率)+主記憶のアクセス時間×(1-ヒット率) > で表すことができます。 という解説を見て疑問に思ったことがありましたので、質問させて下さい。 ここで実効アクセス時間を求める時、キャッシュメモリにヒットしなかった場合は主記憶にアクセスする物だと解釈しています。 上の公式でいう「主記憶のアクセス時間×(1-ヒット率)」の項がこのケースにおける時間の計算だと思うのですが、一旦キャッシュメモリにあるかどうか確認した上で主記憶にアクセスするのであれば「(キャッシュメモリのアクセス時間 + 主記憶のアクセス時間) * (1 - ヒット率)」になるのではないでしょうか? それとも、キャッシュメモリにあるかどうかは一般にアクセスする前にリスト等で確認できる仕様になっているという事でしょうか? どなたか教えてくださると助かります。 宜しくお願いします。
回答: >一旦キャッシュメモリにあるかどうか確認した上で主記憶にアクセスするのであれば とありますが、そのうち 「一旦キャッシュメモリにあるかどうか確認した上で」が、キャッシュメモリのアクセス時間×ヒット率 「主記憶にアクセスするのであれば」が、主記憶のアクセス時間×(1-ヒット率) にあたります。 これは確率の問題で、キャッシュメモリにあった場合に読み込む時間と キャッシュメモリに無かった場合(主記憶にあった場合)に読み込む時間を それぞれの場合に分けて計算して、単純に合計したものを実効アクセス時間としています。 もしあなたが書かれているように 「(キャッシュメモリのアクセス時間 + 主記憶のアクセス時間) * (1 - ヒット率)」 という考え方をしたとすると、 キャッシュメモリにデータが見つかった場合はどのような計算式になるでしょうか?