Cortex-M55來了,將整合在下一代STM32、Keil MDK等產品中

ybhuangfugui發表於2020-05-03

關注、星標公眾,不錯過精彩內容

Cortex-M55來了,將整合在下一代STM32、Keil MDK等產品中

整理:黃工

公眾號:strongerHuang

昨天(2020-02-10),Arm官方推出Cortex-M55處理器,它是一款支援AI處理能力的Cortex-M處理器,也是首款採用Arm Helium技術的晶片。它的出現將增強IoT終端裝置的AI效能

一、首推Cortex-M55

Cortex-M55是首款採用Arm Helium技術的晶片,為物聯網裝置帶來了節能的ML和DSP效能的顯著提升。Arm提供了多種開發工具和模型,以幫助各MCU廠商將基於Cortex-M55的裝置推向市場。與以前的Cortex-M設計相比,Arm工具和模型對於瞭解體系結構差異和效能改進特別有用。

Cortex-M55來了,將整合在下一代STM32、Keil MDK等產品中

Arm Helium技術:

Arm Helium技術用於Arm Cortex-M核心的M-Profile向量擴充套件,為其提供高達15倍的機器學習效能和高達5倍的訊號處理能力,這樣一來,我們可以繼續使用M核心晶片,而無需採用更高效能的處理器架構。 

Helium和Neon(用於Cortex-A處理器的高階SIMD技術)具有相似性,但Helium專為微控制器的高效訊號處理效能而設計。

二、Cortex-M55特性

Cortex-M55處理器可提高裝置上的處理效能,同時保持Cortex-M的易用性,包括單個工具鏈和熟悉的軟體開發生態系統。與現有的Cortex-M處理器相比,超過150種新的標量和向量指令,低開銷迴圈和半精度浮點都有助於將ML效能提高15倍,並將訊號處理效能提高5倍。

Cortex-M55處理器具有多種配置的高度可配置性,以提高效能和安全性。對於DSP應用,向量單元每個週期支援兩個32位MAC運算,擴充套件的算術支援包括用於ML工作負載的8位固定點。

Cortex-M55處理器具有多項優勢,包括增強的ML和DSP效能,簡單的程式設計師模型,統一的控制和訊號處理以及對通用ML框架。

Cortex-M55來了,將整合在下一代STM32、Keil MDK等產品中

特點和優點:

1.提高機器學習和DSP效能

與現有的Cortex-M處理器相比,ML的效能提高了15倍,訊號處理效能提高了5倍。

2.加快上市時間

Corstone-300參考設計提供了最快,最安全的方式來將Cortex-M55整合到片上系統(SoC)中。

3.簡化軟體開發

由廣泛的軟體,工具,庫和資源生態系統支援的單一開發人員工具鏈。

三、Cortex-M55技術指標

核心框架:

Cortex-M55來了,將整合在下一代STM32、Keil MDK等產品中

技術引數:

Cortex-M55來了,將整合在下一代STM32、Keil MDK等產品中

詳細介紹請參看:

https://developer.arm.com/ip-products/processors/cortex-m/cortex-m55

四、開發工具和開發人員

藉助Arm工具,可以在基於Cortex-M55的晶片對軟體進行編譯,執行和除錯。

1.已有的工具

所有開發工具都已經在早期提供並使用,只需要升級即可,並將於2020年3月、4月公開。

Keil MDK:Cortex-M專案的最受歡迎的工具,將在MDK V5.30整合。

請參看我教程:Keil MDK 系列教程

Arm Development Studio:適用於任何Arm IP的整合開發環境。

Arm Fast Models:一個全面的建模環境。

Arm Fixed Virtual Platform:使用Arm快速模型構建的虛擬開發板,無需物理板即可進行軟體開發,並在11.10中支援Cortex-M55處理器。

Arm Cycle Models:Arm IP的100%週期精確的Arm IP模型,用於效能分析和IP選擇。

2.開發人員

嵌入式軟體開發工程師:使用Arm工具來學習新的向量指令,迴圈增強功能,新的暫存器,節拍概念以及程式設計模型的其他增強功能。

演算法開發工程師:使用Arm工具將現有演算法移植到基於Cortex-M55的裝置上,並優化程式碼以利用提高的效能和降低的軟體複雜性。

SoC架構師:使用Arm工具進行效能分析,以將基於Cortex-M55的系統與以前的Cortex-M設計進行比較,併為即將到來的專案做出明智的IP選擇決策。

五、在Cortex-M55處理器上開發

Keil MDK和Arm Development Studio中都包含Arm最新的編譯器Arm Compiler 6。包括Armv8.1-M和Cortex-M55處理器。Arm Compiler 6.14增加了對Cortex-M55處理器的特定支援。它彙集了現代LLVM編譯器基礎結構和高度優化的Arm庫和連結器。

1.hello.c程式碼

一個乘累加(MLA)函式的例子,它可以被Arm編譯器自動向量化

__attribute__((noinline)) int mla(short *a, short *b, int length) 
{ 
    int i; 
    int sum = 0;


    for(i = 0; i < length; i++) 
    { 
        sum += a[i] * b[i]; 
    }


    return sum; 
}

2.從Arm Compiler 5遷移到Arm Compiler 6,將需要對編譯器命令列選項進行一些更改:

Cortex-M55來了,將整合在下一代STM32、Keil MDK等產品中

3.除錯程式碼

開發Cortex-M55處理器可用Keil MDK 和 Development Studio工具。

Development Studio中的反彙編視窗顯示上面示例中的向量指令:

Cortex-M55來了,將整合在下一代STM32、Keil MDK等產品中

µ Vision偵錯程式顯示向量指令的反彙編 : 

Cortex-M55來了,將整合在下一代STM32、Keil MDK等產品中

Development Studio  和µ Vision 顯示向量寄暫存器,包括Q暫存器(最適合您的格式)和VPR(向量預測狀態和控制暫存器):

Cortex-M55來了,將整合在下一代STM32、Keil MDK等產品中

µ Vision 具有有可配置,顯示的Helium暫存器的專用檢視:

Cortex-M55來了,將整合在下一代STM32、Keil MDK等產品中

更多介紹和開發資料請見Arm官方的資訊。

‧  END  

推薦閱讀:

精選彙總 | 目錄 | 搜尋

ANSI C、ISO C、Standard 是什麼關係?

支援10K高清視訊是HDMI 2.1有什麼特點?

關注微信公眾號『strongerHuang』,後臺回覆“1024”,檢視更多精彩內容

Cortex-M55來了,將整合在下一代STM32、Keil MDK等產品中

長按前往圖中包含的公眾號關注

相關文章