五、中断服务程序的操作流程
发布时间
阅读量:
阅读量
中断服务程序的执行流程主要包括以下几个步骤:首先进行现场信息的保存,随后执行相应的中断处理操作,接着恢复之前保存的现场状态,最后完成中断返回操作。
保护现场:程序断点的保护(中断隐指令完成),寄存器内容的保护(进栈指令)。
保护程序的断点主要由两个方面构成
1)当中断处理完成后,需要继续执行的指令地址必须被妥善存储。这一地址信息当前正保存在程序计数器(PC)中。
2)程序运行时所处的状态信息,其中一些无法通过指令直接访问的状态同样属于断点的一部分,也需加以保护。这部分内容由硬件实现,具体通过所谓的“中断隐指令”完成。所谓中断隐指令并非真正的机器指令,而是硬件在中断发生时自动执行的一系列操作,相关内容详见第9章。
中断服务:针对不同类型的I/O设备所提供的服务内容各不相同。
恢复现场:使用出栈操作完成。
恢复现场主要是指将体系结构寄存器中的内容进行还原。
此前我们采用进栈指令来进行寄存器内容的保存,在实际操作过程中,并不一定非要使用进栈指令来实现该功能。也可以将这些数据存储至内存中指定的位置。此外,如果计算机系统内部配备了大量寄存器,则可将数据转存至其他寄存器中。
中断返回:即将控制权交还给原程序的执行起点。
2.单重中断与多重中断
单重中断:在当前的中断服务程序运行过程中不允许再次发生新的中断请求。
多重中断:允许优先级
全部评论 (0)
还没有任何评论哟~
