我计算了一个缓存未命中率(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
答案 0 :(得分:2)
要在给定基准CPI和有关缓存层次结构的统计信息时计算CPI,您可以使用以下公式:
Effective CPI = Baseline CPI + CPI of memory accesses
您的基线CPI为1(在问题陈述中给出)。所以你只需要找到内存访问的CPI。
如果内存访问是缓存中的命中,那么我们假设CPI与基线CPI相同。如果它是一个未命中,那么它将是未命中延迟。
因此,您有33%的指令是内存访问。其中那些未命中的将需要10个周期。所以把所有这些放在一起你得到:
CPI = miss rate*(.3333)*10 + 1
你问题中的内容是什么。
至于您所包含的代码和“答案”部分,我不知道您在询问的内容或目的是什么。