3.1.2
外设可屏蔽中断
Intel x86通过两片中断控制器
图3.1 级连的
并不是每个设备都可以向中断线上发中断信号的,只有对某一条确定的中断线拥有了控制权,才可以向这条中断线上发送信号。由于计算机的外部设备越来越多,所以15条中断线已经不够用了,中断线是非常宝贵的资源,所以只有当设备需要中断的时候才申请占用一个IRQ,或者是在申请IRQ时采用共享中断的方式,这样可以让更多的设备使用中断。
中断控制器
1.监视中断线,检查产生的中断请求(IRQ)信号。
2.如果在中断线上产生了一个中断请求信号:
a.把接受到的IRQ信号转换成一个对应的向量。
b.把这个向量存放在中断控制器的一个I/O端口,从而允许CPU通过数据总线读此向量。
c.把产生的信号发送到CPU的INTR引脚——即发出一个中断。
d.等待,直到CPU确认这个中断信号,然后把它写进可编程中断控制器的一个I/O端口;此时,清INTR线。
3.返回到第一步。
对于外部I/O请求的屏蔽可分为两种情况,一种是从CPU的角度,也就是清除eflag的中断标志位(IF),当IF=0时,禁止任何外部I/O的中断请求,即关中断;一种是从中断控制器的角度,因为中断控制器中有一个8位的中断屏蔽寄存器(IMR),每位对应