对比Cortex-M各处理器功能模块(cortex处理器排行榜)
haoteby 2025-01-23 17:17 4 浏览
ARMCortex-M处理器家族发展至今(2016),已有 5 代产品,分别是 CM0/CM0+、CM1、CM3、CM4、CM7。
1.Cortex-M 兼容特性
为了能做到 Cortex-M 软件重用,ARM 公司在设计 Cortex-M 处理器时为其赋予了处理器向下兼容、软件二进制向上兼容特性。
首先看什么是二进制兼容,这个特性主要是针对软件而言,这里指的是当某软件(程序)依赖的头文件或库文件分别升级时,软件功能不受影响。要做到二进制兼容,被软件所依赖的头文件或库文件升级时必须是二进制兼容的。
那么什么又是向上兼容,向上兼容又叫向前兼容,指的是在较低版本处理器上编译的软件可以在较高版本处理器上执行。
跟向上兼容相对的另一个概念叫向下兼容,向下兼容又叫向后兼容,指的是较高版本处理器可以正确运行在较低版本处理器上编译的软件。
所以其实既可以用向上兼容,也可以用向下兼容来形容 Cortex-M 特性,只不过描述的主语不一样,我们可以说 Cortex-M 程序是向上兼容的,也可以说 Cortex-M 处理器是向下兼容的。
具体到 Cortex-M 处理器时,这个兼容特性表现为:
从处理器角度看:CM0 指令集和功能模块是最精简的,CM7 指令集和功能模块是最丰富的。不存在低版本处理器上存在的特性是高版本处理器所没有的。
从软件角度来看:CMSIS 提供的头文件和功能函数是二进制向上兼容的,比如某 CM0 软件 App 使用的是 core_cm0.h 头文件,而这个 App 要在 CM7 上运行时,不需要使用 core_cm7.h 再重新编译一次(当然使用新头文件编译后的 App 也是正常的。)
2.Cortex-M 功能模块差异
由于 CM1 主要是用在 FPGA产品中,故下面对比忽略 CM1。我们知道 CM 处理器是向下兼容的,故 CM 功能模块是随着版本的升级而逐步增加的,我们逐步从最低版本开始对比。
2.1 CM0 vs CM0+
先来聊聊 CM0 与 CM0+,从最基准的 CM0 模块看起:
ARMv6-M CPU 内核:ARM 公司于 2007 年推出的内核。冯·诺依曼体系结构,3 级流水线,支持大部分 Thumb 和小部分 Thumb-2 指令集,所有指令一共 57 条。此外还内嵌 32-bit 返回结果的硬件乘法器。
NVIC 嵌套向量中断控制器:用于 CPU 在正常 Run 模式下中断管理。最大支持 32 个外部中断,外部中断可设 4 级抢占优先级(2bit)。
WIC 唤醒中断控制器:用于 CPU 在低功耗 Sleep 模式下中断管理。
AHB-Lite 总线:一条 32bit AMBA-3 标准的高性能 system 总线负责所有 Flash、SRAM指令和数据存取。
调试模块:0-4 个硬件断点 Breakpoint,0-2 个数据监测点 Watchpoint。
DAP 调试接口:通过 DAP 模块支持 JTAG 和 SWD 接口。
那么 CM0+到底改进了什么?
ARMv6-M CPU 内核:流水线改为 2 级(很多 8bit MCU 都是 2 级流水线,主要用于降低功耗)
NVIC 嵌套向量中断控制器:增加了 VTOR 即中断重定向功能。
那么 CM0+到底增加了什么?
MPU 存储器保护单元:提供硬件方式管理和保护内存,控制访问权限,最大可将内存分为 8*8 个 region。内存越权访问,将返回 MemManage Fault。
MTB 片上跟踪单元:用户体验更好的的跟踪调试,优化的异常捕获机制,可以更快地定位 bug。
Fast I/O:可单周期访问的快速 I/O 口,更易于 Bit-banging(比如 GPIO 模拟 SPI、IIC 协议)。
2.2 CM0+ vs CM3
前面比较完了 CM0 与 CM0+,再来看看 CM3 比 CM0+增强在了哪里:
那么 CM3 到底改进了什么?
ARMv7-M CPU 内核:ARM 公司于 2004 年推出的内核。哈佛体系结构,3 级流水线+分支预测,支持全部的 Thumb 和 Thumb-2 指令集。内嵌 32-bit 硬件乘法器可返回 64-bit 运算结果,且新增 32-bit 硬件除法器。
NVIC 嵌套向量中断控制器:最大支持 240 个外部中断,中断优先级可分组(抢占优先级、响应优先级),8bit 优先级设置(最大 128 级抢占优先级(对应最小 2 级响应优先级),最大 256 级响应优先级(对应无抢占优先级))。
3x AHB-Lite 总线:除了原 system 总线负责 SRAM 存取外,还新增两条 ICode、DCode 总线分别完成 Flash 上指令和数据存取。
调试模块:0-8 个硬件断点 Breakpoint,0-4 个数据监测点 Watchpoint。
ITM/ETM 跟踪单元:ITM 更好地支持 printf 风格 debug,ETM 提供实时指令和数据跟踪。
那么 CM3 到底增加了什么?
额,CM3 相比 CM0+并没有增加什么独有模块,反倒是少了 Fast I/O Port。
2.3 CM3 vs CM4
前面比较完了 CM0+与 CM3,再来看看 CM4 比 CM3 增强在了哪里:
那么 CM4 到底改进了什么?
ARMv7E-M CPU 内核:增加了 DSP 相关指令支持。
那么 CM4 到底增加了什么?
DSP 数字信号处理单元:新增支持单周期 16/32-bit MAC、dual 16-bit MAC, 8/16-bit SIMD 算法的数字信号处理单元。
FPU浮点运算单元:新增单精度(float 型)兼容 IEEE-754 标准的浮点运算单元(VFPv4-SP)。
2.4 CM4 vs CM7
前面比较完了 CM3 与 CM4,再来看看 CM7 比 CM4 增强在了哪里:
那么 CM7 到底改进了什么?
ARMv7E-M CPU 内核:6 级流水线+分支预测。
2x AHB-Lite 总线:精简为 2 条 AHB 总线,其中 AHB-P 外设接口完成原来 system 总线功能, AHB-S 从属接口负责外部总线控制器(如 DMA)功能以及与 TCM 接口功能。
MPU 存储器保护单元:最大可将内存分为 16*8 个 region。
FPU 浮点运算单元:新增双精度(double 型)兼容 IEEE-754 标准的浮点运算单元(VFPv5)。
那么 CM7 到底增加了什么?
I/D-Cache 缓存区:即是我们通常理解的 L1 Cache,每个 Cache 大小为 4-64KB。
I/D-TCM 紧密耦合存储器:紧密的与处理器内核相耦合的 RAM,提供与 Cache 相当的性能,但比 Cache 更具确定性,memory 最大均为 16MB。
ECC 特性:对 L1 Cache 提供错误校正和恢复功能,提高系统的可靠性。
AXI-M 总线:基于 AMBA 4 的 64bit AXI 总线,用于支持挂在系统上的 L2 memory。
相关推荐
- Python的RSA操作(私钥与公钥)(python rsa 公钥解密)
-
RSA是1977年由罗纳德·李维斯特(RonRivest)、阿迪·萨莫尔(AdiShamir)和伦纳德·阿德曼(LeonardAdleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA...
- RSA在日益互联的世界网络中安全性能如何?
-
KeyFactor公司(美国一家领先的安全数字身份管理解决方案提供商及网络安全行业权威机构)研究表明,许多物联网设备制造商正在生成不安全的RSA密钥,182个RSA证书里就有一个可能会被破解,由于不正...
- 让频谱分析更高效,澄清RSA使用中的一些误解
-
从事射频应用的研究人员、工程师和技术人员通常都能充分理解频谱分析仪的用途和优点,无论是传统的扫频分析仪(TSA)还是更现代的矢量信号分析仪(VSA)。他们熟练掌握这些重要射频仪器的关键规范和工作...
- 微软公告:Win10/Win11将不再支持短于2048位的RSA密钥证书
-
IT之家3月16日消息,微软近日发布公告,表示即将放弃短于2048位的RSA密钥证书。在公告中微软并未明确弃用时间,对于用户来说,这其实有利于构建更安全的上网环境。IT之家翻译微软公告...
- 目前已知的最强加密算法RSA(rsa加密算法的优点)
-
前面有人让我讲解一下RSA算法,今天我就用我所学的知识讲解一下,首先我们先了解一下RSARSA是一种非对称加密算法,1977年由罗纳德·李维斯特(RonRivest)、阿迪·萨莫尔(AdiSha...
- 韩国 CryptoLab 将在 2025年 RSA 大会发布加密人脸识别解决方案
-
据美通社4月23日报道,韩国同态加密网络安全企业CryptoLab宣布,将于4月24日在2025年RSA大会上,首次发布加密人脸识别(EFR)方案,为生物识别安全难题提供创新解法。当前,人脸识...
- 应对变化!盘点RSA2015十大热门产品
-
4月20日-24日,全球知名信息安全峰会RSAConference2015在美国旧金山召开。作为IT安全领域的权威科技大会,RSA大会不仅会邀请各地区著名安全专家出席与分享,更吸引汇集了全球众多顶...
- RSA 2015主题:变化挑战当今的安全理念
-
1“变化”成为RSA2015主题4月20日-24日,全球知名信息安全峰会RSAConference2015在美国旧金山召开。作为IT安全领域的权威科技大会,RSA大会不仅会邀请各地区著名安全专家出...
- 非对称加密——一文看懂RSA(非对称加密详解)
-
非对称加密----RSA的使用"非对称加密也叫公钥密码:使用公钥加密,使用私钥解密"在对称密码中,由于加密和解密的密钥是相同的,因此必须向接收者配送密钥。用于解密的密钥必须被配送给...
- RSA算法详解(rsa算法图解)
-
什么是RSA前面文章我们讲了AES算法,AES算法是一种是对称加密算法,本文我们来介绍一个十分常用的非对称加密算法RSA。非对称加密算法也叫公钥密码算法,通过生成的公私钥来对明文密文进行加密解密。R...
- 升级SSH后ssh-rsa失效?一文带你轻松解决!
-
背景今天刚给Linux桌面系统完成升级,结果SSH连接突然“罢工”了,还弹出了这个报错信息:...
- 历史回顾RSA大会:25年,十个瞬间(rsa conference)
-
国家安全局、Clipper芯片、苹果对决FBI、禁止ShowGirl——RSA大会都经历过。RSA需要你RSA这个词代表一家密码及安全厂商,也代表着世界上最大的网络安全展会,它今年在旧...
- RSA 加密技术详解(rsa的加密原理是什么)
-
RSA的安全性基于数学难题的理论安全:RSA的安全性主要基于大质数分解和离散对数问题这两个数学难题。在RSA加密算法中,公钥包含一个大整数N,它是两个大质数p和q的乘积。攻击者如果想要破解RSA加密,...
- 「游戏开发」请别再说Unity不如Unreal:Unity室内场景 + 光照练习 3
-
关注“indienova”,挖掘独立游戏的更多乐趣引言上两节慢吞吞的补了很多技术实现的细节,感觉要是把用到的所有技术细节都过一遍可能还需要若干篇文章。所以决定先把整体的流程这篇好玩的写了,以后再慢慢补...
- 再做一个Android!Google发布第二代VR眼镜Cardboard
-
在去年的GoogleI/O上,Google向所有与会者发放了一款名为Cardboard的纸盒版虚拟现实眼镜,相比OculusRift等颇为酷炫的VR头盔,第一代Cardboard着实糙得很。不过,...