原创 基础知识:中断的作用

2010-11-16 22:54 5001 5 6 分类: MCU/ 嵌入式

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


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


5e71b0cf-6c4f-4dff-8ed3-e92f198325da.gif


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


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


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


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


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


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


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

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户437688 2013-4-8 13:56

很好!!有用!!
相关推荐阅读
用户1583963 2012-09-17 10:20
心得:画PCB制图心得
1.公司或个人的logo不要忘记; 2.电源和地尽量做到短;(PS:注意地与电源最好在走线的过程中注意贴着走,减小两者之间的面积,减小两者的干扰) 3.引出各测试管脚,方便后面对信号进行观...
用户1583963 2011-08-12 16:36
板级:PCB敷铜经验交流
所谓覆铜,就是将PCB上闲置的空间作为基准面,然后用固体铜填充,这些铜区又称为灌铜。敷铜的意义在于,减小地线阻抗,提高抗干扰能力;降低压降,提高电源效率;还有,与地线相连,减小环路面积。如果PCB的...
用户1583963 2011-08-11 15:05
基础知识:Altium 快捷键
1. PCB设计快捷键(单次按键) 单次按键是指按下该键并放开。 1-01 * 在PCB电气层之间切换(小键盘上的*)。在交互布线的过程中,按此键则换层并自动添加过孔。这很常用。 1-02 Tab键...
用户1583963 2011-06-28 14:47
基础知识:三极管放大电路分析
三极管是电流放大器件,有三个极,分别叫做集电极C,基极B,发射极E。分成NPN和PNP两种。我们仅以NPN三极管的共发射极放大电路为例来说明一下三极管放大电路的基本原理。 下面的分析仅对于NP...
用户1583963 2011-06-28 11:36
板级:整流电路分析
电力网供给用户的是交流电,而各种无线电装置需要用直流电。整流,就是把交流电变为直流电的过程。利用具有单向导电特性的器件,可以把方向和大小交变的电流变换为直流电。下面介绍利用晶体二极管组成的各种整流电路...
用户1583963 2011-06-28 11:13
基础知识:交流电与直流电区别
把一节电池的头(正极)对着另一节的尾(负极)装在手电筒中,手电筒就亮了:如果倒过来,头对头或尾对尾,手电筒就不亮。这是因为电池所产生的电流总是朝一个方向流动,所以叫做直流电。通过输电线或电缆送入家...
我要评论
1
5
关闭 站长推荐上一条 /3 下一条