中断是什么

计算机的CPU直接访问内存,来读写数据和执行的程序。
在这里插入图片描述
因为内存的读写速度足够快,但是内存不够大,断电后数据就消失了。所以只能临时存取。最终还是需要磁盘来存储,因为磁盘的速度更不上CPU的速度,所以需要内存作为中介。另外,CPU还需要通过设备控制器对硬盘进行控制。我们把这个部分的工作称为I/O。
在这里插入图片描述
其实CPU和外部大部分的设备,如磁盘、鼠标、网络等,都是I/O,都需要这样的控制过程。
在这里插入图片描述
具体来讲,CPU会通过设备控制器,通知读取硬盘中的数据,然后硬盘就和内存传输数据。如果CPU干等着,也就是忙等待,就会很浪费时间。所以CPU会转而执行其他线程。然后等到I/O结束时,设备控制器需要通知CPU,这称为中断。也就是让CPU暂时停下当前的执行流,进而处理I/O的事情。
在这里插入图片描述
中断机制的过程:假定CPU在执行其他的进程,同时设备控制器控制I/O设备,如硬盘和内存传输数据。
在这里插入图片描述
这时传输完成,设备控制器通过特定的总线向中断控制器发送中断请求。。
如果中断控制器认为可以中断了,就通知CPU,这样CPU就阻塞当前的进程,开始处理中断。
在这里插入图片描述
CPU是如何处理的呢
中断时,中断控制器会在总线上放置一个地址,它指向的是一张表格,称为中断向量,里面的都是地址,也就是指针,指向应对不同中断情况的处理程序。
在这里插入图片描述
CPU被打断前的进程在执行时是一句一句执行的,这时的中断称为精确中断,也就是被中断时,之前的指令全部完成,之后的都未开始,而与之相对应的就是非精确中断。
在这里插入图片描述
现在的CPU已经变得非常复杂,比如CPU内部采用流水线式的,多条指令会同时在CPU中。在中断时,都需要将这些指令对应的状态都保存好。
在这里插入图片描述
参考资料【操作系统】操作系统中的中断

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值