处理器类型
-
Cortex-M为32位的RICS(精简指令集)处理器:
- 32位寄存器
- 32位内部数据通路
- 32位总线接口
-
Cortex-M3和M4处理器都具有三级流水线(取指、译码、执行)结构,都是基于哈佛总线结构,取指和数据访问可以同时执行。
-
Cortex-M处理器系统使用32位寻址,即4G寻址空间,存储器映射是一致的。存储器空间包括程序代码、数据、外设以及支持调试的组件。
-
基于加载-存储架构,数据需要从存储器中加载和处理后,使用多个单独的指令写回存储器。例如,当需要增加SRAM中存储的数据值:
- 使用一条指令从SRAM中读数据到处理器中的寄存器中
- 第二条指令增加寄存器中的值
- 最后第三条指令将数据值写回到存储器
处理器架构
-
处理器只是微控制器芯片中的一部分,存储器系统、外设和各种接口特性由微控制器供应商开发。对于ARM处理器,架构一般指两个方面:
- 架构。指令集架构(ISA)、编程模型以及调试方法
- 微架构。接口信号、指令执行时序以及流水线实现。
-
Cortex-M3和M4都基于ARMv7-M架构。M0、M0+和M1基于ARMv6-M。 一个指令集架构可以包含多个微架构设计。Cortex-M系列主要是用来取代经典处理器ARM7系列(比如基于ARMv4架构的ARM7TDMI),Cortex-M比ARM7的架构高了3代 。
发布顺序:
-
ARM-v6。
-
ARM-v7-M。( Cortex-M3:2004年10月 )、( Cortex-M4:2010年02月 )
-
ARMv6-M。( Cortex-M1:2007年03月 )、( Cortex-M0:2009年02月 )、( Cortex-M0+:2012年03月 )
-
ARMv6-M架构的诞生
-
ARMv7-M架构参考手册主要包含
- 指令集细节
- 编程模型
- 异常模型
- 调试架构
指令集
-
Cortex-M处理器使用的指令集名为Thumb(其中包含了16位Thumb指令和更新的32位Thumb指令),M3和M4处理器用到了Thumb-2技术,允许16位和32位指令的混合使用。
随着Thumb-2技术的引入,Cortex-M处理器更笨不支持ARM指令,无需ARM指令集和Thumb指令集的状态切换。
不同Cortex-M处理器的指令集
模块框图
- 处理器框图
处理器框图
总线接口
存储系统
- M3和M4本身并不含有存储器(没有程序存储器、SRAM或缓存),但是具有相同的片上总线接口。一般来说,微控制器供应商会将一下部件添加到存储器系统中:
- 程序存储器,一般来是Flash
- 数据存储器,一般是SRAM
- 外设。
- Cortex-M处理器总线接口为32位宽,基于高级微控制器总线架构(AMBA)标准,AMBA包含多个总线协议。
- M3和M4主要使用的总线接口协议为AHB Lite(高级高性能总线),它用于程序存储器和系统总线接口。AHB Lite协议为流水线结构的总线协议。另外,APB(高级外设总线)接口为处理器使用的另外一种总线协议,通常用于基于ARM的微控制器的总线系统。APB在M3和M4中内部用于调试支持。
中断和异常支持
-
Cortex-M3和M4内部集成了嵌套向量中断控制器(Nested Vector Interrupt Unit,NVIC),该中毒那控制器能够处理多达240个中断源。一次中断的延迟仅有12个时钟周期。NVIC内部包含了一个24位的可自动重载标准倒计时时钟定时器——系统时钟定时器(Systick Timer),用来提供定期中断信号,其典型的应用为RTOS(Real-Time Operating System)提供系统时钟节拍。
-
紧挨着NVIC的是唤醒中断控制器(Wakeup Interrupt Controller,WIC),当处理器工作在低功耗时它保持在激活状态,通过WIC,外部中断信号可以把处理器唤醒。
CoreSight调试架构
-
较早期的ARM7/9处理器是使用联合测试工作组(Joint Test Action Group, JTAG)调试接口进行调试的,其存在两个严重问题:第一个是可设置的程序断店数量有限,通常单步调试只能设置两个断点;第二个是当CPU在运行时无法查看CPU、内存以及外围设备存储器的状态和内容。
-
CoreSight允许放置8个硬件断点,并提供3个独立的追踪单元进行先进的调试。
-
数据观测点与追踪(Date Watchpoint and Trace, DWT)
-
仪器追踪宏单元(Instrumentation Trace Macrocell,ITM)
-
嵌入式追踪宏单元(Embedded Trace Macrocell,ETM)
-
参考文献:
- ARM Cortex-M3与Cortex-M4权威指南
- Cortex-M处理器设计指南










网友评论