你可能聽見過xxx單片機性能不行,或者太弱之類的話,那你了解這個性能是什么嗎?
概述
我們經(jīng)常聽見某手機、電腦發(fā)布會,xxx跑分多少多少,其實這個跑分就是體現(xiàn)手機性能的一個指標(biāo)。
我們使用STM32開發(fā)產(chǎn)品,選擇MCU時,一般會綜合考慮MCU各方面性能。
對于MCU來說, 一個重要指標(biāo)是功耗,還有一個重要指標(biāo)就是性能 。
當(dāng)我們進入ST官方微控制器網(wǎng)頁,就會發(fā)現(xiàn)ST將MCU劃分為不同層次,如下圖:
https://www.st.com/en/microcontrollers.html
從上面層次關(guān)系,大致可以了解ST 各MCU的功耗和性能。
STM32 CoreMark跑分
STM32家族的32位微控制器基于ARM Cortex?-M處理器設(shè)計,為用戶提供新的自由度。
產(chǎn)品集高性能、實時性、數(shù)字信號處理、低功耗、低壓運行、互聯(lián)性于一體,保持充分的集成化和易用性。
根據(jù)性能劃分,STM32各系列MCU劃分為如下圖幾大類產(chǎn)品。具體可以參看官網(wǎng)信息。
https://www.st.com/en/microcontrollers/stm32-32-bit-arm-cortex-mcus.html
在嵌入式處理器領(lǐng)域最為知名和常見測試CPU性能的就是: Dhrystone 和 CoreMark 。
1.CoreMark是用來衡量嵌入式系統(tǒng)中中心處理單元(CPU,或叫做微控制器MCU)性能的標(biāo)準(zhǔn)。
2.DMIPS :Dhrystone Million Instructions executed Per Second。用來計算同一秒內(nèi)系統(tǒng)的處理能力,它的單位以百萬來計算,也就是(MIPS)。主要用于測整數(shù)計算能力。
CoreMark跑分如何得來?
CoreMark是用來衡量CPU性能的標(biāo)準(zhǔn) 。該標(biāo)準(zhǔn)于2009年由EEMBC組織的Shay Gla-On提出,并且試圖將其發(fā)展成為工業(yè)標(biāo)準(zhǔn),從而代替陳舊的Dhrystone標(biāo)準(zhǔn)。
與Dhrystone一樣, CoreMark小巧,便攜,易于理解,免費,并且顯示單個數(shù)字基準(zhǔn)分?jǐn)?shù) 。與Dhrystone不同,CoreMark具有特定的運行和報告規(guī)則,旨在避免Dhrystone的問題。
CoreMark跑分是通過運行C語言代碼得出來的分?jǐn)?shù) 。主要包含如下的運算法則:列舉(尋找并排序),數(shù)學(xué)矩陣操作(普通矩陣運算)和狀態(tài)機(用來確定輸入流中是否包含有效數(shù)字),最后還包括CRC(循環(huán)冗余校驗)。
也就是說CoreMark是使用一套用C語言編輯的測試代碼,我們通過運行這套代碼就能測試你MCU的性能。
CoreMark測試代碼
這里我們可以參考CoreMark官網(wǎng)信息,地址:
https://www.eembc.org/coremark/index.php
這里包含CoreMark相關(guān)說明、源代碼下載、移植說明等。源代碼位于Github,地址:
https://github.com/eembc/coremark
源碼docs目錄下包含與源碼相關(guān)的很多說明,感興趣可以下載來測試一下你MCU跑分多少。
其實,這里也有多種型號STM32的CoreMark跑分和測試結(jié)果:
STM32有些板子出廠就自帶CoreMark測試程序,比如我這邊手上有一個塊STM32F429I-Discovery的板子,就自帶性能測試代碼。
移植的過程,我這里就不教大家了,官方提供一些例程,網(wǎng)上也有很多教程,感興趣的小伙伴可以試著移植測試一下。
-
單片機
+關(guān)注
關(guān)注
6041文章
44615瀏覽量
637332 -
mcu
+關(guān)注
關(guān)注
146文章
17301瀏覽量
352120 -
STM32
+關(guān)注
關(guān)注
2270文章
10921瀏覽量
356944
發(fā)布評論請先 登錄
相關(guān)推薦
評論