嵌入式系统开发技术(02)
嵌入式处理器
嵌入式处理器的结构、特点、分类
分类
按指令集分为:CISC复杂指令集结构、RISC精简指令集结构
按储存机制:冯·诺依曼结构、哈佛结构
按不同内核系列:51、AVR、PIC、ARM等
结构
冯·诺依曼储存结构哈佛储存结构
- CPU与储存器的连接只有一套总线
- 特点:具有较好的灵活性
哈佛储存结构
- 特点:(1)使用两个独立存储器存储指令和数据,且不允许指令和数据并存(2)使用独立的两个总线,分别为CPU与程序存储器与数据存储器之间的专用通信路径,执行效率高
不同:CPU连接程序与存储器与数据器连接方式
ARM处理器概述
内核系列 | 推出公司 | 内核结构 | 简单描述 |
---|---|---|---|
ARM | ARM | RISC/多数为哈佛结构 | 从低端到高端,应用广泛,除64位的Cortex-A50之外,均为32位结构的嵌入式处理内核 |
特点
耗电省、功能强、成本低、32位于16位指令并存
技术特征
- 单周期操作
- 只使用加载/存储(Load/Store)指令访问内存
- 指令长度固定
- 三地址指令格式
- 指令流水线技术
- 低功耗设计
ARM处理器分类
经典ARM处理器、ARM Cortex嵌入式处理器、ARM Cortex实时嵌入式处理器、ARM Cortex应用处理器、ARM专家处理器(智能卡安全应用领域,基于Cortex-M)
ARM Cortex处理器包括
- Cortex-A(A=Application)面向高端应用(ARM Cortex应用处理器)
- Cortex-R(R=Real time)面向实时控制应用(ARM Cortex实时嵌入式处理器)
- Cortex-M(M=Microcontroller)面向微控制器(ARM Cortex嵌入式处理器)
ARM处理器内核的体系结构
工作状态
3种状态:ARM状态、Thumb状态及thumb-2状态和调试状态
ARM状态
ARM处理器工作在32位指令的状态
Thumb状态
ARM执行16位指令时的状态
对于具有Thumb-2指令集的处理器Thumb状态就是运行Thumb-2指令的工作状态
注意:(1)除Cortex-M外,ARM处理器复位后都处于ARM状态,需要时再转到Thumb状态
(2)Cortex-M处理器只有Thumb-2指令集,所以只有Thumb状态和调试状态
调试状态
处理器处于停机状态时进入调试状态
ARM与Thumb状态转换
由ARM到Thumb转换
通过BX指令,数寄存器最低位设为1时转换为Thumb状态
R0[0]=1,则执行RX R0,进入Thumb状态
处理器异常处理,异常返回自动切换到Thumb状态
由Thumb到ARM状态转化
将数寄存器最低位设为0时转化为ARM状态
R0[0]=0,执行RX R0,进入ARM状态
处理器异常处理,异常返回自动切换到ARM状态