引起中断的各种因素
1.人为设置的中断
 2.程序性事故:溢出,除法非法,操作码不能识别
 3.硬件故障
 4.I/O设备
 5.外部事件,键盘ESC退出
中断系统需要解决的问题
(1)各中断源怎么向CPU提出中断请求
 (2)多个中断源同时提出了中断请求,怎么办
 (3)CPU在什么条件,什么时间,以什么方式响应中断
 (4)如何保护现场(就是中断结束后,要返回到原来的中断的地方,需要保存原来中断的地方继续向下执行)
 (5)如何寻找入口地址(要执行中断程序,需要有一个入口地址)
 (6)如何恢复现场,如何返回br> (7)如果在处理中断的过程又出现中断怎么办br> 我们采用软件+硬件的方式来实现的
中断请求标记和中断判优逻辑
1.中断请求标记 INTR
 一个请求源,一个INTR中断请求标记触发器
 多个INTR,就组成了中断请求标记寄存器
 
2.中断判优逻辑
哪一种中断源的优先级最高,就先响应哪一个中断请求
 (1)硬件操作 (排队器)
 a。将排队器分散在各个中断源的接口电路中 链式排队器
 b。集中在CPU的内部
 用硬件的方式:
 
终端服务器入口地址的查找
1.硬件向量法
 
中断响应
1.响应中断的条件
 也就是说,如果这个时候CPU正在响应中断,如果这个时候又有中断请求了,CPU可以响应吗,明显是不能的,所以这个时候就要出现响应中断请求的条件
 允许中断触发器 EINT=1时,表明可以响应中断
 2.响应中断的时间
 是不是在任何时间都可以响应中断呢明显是不可以的,比如在指令的执行期间
 一般是在指令执行完毕之后,才可以响应中断请求
 指令周期结束之后,由CPU发出查询信 
 
保存现场和恢复现场
多重中断
如果在执行中断的过程中,出现了更重要的,需要及时处理的新事件,怎么办br> 那么,中断是要被打断的:
 
实现多重中断的条件
要允许CPU在执行某个中断服务程序时,响应新的中断请求
 (1)提前设置开中断指令(需要允许中断EINT打开)
 是不是任何一个新的中断服务请求都能打断当前的中断程序br> (2)优先级别高的中断源才能中断优先级别低的中断源
 
3.屏蔽技术
(1)屏蔽触发器的作用
 就是使得某一个中断源无法向CPU发出中断服务请求,也不能参加中断优先排队器的排队
 
(3)屏蔽技术可以改变中断处理的优先等级
 响应优先级 不可改变
 处理优先级 可以改变 通过重新设置屏蔽字
 也就是说,我们可以让优先级高的不能进入优先排队器中进行响应
 
4.多重中断的断点保护
(1)断点进栈 中断隐指令完成
 (2)断点存入“0”地址 中断隐指令完成
 但是,如果每个断点都保存在“0”地址的话,那么之前的保存的断点就会被冲掉,那么怎么存入断点呢br> 
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!