0
我试图在添加二级缓存时计算每条指令的内存停滞周期。在添加二级缓存时计算内存停顿
我有以下给出的值:
Direct Mapped cache with 128 blocks
16 KB cache
2ns Cache access time
1Ghz Clock Rate
1 CPI
80 clock cycles Miss Penalty
5% Miss rate
1.8 Memory Accesses per instruction
16 bit memory address
L2 Cache
4% Miss Rate
6 clock cycles miss penalty
据我所知,所述的方法来计算的存储器停顿周期是通过使用下面的公式:
Memory stall cycles = Memory accesses x Miss rate x Miss penalty
哪些可以简化为:
Memory stall cycles = instructions per program x misses per instructions x miss penalty
我所做的就是乘以1.8 x (.05 +.04) x (80 + 6) = 13.932
这是正确的还是我错过了什么?
在#3中,您将乘以L1和L2高速缓存的缺失率以获得主内存访问权限? – Rick
是的。只有在L1和L2都未命中的情况下才能访问主内存。这是5%(L1)中的4%(L2)。所以主存访问的百分比是这两者的乘积。 –