作為電腦的運算核心和控制核心,CPU(Central Processing Unit)由運算器、控制器、寄存器和實作其之間聯系的數據、控制及狀態的總線構成,決定著電腦運算效能強弱。作為資訊科技產業的核心基礎元器件,CPU的運作可分為四個階段:提取(Fetch)、譯碼(Decode)、執行(Execute)和回寫(Writeback)。
用一句話來概括CPU的運作原理:CPU從記憶體或高速緩沖記憶體中取出指令,將指令放入寄存器,並對指令譯碼、執行指令。
在嵌入式系統行業,用於評價CPU效能指標的標準主要有:
MIPS(Million Instructions Per Second):
即每秒能夠執行的百萬級機器語言指令數,用於計算系統的秒級處理能力,是衡量CPU速度的一個指標。
DMIPS(Dhrystone MIPS): 指CPU執行整數運算(Dhrystone)時所表現的相對效能,只適用於評估純量機(對應:向量機)。
FLOPS(Floating-point Operations Per Second): 表示CPU每秒執行的浮點運算次數,主要用於衡量電腦的浮點運算能力。
CoreMark: 以每秒叠代次數作為效能評價。
MIPS標準
1970年代,小型電腦的效能是透過與VAX MIPS相比較來評估的,指比較與VAX 11/780(市場公認的1 MIPS機器)執行同一工作的執行時間。
MIPS無法在不同的處理器架構下進行比較。由於不是每一條機械指令都能在單周期計算完成,所以計算MIPS的時候會引入一個CPI(Clock cycle per intruction,每條指令的平均時鐘周期數)值。公式如下:
MIPS=指令數/(執行時間*1000000)
MIPS=主頻/(CPI*1000000)
DMIPS標準
在一定意義上,DMIPS也是以VAX 11/780處理器作為標稱值的。
這裏要先引入當今最有代表性的通用跑分處理常式之一,Dhrystone。Dhrystone是由Reinhold P. Weicker在1984年提出來的一個基準測試程式,其主要目的是測試處理器整數運算和邏輯運算的效能。由於VAX 11/780處理器每秒能夠迴圈Dhrystone程式1757次,因此其他處理器每秒鐘執行Dhrystone程式的迴圈次數除以1757即為其 DMIPS值。
在此基礎上,除去工藝、功耗等可能的影響因素,將處理器的DMIPS值除以其頻率,便可得到更能直觀體現處理器微架構設計本身效能的DMIPS/MHz。
MIPS和DMIPS的區別:
MIPS反映的能力——每秒鐘能夠執行的指令集數量,這個能力由CPU的架構、記憶體的存取速度等硬件特性決定;
DMIPS反映的能力——每秒鐘能夠實作的工作數量。
*按字面意思進行理解,MIPS與DMIPS之間似乎存在轉換公式,但經查證,兩者完全是從不同角度來評估CPU效能的,並無直接轉換關系。
*「Dhrystone」名字的由來是相對更早出現的另一個測試CPU浮點計算效能的工具「Wetstone」。「Wetstone」本意為「濕石頭」,Dhrystone則是幹石頭,用於測試CPU的整數計算效能。
FLOPS標準
FLOPS常被用來估算電腦的執行效能,尤其是在使用到大量浮點運算的科學計算領域中。「浮點運算」由於涵蓋所有涉及小數的運算,相較於整數運算會更花時間。當前大部份的處理器中都會配備專用於處理浮點運算的「浮點運算器」(Float Point Unit,FPU),因此FLOPS標準所測量的實際上是FPU執行速度。
CoreMark標準
CoreMark可以理解為與Dhrystone類似的綜合處理器跑分程式,由非營利組織嵌入式微處理器基準評測協會EEMBC的Shay Gla-On於2009年提出,其主要目標是測試處理器核心效能。
*EEMBC:Embedded Micro-processor Benchmark Consortium
CoreMark程式使用C語言寫成,包含如下的運演算法則:列舉(尋找並排序)、數學矩陣操作(普通矩陣運算)、狀態機(用來確定輸入流中是否包含有效數碼)和CRC(Cyclic Redundancy Check,迴圈冗余校驗)。CoreMark具有特定的執行和報告規則,從而可以避免由於所使用的編譯庫不同而導致的測試結果難以比較。因此CoreMark標準被認為比Dhrystone標準更有實際價值。
CoreMark標準以在某配置參陣列合下,單位時間內CoreMark程式的執行次數作為度量標準,其指標單位為CoreMark/MHz。CoreMark數碼越高,意味著效能更高。
參考文獻
[1]顧夢傑. 基於RISC-V指令集架構的通用微控制器設計[D].東華大學,2022.DOI:10.27012/d.cnki.gdhuu.2022.000609.
[2]從效能指標角度看ARM Cortex-M各處理器區別,https:// mp.weixin.qq.com/s/o1am Lyzc8ZO8l59N5F2vyw
[3]效能評估單位說明,https:// zhuanlan.zhihu.com/p/57 1545878
[4]科普總結:Flops、FLOPS、GFLOPS,https:// imgtec.eetrend.com/blog /2020/100048896.html
[5] classic Benchmarks,http://www. roylongbottom.org.uk/cl assic.htm
微信公眾號:迪捷軟件
聯系電話:0575-88361699;19957518153【銷售】/ 13260299730【合作】 / 13501153049
聯系郵箱:[email protected]
工作地址:浙江省紹興市越城區中關村•水木灣區科學園3#802
北京市海澱區永豐路9號
上海市松江區九亭鎮九亭中心路1158號
中國(四川)自由貿易試驗區成都高新區天府三街288號
西安市高新區天谷七路996號
公司網址:www.digiproto.com
公司簡介:浙江迪捷軟件科技有限公司2013年成立於北京,專註於安全關鍵領域數碼化轉型,遵循中立開放的商業理念,為中國安全關鍵領域提供嵌入式DevOps和數碼樣機產品及解決方案。我司軟件產品全部為自主研發,具有核心知識產權,涉及了高端裝備的設計、研發和測試等環節。