CortexM3/M4处理器概述
- 1.前言
- 2. 什么是Cortex-M处理器?
- 2.1 是什么处理器
- 2.2 Cortex-M处理器由来
- 2.3 Cortex-M特点
- 2.4 Cortex-M应用
- 3.处理器信息
- 3.1 架构
- 3.2 指令集
- 3.3 存储器系统
- 参考文献
1.前言
基于Cortex-M3/M4的控制器应用广泛,正好受领导之意要将重点转向数字控制方向,借此契机深入学习,希望能有所收获和成长。
2. 什么是Cortex-M处理器?
2.1 是什么处理器
处理器,常指中央处理器即CPU(center processing unit),主要是处理指令和数据,进行运算和控制。处理器的核心是控制器和运算器。
处理器的工作阶段分为5个:取指,译码,执行,访存取数,结果写回。
取指令:将一条指令从主存储器中取到指令寄存器的过程。
译码:取指后,指令译码器按照预定的指令格式,识别区分出不同的指令类别以及各种获取操作数的方法。
执行:执行指令。
访存取数:访问存储器,取操作数(操作数可以是数据,数据地址,或者数据算式)。
结果写回:将数据结果写回,一般是处理器的寄存器。
通俗点解释,处理器工作,就像做一道菜,取指令就是说我想做一道菜,然后拿到一些食材,比如西红柿,鸡蛋,译码就是根据这些食材,就表示要做西红柿炒鸡蛋,执行就是开始西红柿炒鸡蛋,访存取数就是在食材篮里拿食材,结果写回,就是把西红柿鸡蛋炒完后装碗里先寄存,等要吃的时候再拿。
处理器加上外部存储器,时钟,总线,外设等等形成微控制器。
2.2 Cortex-M处理器由来
Cortex处理器是ARM处理器的一部分,而ARM处理器(基于精简指令集RISC)是CPU中的一种。在Cortex处理器出来之前有arm7,arm11等,它出来的原因是arm想将技术深入低成本市场,所以开发了这类处理器。
而Cortex-M是Cortex系列中三类处理器(A,R,M)的其中一类,是面向微控制器系统的。它的类型包括M0,M0+,M1,M3,M4等。M0,M0+,处理能力有限,但是低功耗,M1专门为FPGA应用设计,M3,M4适用稍微复杂处理能力的情况。
2.3 Cortex-M特点
- 三级流水线设计
- 哈佛结构(程序和数据在不同的存储空间)
- 32位寻址,32位寄存器,32位数据和地址
- 低功耗和休眠模式
- 支持多种OS(操作系统)
Cortex-M3/M4具有以上特点,另外Cortex-M4比Cortex-M3有个升级,可以做浮点运算,在DSP方面性能更高。
2.4 Cortex-M应用
- 微控制器
- 汽车
- 数据通信,如蓝牙,zigbee
- SOC
3.处理器信息
研究cortex-M处理器主要从处理器架构、指令集、存储器系统等基本方面入手。
3.1 架构
架构主要包括两方面:
- 架构。指令集架构(ISA)、编程模型、调试方法
- 微架构。接口信号、指令执行、流水线阶段等
3.2 指令集
指令集主要有arm指令集和thumb指令集,cortex-M主要使用thumb指令集。优点在于:
- 无状态切换
- 高性能
- 软件开发容易
3.3 存储器系统
Cortex-M3/M4处理器不包含存储器,但是有总线接口,可以增加程序存储器,数据存储器和外设。
以上部分将在后续文章中单独介绍。
参考文献
《ARM Cortex-M3与Cortex-M4权威指南》