Cortex - M3與Cortex - M4對比
本文主要從M3和M4的MPU、DSP能力、debug調試和電源管理4個方面說明兩者的區別。
1.內存保護單元MPU
與Cortex-M3的相同,MPU是一個Cortex-M4中用于內存保護的可選組件。處理器支持標準ARMv7內存保護系統結構模型。您可以使用在MPU執行特權/訪問規則,或者獨立的進程。這個MPU提供全面支持:
l保護區
l重疊保護區域,提升區域優先級(7=最高優先級,0=最低優先級)
l訪問權限
l將存儲器屬性輸出至系統
2.DSP能力
下圖展示了處理器運行在相同的速度下Cortex-M3和Cortex-M4在數字信號處理能力方面的相對性能比較。
在下面的數字,Y軸代表執行給出的計算用的相對的周期數。因此,循環數越小,性能越好。以Cortex-M3作為參考,Cortex-M4的性能計算,性能比大概為其周期計數的倒數。舉例說明,PID功能,Cortex-M4的周期數是與Cortex-M3的約0.7倍,因此相對性能是1/0.7,即1.4倍。
Cortex-M系列16位循環計數功能
Cortex-M系列32位循環計數功能
這很清楚的表明,Cortex-M4在數字信號處理方面對比Cortex-M3的16位或32位操作有著很大的優勢。
Cortex-M4執行的所有的DSP指令集都可以在一個周期完成,Cortex-M3需要多個指令和多個周期才能完成的等效功能。即使是PID算法——通用DSP運算中最耗費資源的工作,Cortex-M4也能提供了一個1.4倍的性能得改善。另一個例子,MP3解碼在Cortex-M3需要20-25Mhz,而在Cortex-M4只需要10-12MHz。
pid控制相關文章:pid控制原理
評論