當前位置:首頁 > 公眾號精選 > wenzi嵌入式軟件
[導讀]引言筆者接觸嵌入式領域軟件開發(fā)已近五年,幾乎用的都是ARMCortexM內核系列的微控制器。在這五年期間,感謝C語言編譯器的存在,讓我不用接觸匯編即可進行開發(fā),但是彷佛也錯過了一些風景,沒有領域到編譯器之美和CPU之美,所以決定周末無聊的休息時間通過尋找資料、動手實驗、得出結論的...

引言

筆者接觸嵌入式領域軟件開發(fā)已近五年,幾乎用的都是 ARM Cortex M 內核系列的微控制器。在這五年期間,感謝 C 語言編譯器的存在,讓我不用接觸匯編即可進行開發(fā),但是彷佛也錯過了一些風景,沒有領域到編譯器之美和 CPU 之美,所以決定周末無聊的休息時間通過尋找資料、動手實驗、得出結論的方法來探索 ARM CPU 架構的美妙,以及 C 語言編譯器的奧秘。(因為我個人實在是不贊同學校中微機原理類課程的教學方法)。

一、ARM CPU Architecture

ARM CPU 架構[1]是一個用于計算機處理器的「精簡指令集」(RISC)架構家族。它是世界上最普遍的處理器架構,從傳感器、可穿戴設備、智能手機、到超級計算機,每年會有數(shù)十億基于 ARM 的設備出貨。

ARM CPU 架構基于 RISC 精簡指令集,包括:

  • 「一個統(tǒng)一的寄存器文件」,其中指令不限于作用于特定的寄存器;
  • 「一種加載或存儲架構」,其中數(shù)據處理僅對寄存器內容進行,而不是直接對內存內容進行;
  • 「簡單的尋址模式」,所有加載或者存儲模式僅由寄存器內容和指令字段決定。
根據不同的應用場景,ARM CPU 架構分為:

架構定義使用案例實現(xiàn)(處理器內核)
A 系列復雜的電腦應用(服務器、網絡設備、手機、TV)Cortex-A、Neoverse
R 系列用于需要實時響應的場景(嚴格的安全性應用、需要確定響應的應用、自動駕駛)Cortex-R
「M 系列」「功耗和尺寸比較重要的設備,尤其嵌入式設備和 IoT 設備,比如小型傳感器、通信模組、智能家居產品等」Cortex-M
在本系列文章中,我們將以 Cortex M 內核為主進行探索,不去考慮 Cortex A 系列和 Cortex R 系列。

二、Cortex M 內核

Cortex-M 處理器家族基于 ARM M 架構定義,為嵌入式系統(tǒng)提供了低延遲和高度確定的操作,主要包括的 Cortex-M 系列內核如下圖:

從圖中大致可以看出:

① Cortex-M0、Cortex-M0 、Cortex-M1 系列內核使用 Armv6-M 架構,「常用的 Cortex-M3、Cortex M4、Cortex M7 系列內核使用 Armv7-M 架構」,Cortex-M23 系列使用 Armv8-M Baseline 架構,Cortex-M33、Cortex-M33P、Cortex-M55 系列使用 Armv8-M Mainline 架構。

② 從 Coretx-M23 系列開始,Cortex-M 內核中開始擁有「TrustZone 特性」。

③ Cortex-M4、CortexM7、Cortex-M33、Cortex-M35P、Cortex-M55 系列中才有「數(shù)字信號處理擴展」(DSP)。

④ Cortex-M33、Cortex-M55 系列中開始擁有「ARM 自定義指令」。

⑤ Cortex-M33、Cortex-M35P、Cortex M55 系列擁有「協(xié)處理器接口」。

接下來我們一一了解。

1. Cortex M0

Cortex M0[2]處理器是 ARM 最小的處理器之一,主要特點是小體積,目的是使開發(fā)人員能夠在 8 位的價格點上實現(xiàn) 32 位的性能。Cortex M0 處理器使用 AHB-Lite 總線、擁有三級流水線,支持部分 Thumb/Thumb-2 指令集。

2. Cortex M0

Cortex M0 [3]處理器在 Cortex M0 處理器的基礎上,進一步降低了功耗,提升了性能。Cortex M0 處理器使用 AMBA AHB-Lite 總線、降低為兩級流水線,支持部分 Thumb/Thumb-2 指令集。

3. Cortex M1

Cortex M1[4]是首個專為 FPGA 上的實現(xiàn)而設計的處理器。使用 AMBA AHB-Lite 總線、三級流水線,支持部分 Thumb/Thumb-2 指令集。

4. Cortex M3

Cortex-M3[5]處理器是專為高性能、低成本平臺開發(fā)設計的,包括汽車車身系統(tǒng)、工業(yè)控制系統(tǒng)、無線網絡、傳感器等,使用 3 個 AMBA AHB-Lite 總線 (哈佛總線架構),三級流水線,支持部分 Thumb/Thumb-2 指令集、支持 8 to 256 優(yōu)先級等級。

5. Cortex M4

Cortex-M4[6]處理器是一款高效的嵌入式處理器,使用 3 個 AMBA AHB-Lite 總線 (哈佛總線架構),三級流水線,支持 Thumb/Thumb-2 部分指令集,支持 8 to 256 優(yōu)先級等級。相比 CortexM3,「增加了 DSP 擴展、可選的單精度浮點單元」。

6. Cortex M7

Cortex M7[7]處理器是一款高性能、節(jié)能的處理器,「6 級大規(guī)模流水線」,支持 Thumb/Thumb-2 指令集,支持 8 to 256 優(yōu)先級等級,支持 DSP 擴展、可選的單精度浮點單元,使用 1 個 64-bit AMBA4 AXI 總線, 1 個 32-bit AHB 外設接口、1 個 為外部主機訪問 TCMs 內存提供的 32-bit AMBA AHB 從機接口,「擁有指令 cache、數(shù)據 cache、指令 TCM、數(shù)據 TCM」。

7. Cortex M23

Cortex M23[8]處理器是一款非常簡潔的處理器,對于大多數(shù)需要安全性的 IoT 和嵌入式應用,帶有 TrustZone 的 Cortex-M23 是一個理想的處理器。

Cotex-M23 使用 Armv8-M baseline 架構,擁有「2 級流水線」,使用 AMBA 5 AHB 總線,支持 Thumb/Thumb-2 部分指令集,支持 4 個優(yōu)先級等級。還增加了指令支持硬件單周期乘法(32x32)和快速除法(32/32)。

8. Cortex M33

Cortex-M33[9]適用于需要有效安全性或者數(shù)字信號控制的嵌入式和 IoT 應用場景。Cortex-M33 有非常多的可選特性,包括 DSP 擴展、用于硬件強制隔離的 TrustZone 安全特性、一個協(xié)處理器接口、內存保護單元、浮點計算單元。

Cotex-M33 使用 Armv8-M Mainline 架構,擁有「3 級流水線」,使用 2 個 AMBA5 AHB 總線(哈佛架構),支持 Thumb/Thumb-2 指令集,支持 8 to 256 個中斷優(yōu)先級等級,可選的 TrustZone for Armv8-M 支持,「DSP 擴展中支持可選的 DSP/SIMD 指令」,可選的協(xié)處理器接口支持。

推薦傻孩子大佬的一篇文章:深度剖析,簡單粗暴,詳解 Cortex-M23/33 特性[10]。

9. Cortex M35P

Cortex-M35P[11]處理器使用 TrustZone for Armv8-M,具有硬件安全和可選的軟件隔離特性。對于試圖阻止物理篡改并希望獲得更高級別安全認證的嵌入式開發(fā)人員,ARM 提供了 Cortex-M35P 這款處理器。

Cotex-M35P 使用 Armv8-M Mainline 架構,擁有「3 級流水線」,使用 2 個 AMBA5 AHB 總線(哈佛架構),支持 Thumb/Thumb-2 指令集,支持 8 to 256 個中斷優(yōu)先級等級,具有可選的協(xié)處理器接口支持、TrustZone for Armv8-M 支持、DSP 支持,并且具有物理安全特性,「內置保護,防止入侵和非入侵式攻擊」

10. Cortex M55

目前最新一代的 Cortex M 系列處理器為 Cortex M55。

Cortex-M55[12]是首個基于 Armv8.1-M 架構的處理器,采用 ARM Helium 技術(MVE,M 系列矢量擴展),為下一代小型嵌入式設備帶來了增強的機器學習水平和信號處理的性能,包括可穿戴設備,智能語音設備等。

Cotex-M55 擁有「4 級流水線」,使用 AMBA 5 AXI5 64-bit 主機總線,可選的 64bit 協(xié)處理器接口支持、可選的 TrustZone 支持,可選的 Helium 技術支持,「DSP 擴展中支持 32 位 DSP/SIMD 指令擴展」

總結

認識了 Cortex-M 陣營都有哪些成員后,可以看到 ARM Cortex-M 越來越注重安全性能和 AI 性能,這也給了我們一個發(fā)展方向,未來物聯(lián)網的發(fā)展也不再是僅限于對接一下云平臺上報數(shù)據這么簡單,而是更多的提升物聯(lián)網設備安全能力和 AI 能力,畢竟硬件設備遭遇入侵比電腦中毒更加可怕,如果端側 AI 處理能力大大提升,則數(shù)據處理可直接在終端中完成,而不用去消耗不必要的云端算力~

至此,ARM 探索之旅第一站就結束啦!下一站再會!

注:本文所有圖片均來源于ARM。

參考

ARM CPU 架構: https://developer.arm.com/architectures/cpu-architecture


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉