全部博文(156)
分类: 嵌入式
2010-11-03 18:42:47
1、用户模式(User):非特权模式,正常程序的执行模式。
2、快速中断模式(FIQ):产生FIQ中断时进入该模式。
3、外部中断模式(IRQ):产生IRQ中断时进入该模式。
4、特权模式(SVE):当复位或软中断指令执行时进入该模式
5、数据访问中止模式(ABT):用于虚拟存储和存储保护,存取数据异常时进入该模式。
6、未定义指令中止模式(UND):当执行未定义的指令时进入该模式。
7、系统模式(SYS):使用和User模式相同的寄存器的特权模式。
注意:其中除了用户模式以外,其他的模式都是特权模式
其中除了用户模式和系统模式以外,其他的模式都是异常模式
各种处理器模式下的寄存器
寄存器类别 |
寄存器在汇编中的名称 |
各模式下实际访问的寄存器 | ||||||
用户 |
系统 |
管理 |
中止 |
未定义 |
中断 |
快中断 | ||
通用寄存器和程序计数器 |
R0(a1) |
R0 | ||||||
R1(a2) |
R1 | |||||||
R2(a3) |
R2 | |||||||
R3(a4) |
R3 | |||||||
R4(v1) |
R4 | |||||||
R5(v2) |
R5 | |||||||
R6(v3) |
R6 | |||||||
R7(v4) |
R7 | |||||||
R8(v5) |
R8 |
R8_fiq | ||||||
R9(SB,v6) |
R9 |
R9_fiq | ||||||
R10(SL,v7) |
R10 |
R10_fiq | ||||||
R11(FP,v8) |
R11 |
R11_fiq | ||||||
R12(IP) |
R12 |
R12_fiq | ||||||
R13(SP) |
R13 |
R13_svc |
R13_abt |
R13_und |
R13_irq |
R13_fiq | ||
R14(LR) |
R14 |
R14_svc |
R14_abt |
R14_und |
R14_irq |
R14_fiq | ||
R15(PC) |
R15 | |||||||
状态寄存器 |
CPSR |
CPSR | ||||||
SPSR |
无 |
SPSR_abt |
SPSR_abt |
SPSR_und |
SPSR_irq |
SPSR_fiq |
第2问:arm核有多少个寄存器?
一共37个,分布看上面表格
r0-r7为通用寄存器
r13 为堆栈sp寄存器
r14 为链接寄存器
r15 为pc计数器
第3问:内存访问各种存储器的速度?
最快的是r0-r15这些寄存器,其后依次是cache、SDRAM、硬盘、网络
第4问:为什么快速中断比普通中断响应要快?
快速中断拥有独立的r8-r12寄存器,这样在模式切换时可以减少寄存器保护的时间,其次是快速中断处理程序可以位于在异常向量表后,这样又可以减少程序跳转时间
哈佛结构
与冯.诺曼结构处理器比较,哈佛结构处理器有两个明显的特点:
使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存;
使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,而这两条总线之间毫无关联
第15问: