The ARM Architecture

本文介绍了ARM架构的基础概念,包括数据宽度、指令集、处理器模式、寄存器等关键组件,并详细阐述了ARM如何处理异常。

 

数据宽度和指令集

n     ARM 32-bit 体系结构.

n     ARM :

n     Byte 字节代表 8 bits

n     Halfword 半字 16 bits (two bytes)

n     Word 32 bits (four bytes)

n     大多数t ARM’s 实现两个指令集(Instruction Set

n     32-bit ARM 指令集

n     16-bit Thumb 指令集

n     Jazelle 内核可以执行 Java 字节码

处理器模式

ARM 拥有7种操作模式:

a)       User : 大多数任务运行的非特权模式unprivileged mode under which most tasks run

b)      FIQ : 当高优先级的中断产生时进入entered when a high priority (fast) interrupt is raised

c)       IRQ : 当低优先级级普通中断产生时进入entered when a low priority (normal) interrupt is raised

d)      Supervisor : 系统重启时或软件中断时进入entered on reset and when a Software Interrupt instruction is executed

e)       Abort : 用来处理内存存取异常used to handle memory access violations

f)        Undef : 用来处理为定义的指令used to handle undefined instructions

g)       System : 一种和用户模式使用相同寄存器的特权模式privileged mode using the same registers as user mode

 

寄存器

n     ARM 拥有 37 32-bits 寄存器.

n     1 个专用的程序计数器 program counter

n     1 个专用的程序状态寄存器 current program status register

n     5个专用的保存程序状态寄存器 saved program status registers

n     30 通用寄存器general purpose registers

n     当前的处理器模式决定哪组寄存器可用,每个模式可存取

n     一组r0-r12 寄存器

n     特殊 r13 (the stack pointer, sp) r14 (the link register, lr)

n     程序计数器 program counter, r15 (pc)

n     当前程序状态寄存器 current program status register, cpsr

      特权模式Privileged modes (系统模式除外) 还可

n     特殊的 spsr (saved program status register) 寄存器

 

Exception Handling异常处理

 

n     当异常发生时 ARM:

n     复制 CPSR SPSR_<mode>

n     设置适当的 CPSR

n      进入 ARM state

n     进入 exception mode

n     禁止中断 (如需要)

n     存储返回地址于 LR_<mode>

n     设置 PC 为向量地址

n     返回时, 异常处理程序需要:

n     SPSR_<mode> 恢复 CPSR

n     LR_<mode> 恢复 PC

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值