计算机体系结构中的程序中断类型有哪些?

程序中断定义了作为外部或内部创建请求的结果,程序控制从当前运行的程序转移到另一个服务程序。执行服务程序后,控制返回到初始程序。

有以下三种主要类型的程序中断 -

外部中断

外部中断来自输入输出 (l/0) 设备、计时设备、监控电源的电路或任何其他外部源。超时中断可能是由于程序处于无限循环并因此超出其时间分配而引起的。断电中断可以将一个程序作为其服务例程,该程序在断电前的几毫秒内将 CPU 的完整状态传输到非破坏性存储器中。

内部中断

内部中断由指令或数据的非法或错误使用引起。内部中断也称为陷阱。这些错误情况通常是由于指令执行过早终止而出现的。处理内部中断的服务程序决定了要采取的纠正措施。

内部中断和外部中断的主要区别在于内部中断是由程序本身引起的某些异常情况而不是外部事件引起的。内部中断与程序同步,而外部中断是异步的。如果重新运行程序,内部中断每次都会出现在同一个地方。外部中断取决于与当时正在执行的程序无关的外部条件。

软件中断

软件中断是通过执行一条指令来启动的。软件中断是一种特殊的调用指令,其行为类似于中断而不是子程序调用。程序员可以使用它在程序中的任何所需点启动中断程序。