作者gn00618777 (123)
看板Grad-ProbAsk
标题[理工] [计组]-快取失误率
时间Mon Jan 18 17:53:41 2010
题目有点长..
Suppose we have a processor with base CPI 1.0,assuming all reference hit
in the primary cache, and a clock reate of 500MHZ. Assume a main memory
access time of 200ns,including all the miss handing. Suposse the miss
rate per instruction at the primary cache is 5%. How much faster will
the machine be if we add a second cache that has a 20ns access time for
either a bit or a miss and is large enough to reduce the miss rate to
main memory to 2%.
题目大致上说多加一层cache L2会比单层L1 cache速度还快
[注]: base CPI为在L1 cache 找到资料所需要的clock
我先求单层的
95% (1clock) 5% (200ns)
cpu <----> cache <----->main memory
1clock cycle time = 500MHZ倒数 = 2ns
main memory access 需200ns所以需要 100 clock
则失误代价= I*0.95*1clock+I*0.05*(100clock+1clock)=6.0I
双层
95% 5% 2% (200ns)
cpu<----> L1 <-----> L2 <----->main memory
L2 cache 存取20ns 所以 10clock
失误代价=Ix0.95x1clock +Ix0.05x10 clock +Ix0.02x100 clock
=3.45I
书上解答:
单层的
CPI=CPI base+每个指令的记忆体暂停时卖周期
= 1.0+0.05x100= 6clock
两层的
CPI = CPI base + 在第一层cache的暂停周期
=1.0+0.05x10+0.02x100 =3.5
6.0 / 3.5 =1.7
我不懂为何我的算法两层的我算不出来?????而且我观念错在哪阿
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.124.203.213
※ 编辑: gn00618777 来自: 122.124.203.213 (01/18 19:46)
※ 编辑: gn00618777 来自: 122.124.203.213 (01/18 19:47)
1F:推 killerjoe:题目好像没有讲得很清楚说到底2%是local miss rate 01/18 20:42
2F:→ killerjoe:还是global miss rate 01/18 20:43
3F:→ gn00618777:我还没交到那,跟那边有关喔? 01/18 20:53
4F:推 killerjoe:通常local miss rate都很大而global的则很小 01/18 21:01