作者killerjoe (寂寞边界)
看板Grad-ProbAsk
标题Re: [理工] [计组]-快取失误率
时间Mon Jan 18 21:00:21 2010
※ 引述《gn00618777 (123)》之铭言:
: 题目有点长..
: 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
因为题目是说2%
我认为应该是global miss rate
: 双层
: 95% 5% 2% (200ns)
: cpu<----> L1 <-----> L2 <----->main memory
: L2 cache 存取20ns 所以 10clock
: 失误代价=Ix0.95x1clock +Ix0.05x10 clock +Ix0.02x100 clock
: =3.45I
无论是否hit都会经过L1 所以一开始是Ix100%x1clock
接下来若是L1 miss的到L2去存取的是 Ix 5%x10clock
在L2miss到Memory去存取的是 Ix 2%x100clcok
=3.5I clock
: 书上解答:
: 单层的
: 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: 114.42.75.148
1F:推 gn00618777:我觉得你教得比补习班老师好 01/18 21:23
2F:→ killerjoe:过奖了@@ 01/18 21:25
3F:推 polomoss:题目没有特别注明都是global 01/18 21:26