-
嵌入式系统的体系结构按指令集可以分为两大类:复杂指令集结构(CISC)和精简指令集结构(RISC)
-
嵌入式体系结构按存储机制分为冯诺依曼结构和哈佛结构
-
冯诺依曼结构中程序和指令并存,共用一条总线;而哈佛结构中数据和指令使用两条独立的总线,不允许数据和指令共存
-
ARM全部采用RISC结构,且多为哈佛结构
-
ARM共有三种工作状态:ARM状态、Thumb状态及Thumb-2状态、调试状态
- ARM状态的指令全都是32位的
- Thumb状态就是运行Thumb-2指令的状态,它是执行16指令的状态,但是他同时也兼容32位指令,因为在有些情况下如异常处理时必须由Thumb状态切换到ARM状态,然后处理完毕后重新返回到Thumb状态
- 处理器停机调试时进入调试状态
- 所有ARM复位之后均处于ARM状态
- 通过BX指令,将操作数寄存器的最低位设置为1即可将ARM状态切换到Thumb状态;将操作数寄存器的最低位设置为0即可将Thumb状态切换到ARM状态;当处理器进行异常处理时,则从异常向量地址开始执行,将自动进入ARM状态 -
ARM体系结构(除Cortex外)支持7中工作模式,取决于当前程序状态寄存器低5位的值
- 用户模式(User):程序正常执行工作模式
- 快速中断模式(FIQ):处理高速中断,用于高速数据传输或通道处理
- 外部中断模式(IRQ):用于普通中断管理
- 管理模式(SVC):操作系统的保护模式,处理软件中断SWI
- 中止模式(ABT):处理存储器故障,实现虚拟存储器和存储器保护
- 未定义指令模式(UND):处理未定义的指令陷阱,用于支持硬件协处理器仿真
- 系统模式(SYS):运行特权级的操作系统任务
-
ARM状态下的寄存器组织
- R7~R0为通用的寄存器
- CPSR为当前程序状态寄存器(包括运算标志位、条件码标志等)
- SPSR为备份的程序状态寄存器
- R0~R15均为32位的寄存器
- R13为堆栈指针寄存器,R14为程序链接寄存器,R15均为PC(程序计数器)
-
Thumb状态下的寄存器组织
- 高位寄存器R8R12在Thumb状态下不可见,即不能直接作为通用寄存器使用,而在Thumb-2下可以使用,即R8R12只有在32位指令下才可当做通用寄存器使用
-
ARM体系结构有两种方法存储数据字:大端模式和小端模式
- 大端模式:32位数据字的高字节存储在低地址中,低字节存储在高地址中
- 小端模式:32位数据字的高字节存储在高地址中,低字节存储在低地址中
- 系统复位时一般自动默认为小端模式
-
外部中断请求(IRQ)
-
快速中断请求(FIQ)
-
MMU:存储器管理单元
-
MPU:存储器保护单元
计算机三级之嵌入式系统学习笔记1
最新推荐文章于 2024-07-20 22:41:11 发布