一、前言
二、MIPS與DMIPS的基本概念
在現今數位化時代,微控制器(MCU)已成為各種嵌入式系統和智能設備的核心元件。無論是家用電器、汽車電子、工業自動化,還是物聯網設備,MCU 都在這些領域中扮演著至關重要的角色。然而,隨著應用需求的多樣化和複雜化,如何選擇合適的 MCU 以滿足特定應用的性能要求,成為工程師面臨的一大挑戰。
在選擇 MCU 時,性能評估是至關重要的一環。常見的性能指標包括 MIPS(Million Instructions Per Second)和 DMIPS(Dhrystone Million Instructions Per Second)。這兩個指標分別從不同角度評估 MCU 的處理能力,幫助工程師做出最佳決策。MIPS 是一個傳統的性能指標,表示每秒能執行的機器指令數。這一指標直觀且易於計算,通常用於基本的指令處理能力比較。然而,僅僅依靠 MIPS 來評估 MCU 的性能可能會忽略一些實際應用中的關鍵因素。為了解決這一問題,DMIPS 應運而生。DMIPS 基於 Dhrystone 基準測試,提供了一個更貼近實際應用的性能評估方法。通過模擬典型應用程序的運行情況,DMIPS 能夠更準確地反映 MCU 在實際工作負載下的性能表現。
二、MIPS與DMIPS的基本概念
2.1 MIPS(Million Instructions Per Second)
MIPS(每秒百萬指令)是一個用來衡量微控制器(MCU)性能的指標,表示處理器每秒能夠執行的機器指令數。數值越高,表示處理器每秒能處理的指令越多,性能越強。它主要用來衡量 MCU 在理想條件下的指令處理能力。
常見的計算方式如下:
Clock Speed:處理器的時鐘頻率,通常以 MHz 為單位。
CPI:每條指令平均所需的時鐘週期數。不同指令的 CPI 可能不同,因此 CPI 是一個平均值。
基於指令數和執行時間的計算方式:
Number of Instructions Executed:在測試期間執行的總指令數。
Execution Time:執行這些指令所花費的時間,以秒為單位。
基於性能測試的計算方式:
這個公式是基於特定的基準測試程序,例如每秒執行的 Dhrystone 指令數或 CoreMark 得分進行計算。
如上一個公式說明,CoreMark 是一種基於指令的基準測試,可以用來估算 MIPS。通常,CoreMark 分數可以近似視為每秒執行的指令數。因此,我們可以直接將 CoreMark/MHz 乘以主頻來估算 MIPS。
理論最大 MIPS:
Instructions per Cycle (IPC):處理器每個時鐘週期能夠執行的指令數,這通常取決於處理器的設計和架構。例如,一個超純量處理器可能在每個時鐘週期內執行多條指令。
2.2 DMIPS(Dhrystone Million Instructions Per Second)
DMIPS(Dhrystone 每秒百萬指令)是一個基於 *Dhrystone 基準測試的性能指標,用來衡量處理器在處理特定工作負載(通常是整數運算)時的性能。DMIPS 的出現是為了提供一個更具代表性的性能評估方法,因為 MIPS 只考慮指令的執行速度,而不考慮指令的實際工作負載。
*註:Dhrystone 指的是一個常用的基準測試程序,用於測試處理器的整數運算性能。它模擬了一個典型的計算機應用程序,包含了大量的算術和邏輯操作。
常見的計算方式如下:
Dhrystone Score:每秒執行的 Dhrystone 基準測試迴圈數。
1757:這是一個常數,表示 VAX 11/780(用於校準 Dhrystone 基準測試的標準處理器)每秒執行的 Dhrystone 指令數。
基於每秒 Dhrystone 操作數的計算方式:
DOPS:每秒執行的 Dhrystone 操作數,通常以每秒億次(100M ops/sec)為單位。
1757 \times 10^6:這個常數表示 VAX 11/780 每秒執行的 Dhrystone 操作數(1757 百萬次)。
基於 MIPS 的轉換方法:
MIPS:處理器每秒執行的百萬條指令數。
CPI:每條指令平均所需的時鐘週期數。
1757:這是一個常數,表示 VAX 11/780 每秒執行的 Dhrystone 指令數。
基於主頻和 DMIPS/MHz 的計算方法:
DMIPS 相較於 MIPS 更適合用來比較 MCU 在處理實際應用程序時的性能,尤其是在整數運算方面。然而,DMIPS 基於特定的基準測試,其代表性可能不適用於所有應用場景。此外,基於不同架構的 MCU 之間的 DMIPS 比較可能會遇到一定的困難。
三、MIPS 與 DMIPS 的差異與 DMIPS 實例說明
3.1 MIPS 與 DMIPS的差異
3.2 實例說明 ( 以 NXP S32K396 與 Infineon TC387QP 為例 )
下列說明以 NXP S32K396 與Infineon TC387QP 的單顆主核心進行說明。
由上面的數據,可得知 Infineon TC397XP中的單核處理速度會比 NXP S32K396 中的單核處理速度更快,但是 MCU 整體的 DMIPS 仍取決於核心的配置與品牌廠商的設計。
四、結論
在評估車用微控制器(MCU)的性能時,DMIPS(Dhrystone Million Instructions Per Second)是一個有價值的指標,但不應僅依賴此單一指標來做出決策。不同的性能指標(如 MIPS 和 DMIPS)在評估中都扮演著重要角色。此外,綜合考慮周邊功能、硬體加速器、應用需求和具體工作負載,才能做出更全面的決策。
欲了解更多資料請聯絡世平集團Kevin ( Kevin.Hong@wpi-group.com )
Ethan ( ethanhc.yang@wpi-group.com )
五、參考資料
評論