読者です 読者をやめる 読者になる 読者になる

へっぽこびんぼう野郎のnewbie日記

けろけーろ(´・ω・`)!

実効アクセス時間とは何か

ググると、なぜか基本情報技術者試験と応用情報処理技術者試験の情報しか出てこない。

でもまぁ簡単に解説する。

 

実効アクセス時間とは

キャッシュメモリアクセス時間×ヒット率 + 主記憶装置のアクセス時間 × (1-ヒット率)

と、なんかドヤ顔で書いているサイトが多いけれど、

別にこれは公式として覚える必要はない

 

っていうか、理解してしまえば

「そりゃそうだろ」と片を付けられるものである。

 

で、実効アクセス時間ってどういうものなのというと、

「めっちゃいっぱいアクセスしたときの1回あたりのアクセス時間という言葉がおれにはしっくりくる。

 

数A(確率)をちゃんと勉強した人には、

「実効アクセス時間とは、期待値なのだ」という言葉であーねと納得してもらえることだろう。

理解できた人はもう帰ってよろしい。

 

まず、キャッシュメモリにアクセスするっていうのは

CPU「データほしい!」

CPU「キャッシュメモリの中にデータあるはずやから、キャッシュメモリからとってきたろ!」

ということである。

主記憶にアクセスする場合も同様。

 

だから、キャッシュメモリ絶対にデータがある場合(つまり確率が1のとき)は

実効アクセス時間

実効アクセス時間 = キャッシュメモリにアクセスする時間

となる。

主記憶に絶対データがある場合も同様。

 

これが理解できない人はITパスポート試験受けるべき。

 

で、次に期待値について話す。

期待値についても、ググる「例えば〜が○○で××だから△△みたいな感じ」と出てきて、じゃあ抽象的にはどういうものなんだよ!!っていうのは、

割とみんな説明できていない。

 

期待値っていうのは、実際これだけっていうものではなくて、

めっちゃたくさん試行した場合の平均値のことである。

平均値がよくわからない場合は、

めっちゃたくさん試行した場合の、1回あたりの値のことであると言ったらわかってほしい。

 

これでわからない人には具体例を出すしかない。

この例では、3回試行した場合の、1回あたりの値を算出している。

1回目のアクセスはキャッシュメモリでした!

2回目のアクセスは主記憶でした!

3回目のアクセスはキャッシュメモリでした!

 3回の合計アクセス時間

キャッシュメモリにアクセスした時間 × 2 + 主記憶にアクセスした時間 × 1

で、その平均時間(1回あたりのアクセス時間)は

キャッシュメモリにアクセスした時間 × 2 + 主記憶にアクセスした時間 × 1) / 3

形を変えると

キャッシュメモリにアクセスした時間 × (2 / 3) + 主記憶にアクセスした時間 × (1 / 3)

 

これでわかれ。

これでわからないならおれは知らん。

 

ちなみに確率は結構難しくて

かなり頭いい人でもドヤ顔で「簡単じゃん。こうだろ。」とか間違えるから、

あまり信用しない方がいいです。