计组+OS——中断之外部中断和内部中断以及单中断和多重中断

一、外部中断

狭义的中断,信号来源: C P U 外部 {\color{red} CPU外部} CPU外部,中断事件与当前执行指令无关
只有在CPU中断允许状态时才会响应外部中断请求

比如:
I/O设备发出I/O中断
外部信号中断(如用户执行键盘输入)
定时器引起的时钟中断(如时间片中断)
网络数据包到达

1.外设请求

如:I/O操作完成发出的中断信号、时钟中断(用于计时)

2.人工干预

如:用户强行终止一个进程

二、内部中断

信号来源: C P U 内部 {\color{red} CPU内部} CPU内部,中断事件由当前执行指令引发
内中断时不可被屏蔽的,一旦出现,立即处理

比如:
地址非法,
校验出错,
访存时缺页(由当前执行的指令引发的)
存取访问控制错,
算术操作溢出
数据格式非法
除数为0
非法指令
用户程序执行特权指令
用户态切换到内核态

Cache-主存:Cache的缺失调度是由硬件自动完成的
虚拟存储器:缺页的处理是由硬件和操作系统一起完成的

1.自愿中断

又叫指令中断,如系统调用时使用访管指令(又叫陷入指令,trap指令)

自陷是对中断的一种巧用,是一种主动机制,它是一种预先安排的异常事件,就类似于我们调试程序的断点。

2.强迫中断

①硬件故障

如缺页

②软件中断

如整数除0

三、中断响应过程

第一步,中断请求。是指中断源向CPU发出请求中断的要求
第二步,中断判优。当有多个中断源发出请求时,需要通过适当的办法决定先处理哪个中断请求
第三步,中断响应。指CPU终止现行程序转去执行中断服务程序的过程
第四步,中断处理。指CPU执行中断服务程序
第五步,中断返回。执行完中断服务程序后,返回到被中断的程序

1.单中断

①关中断
②保存PC、PSW
③根据中断向量引出对应的中断服务程序(通用寄存器的保护由中断服务程序完成)
④开中断(终端服务程序完成时)

2.多重中断

在执行中断的过程中,如果有新的中断请求到来,会暂停当前的中断服务程序,转而处理新的中断,执行中断服务程序时处于开中断

在多重中断中,优先级高的中断源有权中断优先级低的中断源;
通过改变中断屏蔽字可以改变中断优先级;

取址周期——间址周期——执行周期——中断周期
在一条指令执行结束后响应中断,有利于保存和恢复现场
中断请求期间CPU处于开中断,可以继续相应新的中断

在这里插入图片描述

四、真题嗅探

【例】(2020)与中断相关的操作,由操作系统的完成的是
1.保存被中断程序的终端点 —— 硬件完成
2.提供中断服务 —— 操作系统
3.初始化中断向量表 —— 存在内存中,开机初始化,由操作系统完成
4.保存中断屏蔽字 —— 多重中断时,由操作系统完成

在这里插入图片描述

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值