基于ARM Cortex-M3微控制器(STM32系列)基础知识(一)——嵌入式微控制器及嵌入式系统
嵌入式系统基本概念嵌入式系统重要特征指令概述ARM指令STR与LDR指令可选后缀即该指令相当于指令的条件执行条件后缀和S后缀(Important Point)字长后缀UALARM寻址方式立即数寻址立即数生成方式寄存器寻址寄存器移位寻址寄存器间接寻址基址变址寻址解析:LDR命令,将存储器地址所指地址处连续的4个字节(1个字)的数据传送到目的寄存器中。内存中的值是不会改变的。 故C多寄存器寻址..
学期要求


嵌入式系统基本概念


嵌入式系统重要特征

嵌入式系统硬件的基本组成

嵌入式处理器


1、嵌入式微控制器(MCU)


2、嵌入式DSP

3、嵌入式微处理器(MPU)

ARM体系结构版本——V3(关于CPSR和SPSR)
寻址范围扩展到32位(目前已废弃),主要改进如下:
- 具有原子性加载/存储指令SWP和SWPB。
- 当前程序状态信息从原来的R15移到一个新的寄存器 CPSR(当前程序状态寄存器)中
- 增加了SPSR(备份程序状态寄存器) 当异常发生时,SPSR用于保存CPSR的当前值,从异常退出时则可由SPSR来恢复CPSR。
- 增加了两种处理器模式,使操作系统代码方便地使用数据访问中止异常、指令预取终止异常和未定义指令异常
- 增加了MRS指令和MSR指令,用于完成对CPSR和SPSR寄存器的读/写;修改了原来的从异常中返回的指令。
ARM体系结构版本——V4

ARM体系结构版本——V5

ARM体系结构版本——V6

ARM体系结构版本——V7

ARM命名规则

ARM7“TDMI”符号的含义

ARM体系结构比较(ARM7流水线3个,ARM9流水线5个)

什么是STM32?

Cortex内核

ARM7与STM32比较


51系列微控制器

ARM系列微控制器

嵌入式处理器的技术指标(CISC、RISC、冯诺依曼体系、哈佛体系)
- (1)字长
嵌入式处理器内部参与运算的数据最大位数。 - (2)主频
嵌入式处理器内核工作的时钟频率。 单位是MHz,GHz - (3)运算速度
采用单位时间内各类指令的平均执行条数的表示 方法。通常是MIPS,DMIPS。 - (4)指令集
按照指令集架构分为:CISC(复杂指令集计算机Complex Instruction Set Computer)和RISC(精简指令集计算机Reduced Instruction Set Computer)

- (5)体系结构根据存储机制的不同(CPU连接程序存储器与数据存储器的方式不同),分为:
- 1)冯.诺依曼体系结构
数据和指令都存储在一个存储器中的计算机称为冯. 诺依曼机。这种结构的计算机系统由一个中央处理器 单元(CPU)和一个存储器组成。 【例】51系列,ARM cortex-M0/M1 - 2)哈佛体系结构
哈佛结构为数据和程序提供了各自独立的存储器, 程序计数器只指向程序存储器而不指向数据存储器。 【例】ARM cortex-M3/M4


- 1)冯.诺依曼体系结构
- (6)流水线


三级流水(ARM7和ARM Cortex-M3)


程序计数器R15(PC)总是指向取指的指令,而不是指向正在执行的指令或正在译码的指令。 一般情况下,习惯把正在执行的指令作为参考点,称为当前第1条指令,因此,PC总是指向第3条指令
ARM指令有:PC值=当前程序执行位置+8
Thumb指令则有:PC值=当前程序执行位置+4
当处理器执行简单的数据处理指令时,流水线使得平均每个时钟周期能完成一条指令。但一条指令需要3个时钟周期来完成,因此,有3个时钟周期的延时(latency),但吞吐率(throughput)是每个周期一条指令。下面通过一个简单的例子说明流水线的机制。
指令序列为:
ADD r1 r2
SUB r3 r2
CMP r1 r3

在第一个周期,内核从存储器取出指令ADD;在第二个周期,内核取出指令SUB,同时对ADD译码;在第三个周期,指令SUB和ADD都沿流水线移动,ADD被执行,而SUB被译码,同时又取出CMP指令。可以看出,流水线使得每个时钟周期就可以执行一条指令。
ARM的流水线执行模式导致了一个结果,就是程序计数器PC(对使用者而言为r15)必须在当前指令执行前计数。例如,指令在其第一个周期为下下条指令取指,这就意味着PC必须指向当前指令的后8个字节(其后的两条指令)。

可参考的书籍资料

如果喜欢我的文章,请记得三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持,下期更精彩!!!
更多推荐
所有评论(0)