1.中断和异常
- 外部(硬件)中断:从处理器外部来的中断信号,通过两个信号线INTR(可屏蔽中断)、NMI(非屏蔽中断)引入处理器;
中断控制器8259芯片(PIC):
每片8259只有8个中断输入引脚,在个人电脑上使用,需要两块(主片、从片);
INTEL处理器允许256(0~255)个中断,8259负责提供其中15个,但中断号不固定;
8259内部有8位中断屏蔽寄存器(IMR),对应8个中断输入引脚;
8259有自己的端口号主片(0x20、0x21),从片(0xa0、0xa1),可以用in、out指令改变状态、中断号及IMR;
计算机启动后,8259主片中断向量0x08~0x0F
,从片中断向量0x70~0x77
,16位机下正常,但在32位机0x08~0x0F
已被用作异常向量==>若开启保护模式需重新初始化8259主片中断向量; - 内部中断(异常、异常中断):由执行指令引起的中断,不受IF位影响,不需中断识别总线周期,中断类型固定,可以立即转入相应的处理程序;
如除法溢出则产生中断0,非法指令则产生中断6; - 软中断:由指令
int
引起的中断处理,不需中断识别总线周期,中断号在指令中给出;
BIOS中断(BIO