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

引言

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

一、ARM CPU Architecture

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

ARM CPU 架構(gòu)基于 RISC 精簡(jiǎn)指令集,包括:

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

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

二、Cortex M 內(nèi)核

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

從圖中大致可以看出:

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

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

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

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

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

接下來(lái)我們一一了解。

1. Cortex M0

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

2. Cortex M0

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

3. Cortex M1

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

4. Cortex M3

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

5. Cortex M4

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

6. Cortex M7

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

7. Cortex M23

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

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

8. Cortex M33

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

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

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

9. Cortex M35P

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

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

10. Cortex M55

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

Cortex-M55[12]是首個(gè)基于 Armv8.1-M 架構(gòu)的處理器,采用 ARM Helium 技術(shù)(MVE,M 系列矢量擴(kuò)展),為下一代小型嵌入式設(shè)備帶來(lái)了增強(qiáng)的機(jī)器學(xué)習(xí)水平和信號(hào)處理的性能,包括可穿戴設(shè)備,智能語(yǔ)音設(shè)備等。

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

總結(jié)

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

至此,ARM 探索之旅第一站就結(jié)束啦!下一站再會(huì)!

注:本文所有圖片均來(lái)源于ARM。

參考

ARM CPU 架構(gòu): https://developer.arm.com/architectures/cpu-architecture


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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

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

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

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

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

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

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

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

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

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

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

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

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

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

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉