armv8/armv9同步异常的介绍

文摘   科技   2024-11-15 07:28   江苏  
点击左上方蓝色“Arm精选”,选择“设为星标


1、同步异常和异步异常的概念

具备以下3个行为的称之为同步异常:
• The exception is generated as a result of direct execution or attempted execution of an instruction.
• The return address presented to the exception handler is guaranteed to indicate the instruction that caused the exception.
• The exception is precise

其实就是说:

  • 异常是由执行或尝试执行指令产生的

  • 产生异常的那个位置是确定的,即每次执行到“那个指令处”就会产生

  • 异常是precise的

具备以下3个行为的称之为异步异常::
• The exception is not generated as a result of direct execution or attempted execution of the instruction stream.
• The return address presented to the exception handler is not guaranteed to indicate the instruction that caused the exception.
• The exception is imprecise.

其实就是说:

  • 异常不是由执行或尝试执行指令产生的

  • 产生异常的那个位置不是确定的,即不知道执行到哪里,就产生了异常

  • 异常是imprecise的

那么precise 和 imprecise 又是什么意思呢??

比较绕、比较难懂,咱们换一个说法:按照预期产生的异常称之precise,反之imprecise

2、系统中有哪些同步异常?

  • 尝试执行UNDEFINED指令产生的任何异常,包括:
    (1)、尝试在不适当的异常级别执行指令。
    (2)、当指令被禁用时尝试执行指令。
    (3)、尝试执行尚未分配的指令位模式。

  • 非法执行状态异常。这些是由尝试执行指令引起的PSTATE .IL 为 1,(详细可参考D1-2486 页上的AArch64 状态的非法返回事件)

  • 使用未对齐的 SP 导致的异常。

  • 尝试使用未对齐的 PC 执行指令导致的异常。

  • 由异常生成指令SVC、HVC或SMC引起的异常。

  • 尝试执行系统寄存器定义为被捕获到更高的异常级别。(详细可参考可配置的指令使能和禁止,在D1-2510 页)

  • 由内存地址转换系统生成的指令中止与尝试相关联从产生故障的内存区域执行指令。

  • 内存地址转换系统生成的数据中止与尝试读取或写入产生故障的内存。

  • 由地址未对齐引起的数据中止。

  • 如果实施FEAT_MTE2,则由标记检查故障引起的数据中止。。

  • 所有调试异常:
    (1)、Breakpoint Instruction exceptions.
    (2)、Breakpoint exceptions.
    (3)、Watchpoint exceptions.
    (4)、Vector Catch exceptions.
    (5)、Software Step exceptions.

  • 在支持捕获浮点异常的实现中,由捕获的IEEE 浮点异常引起的异常

  • 在某些实现中,外部中止。外部中止是失败的内存访问,包括访问地址转换期间发生的内存系统的那些部分。

(广告时间)

Arm架构类课程:


安全热销大课程:


安全类经典课程:


其它课程:


铂金VIP课程介绍


之最介绍

  • 招牌课程:Truszone标准版、Trustzone高配版

  • 销量前三课程:ARM三期、Secureboot、Android15安全架构

  • 持续更新的课程:ARM三期、铂金VIP

  • 非常好非常好但又被忽视的课程:CA/TA开发

  • 近期更新/力推的课程/重点课程:optee系统架构从入门到精通


说点心里话:

  • 1、不要再说课贵了,你看看咱这是啥课?别家的能比不?请不要拿通用的linux、android、python、C语言和咱这专业课比。

  • 2、咱们的VIP是数十门课程的集合。不要拿别人一门课程的价格对标咱这20门课程价格。

  • 3、这些知识很多人都会,但拿出来讲的有多少人? 愿意拿出来讲的有多少人?讲的又有多少人?

  • 4、价格都是认真计算的,并非随意定价。都是根据内容质量、核心知识点、时长和节数计算而来。从来不无缘无故涨价(涨价是需要理由的,如课程内容增加了....)。咱靠的是内容质量长期服务,而不是运营和营销(无脑涨价)。 

  • 5、如果你刷到此处,可能是老粉/铁粉,记得点赞、评论哦。感谢您的支持。











Arm精选
ARMv8/ARMv9架构、SOC架构、Trustzone/TEE安全、终端安全、SOC安全、ARM安全、ATF、OPTEE等
 最新文章