第1章计算机系统概述__计算机系统性能评价之2_用执行速度进行性能评估
最早用來衡量計算機性能的速度指標是每秒鐘完成單個運算(如加法) 指令的條數。
指令速度所用的計量單位為MIPS (Million?Instructions Per Second) ,其含義是平增多每秒鐘執行多少百萬條指令
即MIPS: ?平均每秒鐘執行多少百萬條指令
一 ?還有一個概念:指令平均執行時間,也稱等效指令速度法或Gibson混合法。根據該法,通過統計各類指令在程序中所占比例進行折算。
設某類指令 i 在程序中所占比例為Wi, ?執行時間為 ti, 則等效指令的執行時間為 T = w1 * t1 + w2 * t2 + ...+ wn * tn(n 為指令種類數). 若指令執行時間用時鐘周期數來衡量的話, 則上式計算的結果就是 CPI。 對指令平均執行時間求倒數能夠得到 MIPS 值。
二 選取一組指令組合, 使得得到的平均CPI最小, 由此得到的MIPS就是峰值MIPS (Peak MIPS)
三 ?MIPS反映了機器執行定點指令的速度, 但是用MIPS來對不同的機器進行性能比較有時是不準確或不客觀的。
看一個例子:假定某程序 P 編譯后生成的目標代碼由A、B、C、D四類指令組成,它們在程序中所占的比例分別為43%, 21%, 12%, 24%, 已知它們的CPI分別為1 、2、2、2。 現重新對程序P進行編譯優化,生成的新目標代碼中 A 類指令條數減少了50%, 其他類指令的條數沒有變。 請回答下列問題。
(1) 編譯優化前后程序的 CPI 各是多少?
(2) 假定程序在一臺主頻為 50 MHz 的計算機上運行,則優化前后的 ?MIPS各是多少?
解: 優化后 A類指令的條數減少了50%, 因而各類指令所占比例分別計算如下。
A類指令: 21.5/(21.5 + 21 + 12+ 24)= 27%
B類指令: ?21 / (21.5+ 21 + 12 +24) = 27%
C類指令:12/(21.5+21+12+24)=15%
D類指令: 24/ (21.5+21+12+24) = 31%
(1) 優化前后程序的CPI分別計算如下。
優化前: 43% *1 + 21%*2 + 12%*2 + 24%*2 = 1.57
優化后:27%*1 + 27% * 2 + 15% *2 + 31%*2 = 1.73
(2)優化前后程序的 MIPS 分別計算如下, ? 依據公式: 時鐘頻率 / ?CPI = MIPS
優化前 50 M / 1.57 = 31.8 MIPS
優化后: 50M / 1.73 = 28.9 MIPS
從MIPS來看,優化后程序執行速度反而變慢了。 從這個例子可以看出,用MIPS數進行性能估計是不可靠的。
?
?
?
?
?
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的第1章计算机系统概述__计算机系统性能评价之2_用执行速度进行性能评估的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP学习资料地址收集
- 下一篇: java信息管理系统总结_java实现科