1、什么是中断
在CPU运行过程中,由于内部或外部某个随机事件的发生,使CPU暂停正在运行的程序,而转去执行处理引起中断事件的程序,完成后返回原来的程序继续执行。这个过程称为中断。
2、中断服务程序
处理中断源,完成其所要求功能的程序。
3、中断源
引起中断事件的原因,称为中断源。
第八章中断系统
中断的基本概念
中断服务程序1
中断服务程序 2
随机事件1
CPU执行流程
随机事件 2
4、中断优先权
给每个中断源指定一个优先权,称为中断优先权。当多个中断源同时发出中断请求时,CPU按照中断优先权的高低顺序,依次响应。
说明:
随机事件是指事件发生的时间无法预知
即中断源何时产生中断不确定, 是随机的。
但事件的性质及处理方法则是已知的,确定的
即中断服务程序已经确定, 但何时执行未知。
5、断点和中断现场
断点:是指CPU执行的现行程序被中断时的下一条指令的地址,又称断点地址。
中断现场:是指CPU转去执行中断服务程序前的运行状态,包括CPU内部各寄存器、断点地址等。CPU响应中断时首先需要保护现场。
6、保护现场和断点的次序
依次将标志寄存器,CS,IP压入堆栈。
7、硬件中断和软件中断
硬件中断(也称外部中断)
由CPU外部的硬件产生的中断。
早期中断概念的引入,是为解决CPU与外设间的速度匹配问题,提高CPU的工作效率。中断源主要是由外部硬件产生。
当今的中断技术,不再限于外部硬件产生中断,还可由CPU内部产生,即由指令(如INT指令)调用中断服务程序。
软件中断(内部中断)
执行中断指令或由CPU本身启动的中断称为内部中断。
外部中断包括非屏蔽中断和可屏蔽中断。
8086/8088的中断结构
8086/8088具有一个灵活的中断系统,它能处理多达256种不同的中断类型。
1、8086的中断源
分别定义为中断0~255。有些被CPU使用、有些有些被DOS系统使用、有些留给用户使用。
2、中断矢量表
中断向量:每个中断服务程序入口地址。
中断向量表:为了便于中断管理,将中断向量在内存的特定区域存放,称为中断向量表。
中断向量表占用1K的存储空间。
中断类型码乘以四就是中断矢量的地址。
溢出中断
0000 : 0014 H
0000 : 0013 H
0000 : 0010 H
0000 : 000F H
0000 : 000C H
0000 : 000B H
0000 : 0008 H
0000 : 0007 H
0000 : 0004 H
0000 : 0003 H
0000 : 0000 H
类型5
类型255
供用户定义的中断(共224个)
0000 : 007 FH
0000 : 007 EH
0000 : 03 FFH
CS
IP
CS
IP
CS
IP
CS
IP
CS
IP
CS
IP
CS
IP
专用的中断(共5个)
保留的中断(共27个)
类型32
类型31
类型0
类型4
类型3
类型2
类型1
除数为 0 中断
非屏蔽中断
单步中断
断点中断
3、8086CPU 转入中断服务程序的过程
1) 取类型号;
2) 计算向量地址;
3) 根据向量地址查表,将偏移地址送IP,段基址送CS;
4) 转入中断服务程序,进行中断处理。
什么是中断 来自淘豆网www.taodocs.com转载请标明出处.