架构对比
ARMv7-M 主要特性
ARM Cortex-M处理器基于ARMv7-M架构(Cortex-M0和Cortex-M0+采用类似的ARMv6-M架构)。虽然与早期的ARM架构有众多相似之处,但ARMv7-M经过专门打造,更适合深度嵌入、低成本的实时微处理器应用。因此,早期架构的很多功能被删除,并添加了新的特性,以构建更符合“微控制器”环境的编程模式。
对比前代处理器(例如备受欢迎的ARM7TDMI),变化具体如下:
• 操作模式数量显著减少,从7种甚至更多减至2种:仅保留处理器模式与线程模式。其中一种模式(处理器模式)可以默认为优先采用。
• 寄存器文件简化。虽然编程器可用的寄存器数量实质上仍然是16个,但前代架构使用的分组寄存器机制明显减少,因此两种操作模式寄存的只有栈指针(r13)。是否使用寄存拷贝可自行设置。
• 异常模式的变化最为明显。由于典型的微控制器应用可能会出现大量的芯片外设中断,基于此,全新架构中的所有Cortex-M核心都配置了标准嵌套中断向量控制器(Nested Vectored Interrupt Controller,NVIC)。类似的,根据记载处理器地址的向量表,异常处理模式也被标准化。上下文保存和恢复操作完全在硬件中实现,进一步简化编写中断处理器的软件任务。基于上述,实现过程中的干扰性延迟发生几率被降到极低,且高度可预测。
• 与前代ARM处理器类似,ARMv7-M定义了可选内存保护架构。同时,因为裸金属系统或在实时操作系统(RTOS)下运行的系统通常不需要虚拟内存,ARMv7-M并不为其提供支持。
• 为协助实时操作系统(RTOS)的实现和移植,一些标准的片上外围设备也在架构中获得定义,例如SysTick timer。
• 为进一步缩小处理器核心面积,ARMv7-M处理器仅采用Thumb指令集(包括Thumb-2指令集扩展)。
架构对比
ARMv7-M 主要特性
ARM Cortex-M处理器基于ARMv7-M架构(Cortex-M0和Cortex-M0+采用类似的ARMv6-M架构)。虽然与早期的ARM架构有众多相似之处,但ARMv7-M经过专门打造,更适合深度嵌入、低成本的实时微处理器应用。因此,早期架构的很多功能被删除,并添加了新的特性,以构建更符合“微控制器”环境的编程模式。
对比前代处理器(例如备受欢迎的ARM7TDMI),变化具体如下:
• 操作模式数量显著减少,从7种甚至更多减至2种:仅保留处理器模式与线程模式。其中一种模式(处理器模式)可以默认为优先采用。
• 寄存器文件简化。虽然编程器可用的寄存器数量实质上仍然是16个,但前代架构使用的分组寄存器机制明显减少,因此两种操作模式寄存的只有栈指针(r13)。是否使用寄存拷贝可自行设置。
• 异常模式的变化最为明显。由于典型的微控制器应用可能会出现大量的芯片外设中断,基于此,全新架构中的所有Cortex-M核心都配置了标准嵌套中断向量控制器(Nested Vectored Interrupt Controller,NVIC)。类似的,根据记载处理器地址的向量表,异常处理模式也被标准化。上下文保存和恢复操作完全在硬件中实现,进一步简化编写中断处理器的软件任务。基于上述,实现过程中的干扰性延迟发生几率被降到极低,且高度可预测。
• 与前代ARM处理器类似,ARMv7-M定义了可选内存保护架构。同时,因为裸金属系统或在实时操作系统(RTOS)下运行的系统通常不需要虚拟内存,ARMv7-M并不为其提供支持。
• 为协助实时操作系统(RTOS)的实现和移植,一些标准的片上外围设备也在架构中获得定义,例如SysTick timer。
• 为进一步缩小处理器核心面积,ARMv7-M处理器仅采用Thumb指令集(包括Thumb-2指令集扩展)。
举报