基於ARM Cortex處理器的片上系統(SoC)解決方案可滿足各種嵌入式市場需求,包括:物聯網,電機控制,醫療保健,汽車,家庭自動化等等,您可以在本博客中看到Thomas Ensergueix 。各種處理器提供標準架構,以滿足這些不同產品市場所需的廣泛性能範圍和成本範圍。Cortex系列基於三種不同的配置文件:A配置文件,適用於主要運行複雜操作系統的複雜高端應用程序; R配置文件,用於高性能硬實時系統; 和M配置文件,針對低功耗,確定性,成本敏感的微控制器應用進行了優化。

使用ARMv8-M架構實現的前兩個處理器是Cortex-M23和Cortex-M33。有關Cortex-M23的詳細信息,請參閱Tim Menasveta撰寫的此博客。Cortex-M33是ARMv8-M的第一個全功能實現,具有TrustZone安全技術和數字信號處理功能。該處理器支持大量靈活的配置選項,可以在各種應用中進行部署,並提供專用的協處理器介面,用於加速常用的計算密集型操作。Cortex-M33在性能,功耗,安全性和生產率之間實現了最佳平衡。

Cortex-M33處理器具有有序的3級流水線,可顯著降低系統功耗。大多數指令分兩個階段完成,而更複雜的指令需要三個階段。一些16位指令是雙重發布的,以提高性能。該內核具有兩個AMBA 5 AHB5介面:C-AHB和S-AHB,它們本質上是對稱的,並提供相同的指令和數據讀取性能。

Cortex-M33處理器具有高度可配置性,可輕鬆滿足系統要求

設計人員可以通過包括這些可選MPU,DSP,FPU,TrustZone,ETM,MTB,ITM,BPU,DWT和協處理器介面功能的最合適組合,快速創建功能強大的系統。在最小控制系統中,NVIC可以配置為只有一個外部中斷,而在外設豐富的系統中,NVIC可以配置為支持多達480個外部中斷,最高可達256個優先順序。在要求對許多活動進程和線程進行更可靠操作的系統中,可以包括MPU以使用特權和非特權訪問控制來強制進行進程分離。對於下一級代碼,數據和資源保護,將使用TrustZone。

應用程序複雜性的增加使得片上調試和跟蹤對於按時交付產品非常寶貴。Cortex-M33處理器的集成調試功能可實現更快的軟體驗證。可以通過JTAG埠或2針串列線調試埠查看系統。可選的ETM和MTB提供出色的指令跟蹤功能,而BPU和DWT則提供了使用斷點和硬體觀察點進行調試的功能。

  • MPU內存保護單元
  • DSP數字信號處理
  • FPU浮點單元
  • SP單精度
  • ETM嵌入式跟蹤宏單元
  • MTB微量痕量緩衝液
  • BPU斷點單位
  • DWT數據監視和跟蹤單元
  • ITM Instrumentation Trace Macrocell
  • NVIC嵌套向量中斷控制器
  • WIC喚醒中斷控制器
  • AHB高級高性能匯流排
  • AMBA高級微控制器匯流排架構

現在,關於Cortex-M33的五個主要功能:

1.用於ARMv8-M的TrustZone; 系統範圍安全的基礎

帶有TrustZone的Cortex-M33處理器具有兩種安全狀態和許多相關功能:

兩個新的正交狀態

  • 安全的狀態
  • 非安全狀態
  • 四個堆棧和四個堆棧指針寄存器
  • 硬體堆棧限制檢查
  • 支持可編程MPU類安全歸屬單元(SAU)
  • 系統安全指示介面
  • 來自非安全(NS)域的安全代碼的可見性僅限於預定義的入口點
  • 切換到非安全時,異常硬體會自動保存並清除安全寄存器狀態
  • 廣泛的中斷或異常控制,SysTick
  • 每個安全和非安全側的內存保護單元

兩個完整州的存在為許多新的機會和應用打開了大門。系統使用的高價值專有固件可以在安全狀態下傳送。處於安全狀態的管理員代碼可用於在攻擊或不可靠操作後恢復系統,而非安全端仍然可用於以前為數百萬開發人員開發Cortex-M軟體的開發人員。

2.用於可擴展性的協處理器介面

對於某些應用程序,專用計算可以有所作為。至關重要的是,這樣做是為了保持世界第一生態系統的所有優勢 - 開發工具,編譯器,調試器,操作系統和中間件的最廣泛選擇。ARM生態系統為開發人員節省了時間,成本並提高了生

Cortex-M33處理器包括一個可選的專用匯流排介面,用於集成緊密耦合的加速器硬體。對於經常使用的計算密集型操作,此介面提供了一種機制,可通過自定義的處理硬體來增強通用計算功能。至關重要的是,它不會破壞生態系統。該介面包括多達8個協處理器的控制和數據通道,信號提供有關處理器的特權和安全狀態以及指令類型,相關寄存器和操作欄位的信息。通常期望協處理器操作在合理的少量循環中完成或在後台運行並在完成時中斷。

3.用於任務隔離的內存保護單元(MPU)

可選的MPU是可編程的,可為每種安全和非安全狀態提供多達16個區域。在多任務環境中,OS可以在任務上下文切換期間重新編程MPU,以定義每個任務的內存訪問許可權。例如,可以授權應用程序的任務僅訪問某些應用程序數據和特定外圍設備。通過這種方式,MPU可以保護所有其他存儲器和外設免受損壞或未經授權的訪問,從而顯著提高系統可靠性。

Cortex-M33內存保護架構基於受保護的內存系統架構PMSAv8。該版本採用基本和極限式比較器用於區域,而不是之前的二次冪大小,大小對齊的方案。每個區域都有一個基本起始地址,結束地址以及訪問許可權和內存屬性的設置。結果是可以產生MPU區域而不必考慮將多個區域連接在一起。此增強功能簡化了軟體開發,鼓勵使用並減少了編程步驟,從而減少了上下文切換時間。

4. DSP擴展

可選的整數DSP擴展添加了85條指令。在大多數情況下,DSP指令可以將性能平均提高三倍,從而推動所有以數字信號控制為中心的應用。

為了加速軟體開發,ARM還在CMSIS項目中提供免費的DSP庫。該庫包含一系列過濾器,變換和數學函數(例如矩陣),並支持一系列數據類型。CMSIS項目現在是開源的,開發在github上發布。

5.單精度浮點單元

基於FPv5的可選單精度浮點擴展包括一個額外的16項64位寄存器文件。該選件增加了45個IEEE754-2008兼容的單精度浮點指令。與同等軟體庫相比,使用浮點指令通常可以使性能平均提高十倍。

FPU包含在單獨的電源域中,允許在未啟用或未使用時關閉設備電源。

Cortex-M33在性能,功耗和安全性之間實現了最佳平衡

嵌入式解決方案的複雜性正在急劇上升,其價值也在不斷提升。設計師面臨著在相反的設計因素之間找到適當平衡的任務。SoC中包含的軟體數量也在急劇增加,而項目進度也在縮小。為了在合適的時間以合適的性能和成本提供合適的產品,我們需要從正確的種子開始。

Cortex-M33處理器旨在成為此類設計的種子,利用以往的經驗和現有的Cortex-M生態系統來降低開發成本。由於採用多種低功耗技術的新設計,系統功耗降低。TrustZone為保護用戶應用程序和構建安全解決方案的寶貴IP奠定了基礎。增強型MPU和TrustZone相結合,構成了可靠和受保護系統的基礎。最後,我們不斷追求更好的生產力。TrustZone的設計使得所有現有用戶可以像以前一樣繼續在非安全區域中進行開發。Cortex-M33增強了調試和跟蹤功能,簡化了複雜代碼的使用。所有編程都可以用C語言完成,就像所有Cortex-M一樣,包括所有異常處理程序。總共,

許多晶元合作夥伴加入ARM定義和開發這些新處理器,並積極設計利用TrustZone安全技術的晶元。ARM生態系統還專註於將工具和軟體移植到Cortex-M33。雖然Cortex-M33在性能,功耗,安全性和生產力之間實現了最佳平衡,但更重要的是要說ARM合作夥伴正在努力為開發人員和製造商提供卓越的成分,他們的創造力和願景將推動快速過渡到一個更連通,更智能,更受保護的世界。

有關詳細信息,請查看以下白皮書:


推薦閱讀:
相关文章