jf101 发表于 2022-9-22 23:00

Cortex-M0和Cortex-M0+区别

咱们芯源MCU主要是Cortex-M0+处理器,那么Cortex-M0+比Cortex-M0处理器强在哪里呢?下面针对2者的关键特性对比进行简单区别,如下:

1、处理器流水线
Corte-M0处理器具有3级流水线(取指、解析、执行)
Cortex-M0+处理器具有2级流水线(取指 + 预解析,解析 + 执行),增加预解析,减少处理运行时间

2、指令集
指令集基于Thumb指令集架构(ISA),但是只使用了Thumb ISA的一个子集(56条指令),多数指令是16位,只有少数一些事32位。
一般来说,尽管指令具有不同大小,Cortex-M处理器可被归为精简指令集架构。
支持可选的单周期32位 * 32位乘法或用于小硅片面积设计的更小的多周期乘法,2者整体区别不大。

3、存储器寻址
32位寻址,支持最多4GB的存储空间。
系统总线接口基于名为AHB-Lite的片上总线协议,支持8位、16位、32位的数据传输。
AHB-Lite协议是流水线结构,支持高运行频率。外设可以通过AHB到APB总线桥连至基于APB协议(高级外设总线)的简单总线。

4、中断处理
处理器内部有一个名为嵌套向量中断控制器(NVIC)的中断控制器,其具有控制中断优先级和掩码功能,并且支持各外设产生最多32个中断请求(和芯片厂商有关)、一个不可屏蔽中断(NMI)输入以及多个系统异常。
每个中断都可被设置为4个可编程优先级中的1个,NMI的优先级是固定的。

5、操作系统(OS)支持
处理器中的两个系统异常(SVCall 和 PendSV)用于操作系统
一个名为SYSTick(系统节拍定时器)的24位硬件定时器用于OS周期定时。
Cortex-M0+处理器支持特权和非特权(芯片设计人员可选),OS可以在非特权等级下执行某些应用任务,并可以给这些任务设置存储器访问权限。
Cortex-M0+处理器中存在一个可选的存储器保护单元(MPU),OS可以借此在运行期间定义应用任务的存储器访问权限。

6、低功耗支持
架构定义了普通休眠和深度休眠两种休眠模式,这些休眠模式的实际表现是和设备相关的(取决于你所使用的芯片)。芯片设计人员还可以添加节省功耗的控制寄存器以增加休眠模式的数量,这样可以定义芯片中每个部分的休眠行为。
可以使用WFI(等待中断)或WFE(等待事件)进入休眠模式,也可以利用一种名为退出休眠的特性让处理器自动进入休眠。
芯片设计人员可以基于休眠模式特性、利用其他的硬件等级进行进一步降低功耗,例如唤醒中断控制器等(WIC).

7、调试
调试系统基于ARM CoreSight调试架构,支持简单的单处理器设计到复杂的多处理器设计。
调试接口可以基于JTAG协议(4个或5个引脚)或串行线调试协议(2个引脚),软件开发人员可以利用调试接口访问处理器的调试特性。
支持最多4个硬件断点、2个数据监视点以及用BKPT(断点)指令实现的不限数量的软件断点。
支持通过调试连接程序计数器(PC)采样得到的基本程序执行概况。
Cortex-M0+处理器中有一个名为微跟踪缓冲(MTB)的可选特性,可以利用它实现指令跟踪。


小小蚂蚁举千斤 发表于 2022-9-29 08:33

哦!搞了这么久确实对一些细节还没有完全了解,感谢分享!

Betty996 发表于 2022-9-29 13:18

说实话,一般情况,除非是研究系统,才会考虑内核

Carina卡 发表于 2022-9-29 14:27

这M0+属实很可以的,性能更好一些

Charlotte夏 发表于 2022-9-29 15:37

没仔细研究过,我觉得应该就能提升一些运行时间效率吧

Annie556 发表于 2022-9-29 16:14

现在用M0或者M0+好像都没啥感觉,性能都是还可以的

Estelle1999 发表于 2022-9-29 17:22

M0+的话,一般跑什么操作系统比较好啊?

Allison8859 发表于 2022-9-29 18:28

是M0+比M0的低功耗更好么?

Emily999 发表于 2022-9-30 07:16

调试应该没啥关系,应该都是一样的

alxd 发表于 2022-9-30 08:33

只要都支持SWD就行了,开发起来还不是很麻烦

Betty1299 发表于 2022-9-30 09:18

话说,芯源这M0+是不是也可以用keil呀

Candic12e 发表于 2022-9-30 11:42

这芯片好像也能跑RTT

B1lanche 发表于 2022-9-30 13:06

没啥区别吧,我觉得M0和M0+都差不多,在正常使用情况下

sesefadou 发表于 2022-10-1 17:58

Cortex-M0与Cortex-M0就是一个东西

alvpeg 发表于 2022-10-1 18:08

cortex-M0+相比cortex-M0有哪些改动

htmlme 发表于 2022-10-1 18:31

m0+ 将带有更多的先进工艺            

maudlu 发表于 2022-10-1 18:57

M0+:以Cortex-M0 处理器为基础,保留了全部指令集和数据兼容性

plsbackup 发表于 2022-10-1 19:31

ARM Cortex-M0+处理器为物联网发展奠定基础

loutin 发表于 2022-10-1 20:14

ARM Cortex-M0与Cortex-M0+权威指南

biechedan 发表于 2022-10-1 21:05

最终使用M0 +。               
页: [1] 2 3
查看完整版本: Cortex-M0和Cortex-M0+区别