计算机允许其他模块中断处理器的正常运行。可用于提高处理器的效率。外部设备做好准备之后(例如准备从处理器接受更多的数据),将向处理器发送中断请求信号,处理器做出响应,暂停当前程序的处理,转去处理服务于外部设备的程序,这个程序称做中断处理程序。在对该设备的服务响应完成后,处理器恢复原先的执行。转移控制如下图所示:

                                                             计算机系统概述(2)中断

为适应中断的产生,可以在指令周期中要增加一个中断阶段,在这个阶段检查是否有中断发生,如果没有发生则可以和之前的一样,继续读取指令执行;如果发生中断则优先执行中断处理程序后再继续读取指令执行。步骤如下图所示。

                                            计算机系统概述(2)中断

下面可以看一个示例:处理器在处理用户程序过程中进行写操作。如下图所示,I/O程序包含两个标记4和5。标记4的指令序列用于为I/O操作做准备,包括复制将要翰出到特定缓冲区的数据,为设备命令准备参数;4和5中间是执行的I/O操作命令;标记5的指令序列,用于完成操作。包括设置一个表示操作成功或失败的标记。

           计算机系统概述(2)中断

a图中没有发生中断,处理器执行用户程序遇到write请求时,处理器随即执行I/O程序指令,等待指令执行完之后才继续执行用户程序;这里的时间包括:4、5指令序列和I/O命令执行的阶段。

b图中发生了中断,处理器在遇到write请求时执行4序列的指令,之后继续执行用户程序,此时I/O命令的执行与处理器执行用户程序是并行的。等到I/O命令执行结束之后,外部设备的I/O模块给处理器发送一个中断请求信号。这时处理器会做出响应,暂停当前程序的处理,处理5指令序列。可以看出,此时处理器处理I/O程序的时间只包括4、5指令序列。图中×表示发送中断的位置。

c图中的情况是处理器在执行第一次write操作的4指令序列后,还未等到中断请求,处理器又得执行下一次write请求。此时处理器就需要等待,等上一次的wirte操作执行完才能执行第二次。

以上三种情况的指令执行序列,如下图所示。

                 计算机系统概述(2)中断

有时候即使使用了中断,处理器仍有可能未得到有效的利用,例如,图1.9b中处理器遇到下一次中断时,必须等待上一次完成I/O操作完成才可以继续,处理器的利用率很低,如果完成I/O操作的时间远远大于I/O调用期间用户代码的执行时间(通常情况下),则在大部分时间处理器是空闲的。解决这个问题的方法是允许多道用户程序同时处于活动状态

中断**了很多事件,包括处理器硬件中的事件以及软件中的事件。图1.10显示了一个典型的序列,当I/O设备完成一次I/O操作时,发生下列硬件事件。图1.11显示了内存和处理器的变化,可以由1.11.a图可以看出当处理器执行完 N 指令后出现中断,则处理器将PC值(保存下一个执行的指令)和寄存器中的数据保存在控制栈中后执行中断服务例程,待处理完后重新从控制栈中读取数据,恢复中断前的状态。

                                 计算机系统概述(2)中断

       计算机系统概述(2)中断

以上是发生一个中断时的操作,如果发生多个中断呢?例如,一个程序可能从一条通信线中接收数据并打印结果。每完成一个打印操作,打印机就会产生一个中断;每当一个数据单元到达,通信线控制器也会产生一个中断。在任何情况下,都有可能在处理打印机中断的过程中发生一个通信中断。

处理多个中断主要有两种方法:

    1、当正在处理一个中断时,禁止再发生中断。禁止中断的意思是处理器将对任何新的中断请求信号不予理睬。如果在这期间发生了中断,通常中断保持挂起,当处理器再次允许中断时,再由处理器执行下一个中断程序。这个方法很简单,所有中断都是按顺序执行。缺点是没有考虑相对优先级和时间限制的要求。例如,当来自通信线的输人到达时,可能需要快速接收,以便为更多的输人让出空间。如果在第二批输人到达时第一批还没有处理完,就有可能由于I/O设备的缓冲区装满或溢出而丢失数据。

                                            计算机系统概述(2)中断

    2、定义中断优先级,允许高优先级的中断打断低优先级的中断处理程序的运行。如下图所示,Y的优先级比X高,所以执行X的过程中如果Y出现中断,则必须优先执行Y。

         再举一个例子,假设一个系统有三个I/O设备:打印机、磁盘和通信线,优先级依次为2, 4和5,图1.13给出了执行的顺序,遇到优先级高的中断必须优先执行,看图的时候注意时间 t ,可以看出执行的次序。

                                  计算机系统概述(2)中断

                             计算机系统概述(2)中断

 

相关文章:

猜你喜欢
  • 2022-12-23
  • 2021-11-28
  • 2021-12-04
相关资源
相似解决方案