计算机体系结构中的程序中断类型有哪些?
程序中断定义了程序控制从当前运行的程序转移到另一个服务程序的过程,这是由外部或内部生成的请求引起的。服务程序执行完毕后,控制返回到初始程序。
程序中断主要有以下三种类型:
外部中断
外部中断来自输入输出(I/O)设备、计时设备、监控电源的电路或任何其他外部来源。超时中断可能是由于程序陷入无限循环而超过其时间分配造成的。电源故障中断的服务例程可能是一个程序,它在电源中断前几毫秒内将CPU的完整状态转移到非破坏性存储器中。
内部中断
内部中断是由指令或数据的非法或错误使用引起的。内部中断也称为陷阱。这些错误条件通常是由于指令执行过早终止而出现的。处理内部中断的服务程序确定要采取的纠正措施。
内部中断和外部中断的主要区别在于,内部中断是由程序本身引起的某些异常情况触发的,而不是由外部事件触发的。内部中断与程序同步,而外部中断是异步的。如果程序重新运行,内部中断每次都会出现在相同的位置。外部中断取决于与当时正在执行的程序无关的外部条件。
软件中断
软件中断是由执行指令启动的。软件中断是一种特殊的调用指令,其行为类似于中断而不是子程序调用。程序员可以使用它在程序中任何所需点启动中断过程。
广告