第八章 ECF——异常

1.异常是用来响应处理器中状态变化的异常控制流

如何理解处理器的状态:

  • 在处理器中,状态被编码为不同的信号和位。
  • 当有一些需要事件发生时,这些信号和位会改变。
  • 如:内存缺页、指令除零、下断电、定时器信号都会引起处理器中某些位或信号的变化,从而产生异常。
2.异常分为四类
  • 中断:来自处理器外部 I/O 设备的信号的结果
  • 陷阱:一条指令执行造成的结果,产生这个异常一般是有意的
  • 故障:由一些错误情况引起的,可能被故障处理程序修复,如果没法修复这个程序就会被终止
  • 终止:由一些无法恢复的错误产生的,一般是一些硬件故障。

异常经常在别的教科书或文章中与中断混为一谈,但这里异常是一个较为宽泛的概念,包括了外部设备产生的中断信号、还有指令产生的陷阱以及一些故障等。

2.异常由硬件和软件共同来处理
  • 当有异常产生时,处理器检测到一些位发生了变化,然后确定异常类型,通过异常向量表间接调用异常处理程序
  • 然后剩下的工作就是由异常处理程序在软件中完成,处理这个异常
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 异常控制流 如果程序计数器一直按照内存相邻的地址来执行指令,那么执行过的指令序列是平滑的。但是这种平滑的过程通常不...
    CSU_IceLee阅读 611评论 0 3
  • 异常 当处理器检测到有事件发生时,他就会通过一张叫做异常表的跳转表,进行一个间接的过程调用,转到专门用于处理这类事...
    userheng阅读 491评论 0 0
  • 8.5 信号 研究一种更高层次的软件形式的异常, 也是一种软件中断,称为Unix信号,它允许进程中断其他进程。 一...
    ShawnPanCn阅读 984评论 0 0
  • 异常 程序在执行中,遇到突发的事件而转入内核模式处理。 通过异常基址寄存器,加上异常号(索引),可以访问唯一的异常...
    月明星稀_8184阅读 585评论 0 0
  • 异常异常是异常控制流的一种形式,一部分有硬件实现,一部分有软件实现。 系统中每一种可能的异常都分配了一个非负整数的...
    Leooeloel阅读 595评论 0 0

友情链接更多精彩内容