打印
[其他]

同步异常与异步异常

[复制链接]
1244|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
同步异常是指处理器执行某条指令而直接导致的异常,往往需要在异常处理程序里处理完该异常之后,处理器才能继续执行。例如,如果一个运行在S模式下的处理器内核访问了一个只在 M 模式下有访问权限的寄存器,那么会立即触发一个非法指令访问异常,操作系统的异常处理程序需要报告这个进程的错误访问或者终止 (terminate)该进程

常见的同步异常如下:

  • 尝试执行非法指令(illegal instruction)

  • 使用没有对齐的SP

  • 尝试执行一条PC指针没有对齐的指令

  • 软件产生的异常,如执行ECALL指令

  • 地址翻译或者权限等原因导致的数据异常

  • 地址翻译或者权限等原因导致的指令异常

  • 调试导致的异常,如断点异常,观察点异常、软件单步异常等


而异步异常是指触发的原因与处理器当前正在执行的指令无关的异常,中断属于异步异常的一种。因此,指令和数据异常称为同步异常,而中断称为异步异常。


使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

513

主题

1978

帖子

5

粉丝