中断过程:
(1)中断请求
中断源以硬件信号形式通过中断控制线路向CPU提出中断请求。 中断源:引起中断事件的原因。 中断源可以是外部的硬件设备,如键盘、打印机等输入/输出设备和各种控制设备;也可以是软件指令,如中断指令(软中断,访管指令);还可能是由各种故障和出错引起的中断(自陷),如计算溢出等。
⑵ 中断判优及响应 根据中断优先权进行判断,择优予以响应。
⑶ 保护现场 保护主程序的运行现状,如PC值、PSW、寄存器和内存中的重要数据。
⑷ 中断服务 按中断源的工作要求,执行相应的中断服务程序,进行特定的数据传送或控制处理。
⑸ 恢复现场 为了正确返回原程序,需要进行恢复现场的工作,即将前面保存的寄存器的内容送回原寄存器。
⑹ 中断返回 返回被中断的程序 ,继续执行。
中断响应过程中应完成的操作:
(1)关中断 以便在保存现场过程中不允许响应新的中断请求,确保现场保存的正确性。
(2)保存断点地址和程序状态字
(3)转入中断服务程序入口,以便执行相应的中断服务程序,完成中断处理任务 中断响应周期的操作流程中的操作不是在程序中安排的,而是直接由硬件完成的。通常把这种操作称为执行中断隐指令。
向量中断:
中断向量:每个中断源对应的中断服务程序的入口地址及其程序状态字PSW。 中断向量存放在特定的存储区中,有些计算机没有完整的程序状态字,则中断向量仅指中断服务程序入口地址。
中断向量表:存放中断向量的表。 所有的中断服务程序入口地址(或包括服务程序的状态字)组织成一个一维的表格,存放在一段连续的存储区中。
中断向量地址:访问中断向量表的地址码,即读取中断向量所需的地址,也称为中断指针。
向量地址的两种情况: