计算机系统中程序中断的基本概念 ,中断分类 ,流程详解

1.中断的基本概念
1️⃣中断:是指CPU在正常运行程序时,由于内部/外部事件(或由程序)引起CPU中断正在运行的程序,而转到
为中断事件服务的程序中去,服务完毕,再返回执行原程序的这一过程。
2️⃣中断的特征:具有随机性。

文章目录
总览
中断的基本概念
中断请求的分类
中断请求标记
中断判优-实现
中断判优-优先级设置
中断处理过程-中断隐指令
中断处理过程-中断服务程序
小结
总览


中断的基本概念
中断隐指令就是修改PC的值到中断服务程序
在每条指令执行完后,在指令周期末尾检查是否有中断信号需要处理。有就执行中断服务程序(即中断响应)

CPU执行程序中JMP和Call指令依然属于该程序的进程,而中断与原程序不属于同一个进程。


中断请求的分类
原子操作即可以一次性执行完某些连续的指令,关中断意外着有外部中断也会继续执行刚刚的指令,所以可以辅助CPU执行某些需要连续执行的指令

注意非屏蔽中断


中断请求标记


每个触发器可以记录一个二进制的0和1
通过中断请求标记器收到各个设备的中断请求的信号


中断判优-实现
软件实现通过按照优先级次序一个一个检查
软件比硬件慢


中断判优-优先级设置
掉电属于硬件故障
系统调用属于软件中断
高速设备优于低速设备可以理解为快点响应其中断请求其由于是高速,做的事情更多(类似老板先把效率高的员工的事情处理,以便其做更多的事情)
输入优于输出是因为输入的设备会将接口的数据缓冲寄存器的内容更新,如果不快点响应其中断(不能及时取走数据,那么当输入设备再次输入时会导致数据缓冲寄存器再次被更新),这将导致输入信息流失。而输出设备的响应可以慢点是由于他是等你CPU将数据放到数据缓冲器再工作,所以如果晚点放他就晚点工作,不会造成数据流失或者其他故障
实时设备:响应要及时迅速


中断处理过程-中断隐指令
此时保存断点到堆栈一般是到内核堆栈中
排队器的输出是对各个中断信号择优后的一个信号,此时对应一个中断源信号,此时通过中断向量地址形成部件生成中断向量地址,中断向量地址存储的指令可以跳转到中断处理程序的入口地址(中断向量就是中断处理程序的地址)

为何要使用中断向量地址的形式,如果中断向量地址形成部件直接生成中断处理程序的地址,那么当中断处理程序的地址改变,那么此时需要修改中断形成部件的电路结构以生成对应的修改后的中断处理程序地址,这样很麻烦。
而如果采用使用中断向量地址的形式,那么如果中断处理程序的地址改变,此时只需改变中断向量地址的JMP指令的操作数即可


中断处理过程-中断服务程序


小结
关中断和程序断点进栈哪个先在前面都行

关中断使得中断服务程序一气呵成,不会被其他中断打断,直到中断服务程序结束时再开中断

/*************************中断请求与响应 

目录
1.中断的基本概念
2.中断的作用
3.中断的类型
4.中断系统的基本功能
①中断请求信号保持与清除
②中断源识别
③中断控制
④中断优先级
⑤中断的处理
★观前提示:本专栏笔记内容适合有一定的基础或复习时观看,内容如有错,还请大家评论指出!非常感谢!

1.中断的基本概念
1️⃣中断:是指CPU在正常运行程序时,由于内部/外部事件(或由程序)引起CPU中断正在运行的程序,而转到
为中断事件服务的程序中去,服务完毕,再返回执行原程序的这一过程。
2️⃣中断的特征:具有随机性。

2.中断的作用

1️⃣实现主机与外设之间的并行工作
2️⃣故障处理:中断系统能使计算机在运行过程中出现故障的时候,
调用相应的中断服务程序处理故障。
3️⃣实时处理

3.中断的类型

1️⃣内部中断:来自于CPU内部的指令中断请求,分为软件中断和异常。
2️⃣外部中断:中断请求来自CPU外部,又分为可屏蔽和不可屏蔽中断。
3️⃣不可屏蔽中断NMI:由系统内部硬件引发的中断,优先级高于外部硬件中断,且不受中断允许标志位的影响,所以是不可屏蔽中断。
4️⃣可屏蔽中断:由外设通过中断请求线向处理器申请而产生的中断,处理器可以用指令来屏蔽(禁止),即不响应它的中断请求。

4.中断系统的基本功能


①中断请求信号保持与清除


②中断源识别
◆ 中断号:是系统分配给每个中断源的代号,以便识别和处理。
◆ 中断号在中断处理过程中起到很重要的作用。
◆ 中断号的获取:CPU对系统中不同类型的中断源,获取它们的中断号的方法是不同的。

③中断控制
◆ 中断触发方式:是指外设以什么逻辑信号去申请中断,即边沿触发和电平触发两种方式。
◆ 中断排队方式:当系统有多个中断源时,就可能出现同时有几个中断源都申请中断,而处理器在一个时刻只能响应并处理一个中断请求;为此,要进行中断排队。处理器按“优先级高的先服务”的原则提供服务。

1️⃣按优先级排队:根据任务的轻重缓急,给每个中断源指定CPU响应的优先级,任务紧急的先响应,可以暂缓的后响应。
2️⃣循环轮流排队:不分级别高低,CPU轮流响应各个中断源的中断请求。

 

④中断优先级
◆ 中断优先级:是指CPU响应和处理中断请求的先后次序
◆ 为了兼顾中断响应的时效与配置的灵活,通常采用两套机制结合组成中断优先序管理体系:

1️⃣硬件响应优先序:未被屏蔽的几个中断源同时提出申请时, CPU选择服务对象的顺序由硬件电路实现,用户不能修改。
2️⃣软件服务优先序:在各中断服务程序开头,用软件设置自己的中断屏蔽字,以此改变实际服务顺序。
⑤中断的处理
1️⃣中断响应周期
◆ 当CPU收到外设的中断请求后,如果当前一条指令已执行完,且允许中断, CPU进入中断响应周期,发出中断应答信号完成一个中断响应周期。

2️⃣中断响应
◆ 读取中断源的中断号,完成中断申请与中断响应的握手过程。


3️⃣单级中断处理的流程

4️⃣多级中断处理流程

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值