[理工] 計算機結構 cache錯失
假設一個程式的指令cache的錯失率(miss ratio)為2%,資料cache的錯失率為4%。
如果CPU執行一個指令需2個cycle time,而一個cache錯失(不管是指令或資料)
的代價是100個cycle time。假設程式中有36%的指令會使用到資料cache,
那麼此程式執行的時間會是在完美cache(0%錯失率)情況下的幾倍?
答:
假設指令數為100,則完美cache的執行時間2*100=200 (cycle time)
而此程式的執行時間為 完美cache的執行時間+(指令cache錯失的指令數+
資料cache錯失的指令數)*錯誤代價,故算式為
200 + (100*2% + 36*4% ) * 100 =544 (cycle time)
故所求speedup = 544 / 200 = 2.72(倍)
請問小弟這樣算是否正確呢?
還請高手為小弟指點迷津了,小弟在此先行言謝,感激不盡。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.165.137.32
推
08/24 13:13, , 1F
08/24 13:13, 1F
→
08/25 15:04, , 2F
08/25 15:04, 2F