CPI计算

CPI calculation

我计算了一个缓存未命中率 (mr) 与缓存大小 (sc) 的关系图。如何计算各种缓存大小的 CPI(每指令周期)。 假设是:

Given cache miss latency (say 10 ) , 
base CPI of 1 and 
33.33% of instructions as memory operations.

我的理解是CPI可以用下面的公式计算。下面的方法对吗?

CPI = miss rate*(.3333)*10 + 1

对于 MISS RATE: 2.700978 我得到了以下 CPI

CPI:1.090024

要在给定基线 CPI 和有关缓存层次结构的统计信息时计算 CPI,您可以使用以下公式:

Effective CPI = Baseline CPI + CPI of memory accesses

您的基准 CPI 是 1(在问题陈述中给出)。所以你只需要找到内存访问的CPI。

如果内存访问在缓存中命中,那么我们假设 CPI 与基线 CPI 相同。如果未命中,则为未命中延迟。

所以你有 33% 的指令是内存访问。其中未命中的将需要 10 个周期。所以把所有这些放在一起你会得到:

CPI = miss rate*(.3333)*10 + 1

你的问题是什么。

至于您包含的代码和 "Answer" 部分,我不知道您在那里问什么或它的目的是什么。