计算机处理器结构、功能与RISC架构解析
1. ARM中断向量
ARM中断向量定义了不同异常类型的相关信息,具体如下表所示:
| 异常类型 | 模式 | 正常入口地址 | 描述 |
| — | — | — | — |
| Reset | Supervisor | 0x00000000 | 系统初始化时发生 |
| Data abort | Abort | 0x00000010 | 访问无效内存地址时发生,如地址无物理内存或缺少正确访问权限 |
| FIQ (fast interrupt) | FIQ | 0x0000001C | 外部设备断言处理器的FIQ引脚时发生。除FIQ外,中断不能被中断。用于支持数据传输或通道处理,有足够私有寄存器,减少上下文切换开销 |
| IRQ (interrupt) | IRQ | 0x00000018 | 外部设备断言处理器的IRQ引脚时发生。除FIQ外,中断不能被中断 |
| Prefetch abort | Abort | 0x0000000C | 取指令导致内存故障时发生,指令进入流水线执行阶段时引发异常 |
| Undefined instructions | Undefined | 0x00000004 | 指令集外的指令进入流水线执行阶段时发生 |
| Software interrupt | Supervisor | 0x00000008 | 通常用于允许用户模式程序调用操作系统。用户程序执行带参数的SWI指令来标识要执行的功能 |
当异常处理完成后,需要恢复原程序执行。处理器会将即将执行的指令地址放入相应处理器模式的链接寄存器。处理完异常返回时,将SPSR移动到
RISC架构解析与处理器设计
超级会员免费看
订阅专栏 解锁全文
515

被折叠的 条评论
为什么被折叠?



