Armv8的同步异常、External abort等区别简析

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 浮点异常引起的异常在某些实现中,外部中止。外部中止是失败的内存访问,包括访问地址转换期间发生的内存系统的那些部分。3、serror的理解serror(也称system error),是异步异常的一种,一般是来自 externalaborts, 当memory system访问时bus上产生的 externalaborts 。例如
访问内存被tzc挡住时,bus会返回的一个异常
注意,像mmu产生的异常,它属于 internalabort,它是同步异常。像未定义指令异常,它也是同步异常
4、external abort的理解external abort,可以同步异常,也可以是serror
例如:
instruction abort 可能是内部同步异常,也可能是同步external abortdata abort 可能是内部同步异常,也可能是同步external abort (即 external abort 可以属于同步异常哦)
4、instruction abort、data abort在aarch64架构中,instruction abort、data abort已然变成了同步异常中的一种。不再是单独的异常模型了。所以当出现instruction abort、data abort时,那么一定是同步异常,可能是internal abort,也可能是external abort,但终归是同步异常。

比特币将在战争期间成为一种非常持久的货币
三星战线拉太长,灭完日本又被中国打
Embeded linux 之 mtd nand
2018年智能语音新方向,智能影音装置需求量飙升5000万台
HARMAN全新JBL头戴式耳机采用艾迈斯半导体自适应主动降噪技术,实现出色音频性能
Armv8的同步异常、External abort等区别简析
多种3G基站要求的DSP开发平台
“锂离子电池之父”再出山 发明全新固态电池
Linux是什么系统,有什么应用?
浅谈卷积编码在通信中的应用 详解卷积编码设计应用
华硕旗舰级Wi-Fi6无线路由器“RT-AX88U”通过Wi-Fi6官方认证 国内售价2799元左右
波特率的单位_波特率9600与19200的区别
2008北京奥运会场馆照明灯具供应商专利实力大盘点
基于代码的机器学习是什么,它的原理如何
虹科Revolution Pi系列究竟能维持多久
英国手游开发商收购EPS助力自身VR发展
一加已重回德国市场,OPPO将恢复销售
欧盟委员会于4月8日发布了人工智能道德准则
vivo新款旗舰手机名称已确定为vivo APEX 2019并会搭载骁龙855处理器
dfrobot接触式光电液位传感器简介