MIPS: Million Instructions executed Per Second
DMIPS: Dhrystone Million Instructions executed Per Second
MFLOPS: Million Floating-point Operations Per Second
MIPS,DMIPS,MFLOPS是常用的CPU效能評估標準。注意MIPS只適合評估標量機,而MFLOPS比較適用于衡量向量機的效能。
1. MIPS
每秒執行了多少百萬條指令
2. DMIPS
D是Dhrystone的縮寫,他表示了在Dhrystone這樣一種測試方法下的MIPS,Dhrystone是一種整數運算測試程式。
用DMIPS來衡量CPU效能存在很大的缺陷。DMIPS並非字面上每秒百萬條指令的意思,而是運行一個叫Dhrystone的基準程式時表現出來的相對效能高低的單位,很多場合人們也習慣用MIPS作為這個效能指標的單位。因為基於程式的測試容易受到惡意最佳化的幹擾,並且DMIPS指標值的發布不受任何機構的監督,所以使用DMIPS進行評估時要謹慎。
ARM一直採用比較保守的值作為CPU的DMIPS的標稱值。DMIPS另外一個缺點是不能測量處理器的數字訊號處理能力和Cache/MMU子系統的效能。因為Dhrystone測試程式不包含DSP運算式,只包含一些整型運算和字串處理,並且測試程式偏小,幾乎可以完整地放在Cache裡面運行而無需與外部儲存空間進行互動。這樣就難以反映處理器在一個真實系統中的真正效能。
DMIPS的計算方法:Dhrystone tries to represent the result more meaningfully than MIPS (million instructions per second), because MIPS cannot be used across different instruction sets (e.g. RISC vs. CISC) for the same computation
requirement from users. Thus, the main score is just Dhrystone loops per second. Another common representation of the Dhrystone benchmark is the DMIPS - Dhrystone MIPS - obtained when the Dhrystone score is divided by 1,757 (the number of Dhrystones per second
obtained on the VAX 11/780, nominally a 1 MIPS machine).
對於同一個計算程式,在不同的指令集(如CISC和RISC)的機器上所產生的指令數是不一樣的,此時用MIPS來比較就失去意義了,而用DMIPS來比較就有意義。在同相同指令集的機器上所產生的指令數是一樣(當然編譯器和libc也是一樣的情況下),用MIPS來比較就有意義。
3. MFLOPS
是一種基於浮點運算的CPU測試程式,當然,這種測試的結果也以 MFLOPS來加以表示,代表了CPU處理浮點運算的能力。
4. 總結
CPU效能評估採用綜合測試程式,較流行的有Whetstone 和 Dhrystone 兩種。Dhrystone主要用於測整數計算能力,計算單位就是DMIPS。採用Whetstone 主要用於測浮點計算能力,計算單位就是MFLOPS。