※ 引述《CoTi (歌蒂)》之銘言:
: 最近在算一些,比如在記憶體改善,效能影響多少之類的東西。
: CPI & IPC 是兩個眾所皆知的 measurement ...
: (CPI: clock cycles per instruction; IPC: instructions per clock cycle)
: 然後我發現個很有趣的現象就是在 CPI 上得到改善,不見得會反映到 IPC 上
: 比如兩個幾乎一樣的系統 miss rate 一高一低 (如: prefetch 機制影響)
: 在 miss penalty 惡化的情況下會發現兩個系統 IPC 的差異還是差不多
: 可是 CPI 就很明顯會看到說 miss rate 稍低的系統會在較糟的 miss penalty
: 下平均每指令得到較少的週期數
: 看來似乎是兩個 measurement 會呈現出不同的現象?
: 有沒有哪位對這兩個比較效能單位有心得的大大可以分享一下他們的使用時機
: 或是使用時該注意的事項,比如在什麼場合不該使用其中的哪個?或是用了
: 也該注意哪個 factor 的影響之類的
: 感謝 ^^
不只是考慮 CPI
當我們在做系統改善的時候
也要考慮一個 clock cycle 會花費的時間
如此,單位指令所消耗的時間就是 CPI × clock cycle time
有的時候我們把系統的 CPI 減少,企圖改善整體流程
卻忽略了 clock cycle time 的延長,導至流程其實沒有改善
也就是說,在 clock cycle time 可能變動的情況下,是不能只考慮 CPI 的
另外,你所說的 CPI 和 IPC 不就是彼此互取倒數的結果嗎?
既然 CPI = 1/IPC
那怎麼還會有 CPI 降低,但是 IPC 並沒有顯著增加的情形呢?
煩請舉例說明
我將誠摮地等候您的回應
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.205.85