计算机原理之中断简介

中断的基本概念

• 当CPU正在正常运行时,外部发生的某一随机事件请求CPU去处理,于是CPU暂时中止现行程序的运行而处理所发生的事件,处理完毕后,再回到原来被中止的地方继续执行,这种能力和行为称为中断。系统为实现中断而采取的硬件和软件措施称为中断系统。
• 一个完整的中断过程应该包括:中断请求、中断判优、中断响应、中断处理和中断返回。首先中断源提出中断申请,在该中断允许的情况下,CPU首先响应优先级别高的中断源提出的中断请求,等处理完高优先级中断源的中断服务程序后再响应较低优先级别的中断请求;CPU暂停现行程序,将PC中下一条指令的地址入栈保护起来,响应中断请求,进入中断服务程序;中断服务程序首先保护现场,接着执行中断源服务程序主体部分,然后恢复现场,最后返回主程序。

中断的用途

• 实现CPU与外设并行工作,提高CPU工作效率
• 解决高速CPU和低速外设的匹配问题—如CPU和打印机之间的数据传送
• 及时处理突发事件—外部事件的发生与处理
• 实时控制—工业生产线等的实时控制
• 实现人机联系—运行系统中的键盘按键处理
• 实现故障及时处理

中断系统的任务

• 中断系统主要解决以下问题:
• 中断源以什么方式提出中断请求,CPU如何识别提出中断的中断源?
• CPU如何知道有中断请求,是否有求必应?
• 不同设备有不同的中断服务程序,CPU如何获得其程序入口地址?
• 中断是否再被中断? 中断嵌套
• 同时申请中断时如何处理?中断优先级
• 中断服务处理结束后,如何返回原程序?

中断源

• 引起中断的事件,即发出中断请求的来源,称为中断源。在计算机系
统中,软件和硬件均可以提出中断请求。

  1. 一般的I/O 设备,如键盘、打印机等。
  2. 实时时钟。
  3. 软、硬件故障。
  4. 为了调试程序而设置的中断。(例如设置断点,单步运行等)
    • 中断源的设置—即使是最高级的计算机,也不能够处理全部的异常情
    况和特殊事件,它只能根据应用目的设计一些事先确定的中断源。
    • 例如:MCS-51有5个中断源,分别是两个外部中断,两个定时器/
    计数器中断和一个串行口中断。
    • 8086/8088有256个,ARM cortex-M有240个外部和10个异常。

中断请求

用某种信号通知CPU指明某个外设正在请求中断,需要CPU中断现行程序的执行。
• 中断请求的条件:
(1)外设具有提出中断请求功能;
(2)CPU允许该外设发中断请求。
• 中断屏蔽:是否允许CPU响应中断请求。可通过设置状态寄存器上的IF标识位来控制。
(1)非屏蔽中断(NMI)
出现在NMI线上的中断请求为非屏蔽中断,这种中断不受中断允许标志IF的影响,
它总是被CPU接受的。非屏蔽中断的优先权高于可屏蔽中断。
(2)可屏蔽中断
出现在INTR线上的中断请求信号。是否响应INTR的请求,取决于中断允许标志位IF的状态。只有当中断允许标志位IF为1时,CPU才能响应INTR的中断请求。
• 如果IF为0,即使INTR端有中断请求信号CPU也不会响应。这种情况称为中断屏蔽。
• 通常CPU为每个中断源设置一个中断请求触发器,把该触发器置“1”时,向CPU发出中断请求且一直保持这一状态,直到CPU响应该中断请求后才能而且必须清除这一请求信号,以防止重复中断。

猜你喜欢

转载自blog.csdn.net/qq_46523260/article/details/106889026