閱讀224 返回首頁    go 阿裏雲 go 技術社區[雲棲]


嵌入式開發ARM Cortex-M23全新ARMv8-M基線指令

ARM Cortex-M23采用TrustZone技術,是尺寸最小、能效最高的處理器。小型嵌入式應用對芯片的安全性能有嚴格要求,基於ARMv8-M基線架構的Cortex-M23處理器則是最佳解決方案。

嵌入式應用開發.jpg

對比ARMv6-M,Cortex-M23加入了許多全新指令,但絲毫沒有折損Cortex-M係列處理器的超高能效。大多數新指令(除用於安全拓展外)都繼承自ARMv7-M的架構指令集,進一步拓展Cortex-M23的功能,並與Cortex-M0+ 處理器形成鮮明區分。

安全拓展

ARMv8-M采用的TrustZone安全技術為基線指令集補充了全新指令,包括安全網關(SG)、非安全支路(BXNS、BLXNS)以及測試目標(TT)指令。欲知詳情,請參閱Yiu撰寫的《ARMv8-M 架構介紹》。

僅執行代碼生成

對僅執行(Execute-Only)代碼存儲區的支持也獲得改善,新增加的即時移動指令(從ARMv7-M繼承的MOV/MOVT)可以在僅執行代碼中生成即時數據,讓設計師僅憑2條指令便能生成32位值,且無需運行實際負載。

代碼優化

條件比較和支路指令(從ARMv7-M繼承的CBNZ/CBZ)可以提高多項條件控製代碼序列的性能。長偏移即時支路(從ARMv7-M繼承的)可以將支路指向遙遠的目標地址;硬件整數劃分指令(從ARMv7-M繼承的SDIV/UDIV)則可以減少除法運算的處理循環。

排斥存取

Cortex-M23還從ARMv7-M繼承了負載和儲存的專用指令,提升Cortex-M23在多核係統中的一貫性,確保多個處理器以同樣的機製處理信號。此外,為了對C11/C++11提供穩定支持,Cortex-M23還新增ARMv8-A(Thumb 32版本)的負載獲取與儲存釋放指令,並包括這些指令的排斥存取變種。

嵌入式開發技術提供者朗銳智科(www.lrist.com)工作人員介紹ARMv8-M基線指令集中還加入了多條新指令以提升條件運算、互斥訪問、硬件劃分運算和即時移動的效率。Cortex-M23支持所有的ARMv6-M指令,以幫助設計師輕而易舉地將代碼從Cortex-M0和Cortex-M0+處理器轉移至Cortex-M23。Cortex-M23還包括選配存儲保護單元(MPU),基於全新PMSAv8架構打造,設計師使用起來非常方便。

最後更新:2017-08-16 17:02:34

  上一篇:go  mybatis
  下一篇:go  嵌入式開發FPGA設計要點解析