异常 计算机原理,中断和异常 -计算机组成原理与汇编语言-电子发烧友网站

7.5.1 分类

1. 中断

由外部事件引起的中断称为外部中断。这里有我们熟悉的可屏蔽中断 INTR和非屏蔽中断NMI。

2. 异常

如上所述,在8088中的内部中断,如除法、单步、溢出、软件中断(INTn),均被列入异常中。有人也将它们称之为陷阱。

fa89286c04cd8458186e9e9feb13ee2b.png

979fe8d894ea6e5c3a1d3440f9a19a2e.png

7.5.2 中断或异常的响应过程

1.优先级

前面已经提到80386之后的处理器有许多中断和异常发生,它们的优先级如表7.4所示。

2.实地址模式下的响应过程

(1) 获得向量码

(2) 进行断点保护

(3) 获得查表值

查表值=基地址+中断向量码×4

ce00267702b7e11ae0fecbba174e9289.png

528d79f5597134cd26ff2c9fb82ff8d0.png

3. 保护模式下中断响应过程

(1) 中断描述符表

(2) 错误码

(3) 响应过程

25e61e374423df05e17f83eed272e421.png

e302c31801125e2d2a41eee9c3271193.png

由图7.22可见,中断或异常发生后,从CPU获取它们相应的中断向量码开始中断响应。

①由IDTR的基地址和中断向量码,处理器计算出查表值:查表值=基地址+中断向量码×8

②由中断描述符中规定的选择符,在GDT(全局描述符表)或LDT(局部描述表)中查到代码段描述符。

③由段描述符取出基地址(线性基地址),将其与中断描述符中的偏移量结合在一起,构成中断服务程序的入口地址,即中断服务入口=段线性基地址+偏移量

(4) 断点保护

在图722中未能描绘出在中断响应过程中处理器对断点的保护。第5章说明了8088中断响应时,处理器如何进行断点保护,它将FLAGS、CS和IP分别保存在用户堆栈中。

在80386以后的处理器中,处理器将断点信息保存在特权级最高的核心堆栈中。这是因为后来的处理器都支持多级堆栈。在核心堆栈中所保存的断点信息如图7.23所示。

690c14a439f30c67936b86ad513b2bc1.png

d25e73cc525a3f239219c812e252e3bf.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值