美好的一天!
我目前正在研究 AArch64 异常处理。
在文档的开头写道:
严格来说,中断是中断软件执行流程的东西。但是,在 ARM 术语中,这实际上是一个例外。
这意味着中断是 ARM 的例外,对吧?
我的英语不流利,所以我在阅读文件时遇到了很多麻烦。
谢谢。
ARM和许多其他体系结构将中断视为异常的子集,因为正如您所引用的,所有异常都能够中断软件执行流程(不仅是中断(。总而言之,所有中断都是异常,但并非所有异常都是中断,因为某些异常可以(由异常处理程序通过向量表管理(:
- 重置,最高优先级异常
- 未定义的指令 中断
- (由中断处理程序管理(:FIQ、IRQ(FIQ 优先级高于 IRQ(或 SWI
- 中止、数据或预取
- 。
因此,未对齐的数据访问(数据中止(和计时器(IRQ(将触发异常处理程序(并停止"指令的预期执行"(,但数据中止不是中断,而是异常。