ARM中有什么例外?

时间:2018-08-22 07:21:30

标签: exception-handling arm interrupt

美好的一天!

我正在学习AArch64 Exception Handling

在文档的开头写道:

  

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

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

我的英语不太流利,因此阅读文档时遇到很多麻烦。

谢谢。

1 个答案:

答案 0 :(得分:3)

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

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

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