咱们芯源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)的可选特性,可以利用它实现指令跟踪。
|