1

ベース CPI、L1 および L2 キャッシュのミス率 %、L1、L2、およびメモリのアクセス時間から、プロセッサの全体的な CPI に対する L1 および L2 キャッシュの影響を計算する方法

L1 キャッシュの CPI を見つけるには、次を使用します。

CPI = BaseCPI + (% of L1 Miss x Memory Access Time)

したがって、L2 の場合は次のようになると思います。

CPI = BaseCPI + (% of L1 Miss x L2 Access Time) + ( % which I am confused about x Memory Access time)

その2番目のパーセンテージを見つけるにはどうすればよいでしょうか?

これは L2 のミス率 % と関係があることはわかっていますが、L2 ミスは L1 ミスの後にのみ発生するため、L1 ミス率 % を掛ける必要がありますか?

4

2 に答える 2

1

はい、L2 のミス率は、L2 アクセスの合計のうちのミスの割合を意味します。合計 L2 アクセスは、メモリ アクセスの合計数 * L1 のミス率です。

したがって、あなたの計算は-

CPI = BaseCPI + (% of L1 Miss x L2 Access Time) + ( %L1 miss rate x % L2 miss rate x Memory Access time)  

またはより便利に:

CPI = BaseCPI + (% of L1 Miss x (L2 Access Time + (%L2 miss rate x Memory Access time)))

これもあまり正確ではありません。メモリ操作のレートを指定していません。上記は、すべての命令がキャッシュを検索することを前提としていますが、これは少し誇張されています。プログラムにロード/ストアのレートがある場合は、それも考慮に入れる必要があります。

ところで、現実の世界では、合計 L2 アクセスに次のものも追加する必要があります。

  1. L1 書き戻し
  2. 別の命令 L1 から発信された場合、コードの読み取り
  3. ハードウェアのプリフェッチ

しかし、これらは通常、このように単純な計算では無視されます (また、変更された行の割合がわからないため、書き戻しの数を推定することはできません)。

もう1つ注意してください-実際The CPI of the cacheにはキャッシュ自体は命令を実行したり、タイミングを気にしたりしません。適切な用語は -The effect of the cache (or any other feature) on the overall CPI of the processorです。

于 2013-11-12T00:01:06.760 に答える
0

命令ごとの平均メモリ アクセス数 (AMAPI) を考慮していないと思います。

たとえば、ロード/ストア命令の 30% がある場合、この数は 1.3 になります (命令をフェッチするための 1 回のアクセスと、メモリ アクセス命令による 0.3 回のアクセス)。

そう

CPI = BaseCPI + (AMAT - ideal memory access time) x AMAPI

平均メモリアクセス時間が AMAT であること。2 レベルの階層の場合:

AMAT = L1_hit_latency + L1_miss_rate x (L2_hit_latency + L2_miss_rate x Main_Memory_latency)
于 2013-12-16T18:53:03.167 に答える