一、体系架构
- ARM里有37个寄存器
- ALU算数逻辑单元
- PC程序计数器:指向哪里执行哪里
- SP栈指针寄存器
- LR链接寄存器:保存函数入口地址
- CPSR(current program status register)当前程序状态寄存器:
- SOSR(CPSR的备份)
- MMU(内存管理单元)
- Cache高速缓冲(iCache\dCache)
- CISC复杂指令集
- RISC精简指令集
- AHB先进的总线,高速总线()
- APB连接慢的总线、(连接外设)
- ARM易失性存储器
- ROM非易失性存储器
- flash(nor flash中任意字节都允许被寻址通常用于从程序、nand flash用于从数据)
二、数据和指令类型
ARM采用的是32位架构
ARM 约定:
Byte : 8 bits
Halfword : 16 bits (2 byte)
Word : 32 bits (4 byte)
Doubkgvord 64-bits(8byte)(Cortex-A处理器)
ARM9有7个基本工作模式:
User:非特权模式,大部分任务执行在这种模式
FIQ:当一个高优先级(fast)中断产生时将会进入这种模式IRQ:当一个低优先级(normal)中断产生时将会进入这种模式
Supervisor:当复位或软中断指令执行时将会进入这种模式
Abort:当存取异常时将会进入这种模式
Undef:当执行未定义指令时会进入这种模式
System:使用和User模式相同寄存器集的特权模式
Cortex-A特有模式:
Monitor:是为了安全而扩展出的用于执行安全监控代码的模式:也是一种特权模式
异常向量表: