【操作系统笔记】中断系统

程序中断:

执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂
时中止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后CPU又自动返回到现
行程序的断点处,继续执行原程序。
 


工作流程:


1.中断请求:中断源向CPU发送中断请求信号。

中断请求标记:

每个中断源向CPU发出中断请求的时间是随机的。

为了记录中断事件并区分不同的中断源,中断系统需对每个中断源设置中断请求标记触发器INTR,
当其状态为“1”时,表示中断源有请求。
这些触发器可组成中断请求标记寄存器,该寄存器集中在CPU中,也可分散在各个中断源中。

对于外中断,CPU是在统一的时刻即每条指令执行阶段结束前向接口发出中断查询信号
以获取/0的中断请求,也就是说,CPU响 应中断的时间是在每条指令执行阶段的结束时刻

(对于执行时间很长的指令,可在执行过程中设置若干个查询断点)




2.中断响应

Cpu响应中断必须满足以下3个条件:
(1)中断源有中断请求(2)CPU允许中断即开中断。
(3)一条指令执行完毕,且没有更紧迫的任务.

中断判优:(了解)

硬件实现:硬件排队器 (通过电路设计)

 软件实现:查询程序

优先级排序:(了解)

1.硬件故障中断属于最高级,其次是软件中断; 2. 非屏蔽中断优于可屏蔽中断;
3. DMA请求优于I/0设备传送的中断请求; 4. 高速设备优于低速设备;
5.输入设各优干输出设备,6.实时设备优干普通设备。



3.中断处理:

中断隐指令:

关中断。在中断服务程序中,为了保护中断现场(即CPU主要寄存器中的内容)期间不被新的中断所打断,必须关中断,从而保证被中断的程序在中断服务程序执行完毕之后能接着正确地执行下去
保存断点。为了保证在中断服务程序执行完毕后能正确地返回到原来的程序,必须将原来程序的断点(即程序计数器(PC)的内容)保存起来。可以存入堆栈,也可以存入指定单元。
一的
引出中断服务程序:取出中断服务程序的入口地址并传送给程序计数器(PC)

软件查询法

硬件向量法

好处:服务程序的地址可以变动,依然可以找到入口地址
 


中断服务程序:

①保护现场
一是保存程序断点(PC),己由中断隐指令完成;
二是保存通用寄存器和状态寄存器的内容。可以使用堆栈,也可以使用特定存储单元。
②中断服务[设备服务]
主体部分
③恢复现场
通过出栈指令或取数指令把之前保存的信息送回寄存器中
④中断返回
通过中断返回指令回到原程序断点处


单重中断:执行中断服务程序时不响应新的中断请求
多重中断:又称中断嵌套,执行中断服务程序时可响应新的中断请求
 

中断屏蔽技术主要用于多重中断,CPU要具各多重中断的功能,须满足下列条件。
①在中断服务程序中提前设置开中断指令
②优先级别高的中断源有权中断优先级别低的中断源
每个中断源都有一个屏做触发器,1表 示屏敝该中断源的请求,0表示可以正常申请,所有屏
蔽触发器组合在一起,便构成个屏蔽字寄存器,屏蔽字寄存器的内容称为屏蔽字。


 

猜你喜欢

转载自blog.csdn.net/m0_52043808/article/details/123949325
今日推荐