跳转至

中断系统

概述

中断是计算机系统中的重要机制,用于处理突发事件和实现I/O操作。

中断定义

中断是指CPU暂停当前程序的执行,转去处理紧急事件,处理完后再返回原程序继续执行的过程。

中断的作用

中断的主要作用
  • 实现CPU与I/O设备并行工作
  • 处理硬件故障和软件错误
  • 实现人机交互
  • 支持多道程序设计
  • 实现实时处理

中断的类型

1. 按中断源分类

硬中断(外部中断)

由外部设备产生的中断。

类型:

  • I/O中断: I/O设备完成操作
  • 时钟中断: 定时器到期
  • 外部信号中断: 外部硬件信号
软中断(内部中断)

由程序执行产生的中断。

类型:

  • 程序中断: 除零、溢出
  • 陷阱中断: 系统调用
  • 异常中断: 非法指令

2. 按可屏蔽性分类

可屏蔽中断

可以被CPU禁止的中断。

  • 可通过中断屏蔽字控制
  • 用于非紧急事件

不可屏蔽中断(NMI)

不能被CPU禁止的中断。

  • 用于紧急事件
  • 如电源故障、内存校验错误

中断处理过程

sequenceDiagram
    participant CPU as CPU
    participant Device as 中断源
    participant Handler as 中断处理程序
    
    Device->>CPU: 发出中断请求
    CPU->>CPU: 判断是否响应
    CPU->>CPU: 保护现场
    CPU->>Handler: 转向中断处理程序
    Handler->>Handler: 处理中断
    Handler->>CPU: 恢复现场
    CPU->>CPU: 返回原程序

1. 中断请求

中断请求

中断源向CPU发出中断请求信号。

2. 中断判优

中断判优

当多个中断同时发生时,选择优先级最高的中断。

判优方式:

  • 硬件判优: 使用中断控制器
  • 软件判优: 软件查询

3. 中断响应

中断响应

CPU响应中断,进入中断处理。

响应条件:

  • CPU开中断
  • 当前指令执行完
  • 无更高优先级中断

4. 保护现场

保护现场

保存当前程序的执行状态。

保存内容:

  • 程序计数器(PC)
  • 状态寄存器(PSW)
  • 通用寄存器

5. 中断处理

中断处理

执行中断处理程序。

6. 恢复现场

恢复现场

恢复原程序的执行状态。

中断优先级

中断优先级

不同中断具有不同的优先级。

优先级 中断类型 说明
最高 不可屏蔽中断 电源故障等
异常中断 程序错误
I/O中断 设备中断
软中断 系统调用

中断嵌套

中断嵌套

在处理中断时,可以响应更高优先级的中断。

graph TB
    A[主程序] --> B[中断1]
    B --> C[中断2<br/>更高优先级]
    C --> B
    B --> A

条件:

  • 新中断优先级更高
  • 当前中断处理开中断

中断向量

中断向量

中断处理程序的入口地址。

中断向量表:

  • 存放所有中断处理程序的入口地址
  • 每个中断对应一个向量
  • 通过中断号索引

参考资料