中断是并行运行的基础1

来源:百度文库 编辑:神马文学网 时间:2024/04/28 07:58:01
什么叫中断2008-11-09 13:40

中断是并行运行的基础。

打个比方:
你正在看书的时候突然电话铃声响了,你把书扣在桌上,然后
去接电话,接完电话后回来继续看书。
你看书的时候相当于正在执行一个任务;电话铃声相当于中断请求;把书扣上相当于保护现场(保存各寄存器的值);去接电话相当于处理中断请求;回来拿书相当于恢复现场;继续看书相当于继续执行。假如你听到电话铃声而不理睬,相当于中断请求级别低于当前任务;假如你接电话的时候有人敲门,相当于处理中断过程中收到新的中断请求;假如你去开门,相当于新的中断请求高于现有任务;假如你堵住耳朵专心看书相当于屏蔽中断……

中断的概念:
中断是CPU处理外部突发事件的一个重要技术。引起中断的原因或者说发出中断请求的来源叫做中断源。根据中断源的不同,可以把中断分为硬件中断和软件中断两大类,而硬件中断又可以分为外部中断和内部中断 两类。
外部中断一般是指由计算机外设发出的中断请求,如:键盘中断、打印机中断、定时器中断等。外部中断是可以屏蔽的中断,也就是说,利用中断控制器可以屏蔽这些外部设备 的中断请求。
内部中断是指因硬件出错(如突然掉电、奇偶校验错等)或运算出错(除数为零、运算 溢出、单步中断等)所引起的中断。内部中断是不可屏蔽的中断。
软件中断其实并不是真正的中断,它们只是可被调用执行的一般程序。例如:ROM BIOS中的各种外部设备管理中断服务程序(键盘管理中断、显示器管理中断、打印机管理 中断等,)以及DOS的系统功能调用(INT 21H)等都是软件中断。 CPU为了处理并发的中断请求,规定了中断的优先权,中断优先权由高到低的顺序是: (1)除法错、溢出中断、软件中断 (2)不可屏蔽中断 (3)可屏蔽中断 (4)单步中断。

中断的作用:
它能使CPU在运行过程中对外部事件发出的中断请求及时地进行处理,处理完成后又立即返回断点,继续进行CPU原来的工作。

这些都是汇编语言,计算机原理都要学的东西。

1. 什么叫中断?有哪几种不同类型的中断?
由于某个事件的发生,CPU暂停当前正在执行的程序,转而执行处理该事件的一个程序。该程序执行完成后,CPU接着执行被暂停的程序。这个过程称为中断。
根据中断源的位置,有两种类型的中断。有的中断源在CPU的内部,称为内部中断。大多数的中断源在CPU的外部,称为外部中断。
根据中断引脚的不同,或者CPU响应中断的不同条件,也可以把中断划分为可屏蔽中断和不可屏蔽中断两种。

2. 什么是中断类型?它有什么用处?
用若干位二进制表示的中断源的编号,称为中断类型。
中断类型用来区分不同的中断,使CPU能够在中断响应时调出对应的中断服务程序进行中断处理。

3. 什么是中断嵌套?使用中断嵌套有什么好处?
CPU在处理级别较低的中断过程中,出现了级别较高的中断请求。CPU停止执行低级别中断的处理程序而去优先处理高级别中断,等高级别中断处理完毕后,再接着执行低级别的未处理完的中断处理程序,这种中断处理方式称为多重(级)中断或中断嵌套。
使用中断嵌套可以使高优先级别的中断得到及时的响应和处理。

(转)中断的作用

在现代计算机系统中,中断系统具有非常重要的作用,它不仅用来管理外部设备,还用来管理处理机自身的各个部分。另外,许多系统软件和用户软件,也往往要借助中断系统才能实现。

  中断系统的主要作用如下:
  1.CPU与外部设备并行工作
  图7.1是CPU与一台外部设备并行工作的时间关系图。现行程序和中断服务程序都是在同一个CPU上执行的,因此,他们必须串行执行。但是,外部设备工作与CPU执行现行程序或执行中断服务程序可以同时进行,使各自的效率得到充分发挥。
图 7.1 CPU与外部设备并行工作的时间关系


  当CPU在执行现行程序中启动外部设备之后,不需要象程序控制方式那样反复查询外部设备的状态,而能够与外部设备并行工作。当外部设备的数据准备就绪后,主动向CPU发出中断请求。CPU接到外部设备的中断请求后,如果没有更加紧急的任务(如DMA服务等),就暂停正在执行的现行程序,转去执行中断服务程序,为外部设备服务。当中断服务完成之后,再返回到原先的现行程序中继续执行。
  当有多台外部设备需要同时工作时,CPU可以在不同时刻根据需要分别启动这些外部设备,被启动的外部设备能够与CPU分别同时独立工作。当某一台外部设备的数据准备就绪时,就向CPU发出中断服务请求。如果有多台外部设备同时要求中断服务,CPU能够根据这些外部设备的优先级从高到低分别响应这些中断请求,为外部设备服务。

  2.能够处理例外事件
  计算机在运行过程中,可能发生例外事件,如电源掉电、硬件故障、运算溢出、地址越界、非法指令等。依靠程序控制方式根本不可能处理好这些例外事件,因为CPU不可能一直不间断地查询是否有电源掉电,是否发生了硬件故障,如果这样,计算机就什么事也干不了了。
  采用中断方式,当出现例外事件时,就向CPU发出中断服务请求,CPU可以立即停止执行现行程序,及时处理这些例外事件,避免发生计算错误,或造成更大的损失。

  3.实现实时处理
  在实时控制系统中,处理机必须及时响应外部请求,及时处理,否则,可能丢失数据或造成无法弥补的损失。例如,在过程控制中,当出现温度过高、压力过大的情况时,处理机只有通过中断系统才能及时响应并给予处理。

  4.实现人机联系
  在计算机工作过程中,我们经常需要了解机器的工作状态,给机器发出各种各样的命令,干预机器的运算过程,抽查中间运算结果等。通常,人们通过键盘、鼠标、或其他终端设备来干预计算机的工作,但是,无论采用何种外部设备,必须通过中断方式才能实现。

  5.实现用户程序与操作系统的联系
  一般处理机至少有两种工作状态,当处理机执行管理程序时为管态(或成为系统态、特权态等),当处理机执行用户程序时为目态(或成为用户态)。用户程序必须通过执行访问管理程序的专用指令才能进入操作系统,以完成所要求的管理功能,完成之后再返回到用户程序继续执行,而这一过程必须通过中断系统来实现。

  6.实现多道程序并行执行
  目前的绝大多数操作系统均为多任务操作系统,在一个单处理机的计算机系统中,可以有多道程序并行执行。从一道程序切换到另外一道程序,必须通过中断系统才能实现。

  7.在多处理机系统中,实现处理机之间的联系
  在多处理机系统中,各个处理机之间的通信和任务切换都要通过中断系统来实现。当外部设备的数量比较多时,也可以通过中断系统把外部设备分配到各个处理机中分别管理........