当前位置:首页 > 公众号精选 > wenzi嵌入式软件
[导读]引言笔者接触嵌入式领域软件开发已近五年,几乎用的都是ARMCortexM内核系列的微控制器。在这五年期间,感谢C语言编译器的存在,让我不用接触汇编即可进行开发,但是彷佛也错过了一些风景,没有领域到编译器之美和CPU之美,所以决定周末无聊的休息时间通过寻找资料、动手实验、得出结论的...

引言

笔者接触嵌入式领域软件开发已近五年,几乎用的都是 ARM Cortex M 内核系列的微控制器。在这五年期间,感谢 C 语言编译器的存在,让我不用接触汇编即可进行开发,但是彷佛也错过了一些风景,没有领域到编译器之美和 CPU 之美,所以决定周末无聊的休息时间通过寻找资料、动手实验、得出结论的方法来探索 ARM CPU 架构的美妙,以及 C 语言编译器的奥秘。(因为我个人实在是不赞同学校中微机原理类课程的教学方法)。

一、ARM CPU Architecture

ARM CPU 架构[1]是一个用于计算机处理器的「精简指令集」(RISC)架构家族。它是世界上最普遍的处理器架构,从传感器、可穿戴设备、智能手机、到超级计算机,每年会有数十亿基于 ARM 的设备出货。

ARM CPU 架构基于 RISC 精简指令集,包括:

  • 「一个统一的寄存器文件」,其中指令不限于作用于特定的寄存器;
  • 「一种加载或存储架构」,其中数据处理仅对寄存器内容进行,而不是直接对内存内容进行;
  • 「简单的寻址模式」,所有加载或者存储模式仅由寄存器内容和指令字段决定。
根据不同的应用场景,ARM CPU 架构分为:

架构定义使用案例实现(处理器内核)
A 系列复杂的电脑应用(服务器、网络设备、手机、TV)Cortex-A、Neoverse
R 系列用于需要实时响应的场景(严格的安全性应用、需要确定响应的应用、自动驾驶)Cortex-R
「M 系列」「功耗和尺寸比较重要的设备,尤其嵌入式设备和 IoT 设备,比如小型传感器、通信模组、智能家居产品等」Cortex-M
在本系列文章中,我们将以 Cortex M 内核为主进行探索,不去考虑 Cortex A 系列和 Cortex R 系列。

二、Cortex M 内核

Cortex-M 处理器家族基于 ARM M 架构定义,为嵌入式系统提供了低延迟和高度确定的操作,主要包括的 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 系列中才有「数字信号处理扩展」(DSP)。

④ Cortex-M33、Cortex-M55 系列中开始拥有「ARM 自定义指令」

⑤ Cortex-M33、Cortex-M35P、Cortex M55 系列拥有「协处理器接口」

接下来我们一一了解。

1. Cortex M0

Cortex M0[2]处理器是 ARM 最小的处理器之一,主要特点是小体积,目的是使开发人员能够在 8 位的价格点上实现 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 上的实现而设计的处理器。使用 AMBA AHB-Lite 总线、三级流水线,支持部分 Thumb/Thumb-2 指令集。

4. Cortex M3

Cortex-M3[5]处理器是专为高性能、低成本平台开发设计的,包括汽车车身系统、工业控制系统、无线网络、传感器等,使用 3 个 AMBA AHB-Lite 总线 (哈佛总线架构),三级流水线,支持部分 Thumb/Thumb-2 指令集、支持 8 to 256 优先级等级。

5. Cortex M4

Cortex-M4[6]处理器是一款高效的嵌入式处理器,使用 3 个 AMBA AHB-Lite 总线 (哈佛总线架构),三级流水线,支持 Thumb/Thumb-2 部分指令集,支持 8 to 256 优先级等级。相比 CortexM3,「增加了 DSP 扩展、可选的单精度浮点单元」

6. Cortex M7

Cortex M7[7]处理器是一款高性能、节能的处理器,「6 级大规模流水线」,支持 Thumb/Thumb-2 指令集,支持 8 to 256 优先级等级,支持 DSP 扩展、可选的单精度浮点单元,使用 1 个 64-bit AMBA4 AXI 总线, 1 个 32-bit AHB 外设接口、1 个 为外部主机访问 TCMs 内存提供的 32-bit AMBA AHB 从机接口,「拥有指令 cache、数据 cache、指令 TCM、数据 TCM」

7. Cortex M23

Cortex M23[8]处理器是一款非常简洁的处理器,对于大多数需要安全性的 IoT 和嵌入式应用,带有 TrustZone 的 Cortex-M23 是一个理想的处理器。

Cotex-M23 使用 Armv8-M baseline 架构,拥有「2 级流水线」,使用 AMBA 5 AHB 总线,支持 Thumb/Thumb-2 部分指令集,支持 4 个优先级等级。还增加了指令支持硬件单周期乘法(32x32)和快速除法(32/32)。

8. Cortex M33

Cortex-M33[9]适用于需要有效安全性或者数字信号控制的嵌入式和 IoT 应用场景。Cortex-M33 有非常多的可选特性,包括 DSP 扩展、用于硬件强制隔离的 TrustZone 安全特性、一个协处理器接口、内存保护单元、浮点计算单元。

Cotex-M33 使用 Armv8-M Mainline 架构,拥有「3 级流水线」,使用 2 个 AMBA5 AHB 总线(哈佛架构),支持 Thumb/Thumb-2 指令集,支持 8 to 256 个中断优先级等级,可选的 TrustZone for Armv8-M 支持,「DSP 扩展中支持可选的 DSP/SIMD 指令」,可选的协处理器接口支持。

推荐傻孩子大佬的一篇文章:深度剖析,简单粗暴,详解 Cortex-M23/33 特性[10]

9. Cortex M35P

Cortex-M35P[11]处理器使用 TrustZone for Armv8-M,具有硬件安全和可选的软件隔离特性。对于试图阻止物理篡改并希望获得更高级别安全认证的嵌入式开发人员,ARM 提供了 Cortex-M35P 这款处理器。

Cotex-M35P 使用 Armv8-M Mainline 架构,拥有「3 级流水线」,使用 2 个 AMBA5 AHB 总线(哈佛架构),支持 Thumb/Thumb-2 指令集,支持 8 to 256 个中断优先级等级,具有可选的协处理器接口支持、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 协处理器接口支持、可选的 TrustZone 支持,可选的 Helium 技术支持,「DSP 扩展中支持 32 位 DSP/SIMD 指令扩展」

总结

认识了 Cortex-M 阵营都有哪些成员后,可以看到 ARM Cortex-M 越来越注重安全性能和 AI 性能,这也给了我们一个发展方向,未来物联网的发展也不再是仅限于对接一下云平台上报数据这么简单,而是更多的提升物联网设备安全能力和 AI 能力,毕竟硬件设备遭遇入侵比电脑中毒更加可怕,如果端侧 AI 处理能力大大提升,则数据处理可直接在终端中完成,而不用去消耗不必要的云端算力~

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

注:本文所有图片均来源于ARM。

参考

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


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭