打印
[应用方案]

Cortex-M的M0,M+,M3,M4,M7几种内核的简单区别

[复制链接]
1763|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ARM处理器性能图:


知识补贴:

之所以ARM公司会把Cortex-M分为这么多系列,主要是针对不同的应用领域;下面详细介绍:

Cortex-M分为:M0,M0+,M3,M4,M7



M0,M0+:基础版本,从图中可以看出来,有过于基础,所以生产不出来高性能的STM32的单片机;

M3:目前最主流的设计内核选型,应用范围广;

M4:比较着M3的内核来说,M4处理器添加了DSP的数据(这里可以认为是浮点数)处理的指令;

重点解释一下:对于CPU(不是SOC)来说,运算浮点类型的数据是很麻烦的一件事,在选型的时候,如若用应用的领域需要大量浮点数据的运算的时候,那么就要选择M4的内核,M4会大大提高处理器性能和运算速度,而如果要要处理的浮点数据不多,则可以直接选择M3内核处理器;比如项目是平衡车或者平衡器的时候选择M4比较好;



M7:性能好和功耗高兼具,适合追求极致性能项目;

使用特权

评论回复
沙发
mollylawrence| | 2024-10-3 07:48 | 只看该作者
Cortex-M0:这是Cortex-M系列中最基础的内核,提供了一个简单的3级流水线和Thumb指令集。它适合于成本敏感型和低功耗的应用。
Cortex-M0+‌:M0+是对M0的改进版,提供了更好的性能和更低的功耗。它引入了更多的优化,如分支预测和更高效的中断处理。
Cortex-M3:M3内核引入了更高级的特性,如可选的硬件乘法器和更复杂的流水线结构。它支持Thumb-2指令集,提供了更好的代码密度和性能。
Cortex-M4:M4内核在M3的基础上增加了单指令多数据(SIMD)指令和数字信号处理(DSP)指令,使其更适合于需要高性能数字信号处理的应用。
Cortex-M7:M7是Cortex-M系列中性能最高的内核,它提供了双发射指令解码和更高性能的流水线。M7还支持浮点单元(FPU)和更多高级的DSP指令,适用于需要极高性能的应用。

使用特权

评论回复
板凳
maudlu| | 2024-10-3 13:15 | 只看该作者
Cortex-M内核的选择主要取决于具体应用的需求。从M0到M7,性能逐渐提高,但功耗也随之增加。

使用特权

评论回复
地板
febgxu| | 2024-10-4 14:36 | 只看该作者
Cortex-M0:这是Cortex-M系列中的基础版本,具有低功耗的设计特点。它是一款32位、3级流水线RISC处理器,运算能力可以达到0.9 DMIPS/MHz。相较于其他16位和8位处理器,Cortex-M0在同样任务的执行上只需较低的运行速度,从而大幅降低了整体的动态功耗。

使用特权

评论回复
5
maudlu| | 2024-10-4 15:04 | 只看该作者
在 Cortex-M3 的基础上,增加了数字信号处理(DSP)指令和一个硬件浮点单元(FPU,可选),大大增强了数字信号处理和浮点运算能力,能够高效地处理复杂的数字信号处理任务,如音频处理、电机控制等。

使用特权

评论回复
6
houjiakai| | 2024-10-4 18:10 | 只看该作者
Cortex-M7处理器有一个有序的超标量管道,可以双重发出许多指令,从而提高了处理器的吞吐量。这使得Cortex-M7非常适合追求极致性能的项目。

使用特权

评论回复
7
minzisc| | 2024-10-5 10:06 | 只看该作者
相比于M3,M4处理器添加了DSP的数据(可以认为是浮点数)处理的指令。

使用特权

评论回复
8
uptown| | 2024-10-5 16:16 | 只看该作者
相较于Cortex-M3,Cortex-M4添加了浮点运算单元(FPU),从而大大提高了处理器在处理浮点数据时的性能和运算速度。这使得Cortex-M4非常适合需要复杂数学计算的应用,如平衡车、平衡器等。

使用特权

评论回复
9
plsbackup| | 2024-10-5 20:59 | 只看该作者
Cortex-M0

定位:Cortex-M0是ARM公司推出的一款基础版微控制器核心,基于ARMv6-M架构设计。
特点:Cortex-M0提供低成本、低功耗的解决方案,适用于简单的微控制器应用。它的硬件设计紧凑,功率消耗低,适合在功率和空间受限的应用中使用。
Cortex-M0+

定位:作为M0的升级版本,Cortex-M0+提供了更高的性能和更低的能耗。
特点:相比M0,M0+在保持低功耗的同时,提升了处理能力,支持更多的指令集,使其更适合需要稍微复杂一些的应用场合。
Cortex-M3

定位:Cortex-M3是目前最主流的设计内核之一,广泛应用于各种嵌入式系统中。
特点:Cortex-M3基于ARMv7-M架构,具有32位处理能力,支持高效的数据处理和低延迟中断处理。它包括许多高级功能,如嵌套向量中断控制器(NVIC)等,适合高性能嵌入式系统。
Cortex-M4

定位:Cortex-M4在M3的基础上增加了数字信号处理(DSP)和浮点运算能力。
特点:M4特别适合于需要进行复杂数字处理的嵌入式应用,如音频处理、电机控制等。它包含一个32位CPU,并增加了专门用于DSP和浮点运算的硬件支持,提高了处理器性能和运算速度。
Cortex-M7

定位:Cortex-M7是追求极致性能的项目的理想选择。
特点:M7采用Superscalar技术,可以在一个时钟周期内执行多条指令,大大提高了处理器的性能。它还支持双精度浮点运算,具备处理复杂数值运算的能力。此外,M7还具有高速缓存技术和错误检测纠正技术,增强了系统的可靠性和鲁棒性。

使用特权

评论回复
10
jackcat| | 2024-10-8 10:39 | 只看该作者
相比 Cortex-M0,性能有所提升,具有更高的能效比。耗电量仅 9μA/MHz,约为主流 8 位或 16 位处理器的 1/3,却能提供更高的性能。

使用特权

评论回复
11
sdlls| | 2024-10-16 09:25 | 只看该作者
相比M0和M0+,M3具有更高的性能和更丰富的指令集。

使用特权

评论回复
12
jackcat| | 2024-10-16 14:49 | 只看该作者
M0和M0+是基础版本的内核,生产不出高性能的STM32单片机。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

1252

帖子

1

粉丝