ARM 中的异常是什么?



美好的一天!

我目前正在研究 AArch64 异常处理。

在文档的开头写道:

严格来说,中断是中断软件执行流程的东西。但是,在 ARM 术语中,这实际上是一个例外。

这意味着中断是 ARM 的例外,对吧?

我的英语不流利,所以我在阅读文件时遇到了很多麻烦。

谢谢。

ARM和许多其他体系结构将中断视为异常的子集,因为正如您所引用的,所有异常都能够中断软件执行流程(不仅是中断(。总而言之,所有中断都是异常,但并非所有异常都是中断,因为某些异常可以(由异常处理程序通过向量表管理(:

  • 重置,最高优先级异常
  • 未定义的指令
  • 中断
  • (由中断处理程序管理(:FIQ、IRQ(FIQ 优先级高于 IRQ(或 SWI
  • 中止、数据或预取

因此,未对齐的数据访问(数据中止(和计时器(IRQ(将触发异常处理程序(并停止"指令的预期执行"(,但数据中止不是中断,而是异常。

最新更新