软中断和硬中断

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软中断和硬中断

1.软中断, 也称内中断, 是由执行某些指令引起的

软中断, 一般是由下列这4种情况引发的:

1) DIV或IDIV指令:当执行这些除法指令,若除数为0或商溢出,则一定会产生中断,这叫0型中断

2) INT指令:当执行INT n时,则产生n型中断

3) INTO指令:若指令序列执行过程中,前面指令的执行结果使溢出标志位OF=1, 接着若执行INTO指令,则会引起内部中断,称为4型中断

4) 单步执行

2.硬中断, 也称外中断, 是由外部接口设备引起的

80x86有两条中断请求线:非屏蔽中断NMI线和可屏蔽中断INTR线,当这两条线上收到中断请求信号而引起中断时, 称这类中断为硬中断.(NMI线直接接CPU 引脚, INTR线接8259A中断控制器)

非屏蔽中断和屏蔽中断

1. 非屏蔽中断

当NMI线上出现一个由低上跳的高电平中断请求信号后(持续时间须大于两个时钟周期),不管标志位I状态如何,当前指令执行完后, X86 CPU马上转入中断处理.此类型中断有来源;系统板上RAM产生奇偶错, 协处理器上来的中断请求, I/O通道检查出错, Intel保留的中断0x00~0x1F, 软中断.

2.可屏蔽中断

当INTR线上出现一个高电平中断请求信号后(必须保持到当前执行的指令结束为止), CPU是否响应该中断,取决于标志信I的状态,若I=0,则不响应.(INTR线接8259A中断控制器)

附: IF是个开关, 其控制8259中断控制器发给CPU的中断是否有效,这种来自外部硬件通过8259到CPU的中断就是可屏蔽的中断. IF对非屏蔽中断不起作用即Intel保留的中断, NMI, 软中断。

相关文档
最新文档