5.2.1 中断的基本概念 1.中断的概念及中断源分类 在CPU执行程序过程中,由于某种事件发生,强迫CPU暂时停止正在执行的程序而转向对发生的事件进行处理,事件处理结束后又能回到原中止的程序, 接着中止前的状态继续执行原来的程序,这一过程称为中断。外部中断源产生引起中断的事件。 INTR通常称为可屏蔽中断输入信号,高电平有效——表示外部中断源提出中断请求。 NMI称为非屏蔽中断请求输入信号,上升沿有效。 2. 中断响应的一般过程 (1)中断请求 (2)中断承认 CPU在每条指令执行的最后一个时钟周期检测中断请求输入端有无请求发生,而后决定是否对它做出响应。CPU承认一个中断请求,必须满足以下4个条件: ①一条指令执行结束。 ③没有发生复位(RESET)、保持(HOLD)和非屏蔽中断请求(NMI)。 ④开中断指令(STI)、中断返回指令(IRET)执行完,还需再执行一条指令才能响应INTR请求。 (3) 断点保护 (4)中断源识别 有两种常用的确定中断源的方法: ①软件查询。 ②中断矢量法。
(5) 中断服务 中断服务程序分为两种情况。如图5.9所示,第一种是不允许被中断的中断服务程序。第二种是可以被中断的中断服务程序,其流程图如图5.10所示。 (6) 断点恢复 (7) 中断返回
3. 中断优先级及中断嵌套 中断优先级控制应当解决这样两种可能出现的情况: ①当不同优先级的多个中断源同时提出中断请求时,CPU首先响应最高优先级的中断源。 ②当CPU正在对某一中断源服务时,比它优先级更高的中断源提出中断请求时,CPU能够中断正在执行的中断服务程序而去对优先级更高的中断源进行服务。