0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

多段キャッシュメモリのヒット率の計算と、実行メモリアクセス時間の計算方法

0
Posted at

キャッシュメモリのヒット率、実行メモリアクセス時間の計算方法について、
備忘録のため残します。

多段キャッシュシステムのヒット率の計算方法

前提

キャッシュメモリがL1(1次)とL2(2次)の多段構成になっている場合、
CPUはまずL1キャッシュにアクセスし、そこにデータがなければL2キャッシュにアクセスする。
そのため、システム全体のヒット率は以下の式で求めることができる。

計算式:

システム全体のヒット率 = L1のヒット率 + (L1のミス率 × L2のヒット率)

例:
 ・L1、L2と2段のキャッシュを持つプロセッサ
 ・L1キャッシュヒット率:0.95
 ・L2キャッシュヒット率:0.6
 ・このキャッシュシステムのヒット率はいくらか

手順

① L1キャッシュでミスする(ヒットしない)確率: 1 - 0.95 = 0.05
② L1でミスし、かつL2でヒットする確率: 0.05 × 0.6 = 0.03

結論:0.95 + 0.03で、システム全体のヒット率は0.98となる。

実効メモリアクセス時間の計算方法

キャッシュメモリと主記憶(メインメモリ)を組み合わせた際の、
平均的なアクセス時間(実効アクセス時間)を求める計算について。
「主記憶の何倍になるか」を問われた場合は、主記憶のアクセス時間を「1」として計算する必要あり。

計算式:

実効アクセス時間 = (キャッシュのアクセス時間 × ヒット率) + 主記憶のアクセス時間 × (1 - ヒット率)

例:
 ・キャッシュメモリのアクセス時間が主記憶のアクセス時間の1/30
 ・キャッシュメモリのヒット率が95%
 ・実行メモリアクセス時間は、主記憶のアクセス時間の約何倍になるか。

手順

① キャッシュにヒットした場合の時間: (1/30) × 0.95
② キャッシュでミスし、主記憶にアクセスした場合の時間: 1 × (1 - 0.95) = 0.05
③ これらを足し合わせる:
(0.95 / 30) + 0.05
※分数の足し算をするため、0.05の分母を30に揃える(通分する:0.05 = 0.05 × 30 / 30 = 1.5 / 30)
= (0.95 / 30) + (1.5 / 30)
= 2.45 / 30
= 0.081666...

結論:約0.08倍となる

覚えるためのコツ:

  • ヒット率(多段): 「1回目で当たる確率」+「1回目で外れて、2回目で当たる確率」と分解して考える。
  • アクセス時間: 「キャッシュの速さ×当たる確率」+「主記憶の遅さ×外れる確率」の期待値を求める。比率を問われたら主記憶を「1」に置き換える。

キャッシュ.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?