2.5 中断

2.5.1 中断的概念

中断是指计算机运行过程中,出现某些意外情况需要主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。

2.5.2 中断相关概念

概念 说明
中断向量 提供中断服务程序的入口地址
中断响应时间 从发出中断请求到开始进入中断处理程序
保存现场 为了正确返回原程序继续执行

2.6 输入输出(I/O)控制方式

2.6.1 三种I/O控制方式对比

对比项 程序查询方式 中断驱动方式 直接存储器存取方式(DMA)
CPU与I/O关系 CPU和I/O(外设)只能串行工作 CPU和I/O(外设)可以并行工作 CPU和I/O(外设)可以并行工作
CPU状态 CPU需要一直轮询检查,长期处于忙等状态,CPU利用率低 CPU利用率得到提升 CPU利用率得到提升
数据传送单位 一次只能读/写一个字 一次只能读/写一个字 一次只能读/写的单位为"块"
数据传送方式 由CPU将数据放入内存 由CPU将数据放入内存 由外设直接将数据放入内存(主存)
现场保护 需要CPU保护现场 需要CPU保护现场 不需要CPU保护现场
I/O完成通知 CPU轮询检查 I/O设备通过中断信号主动向CPU报告I/O操作已完成 仅在传送数据块的开始和结束时需要CPU的干预
特点 最简单,CPU效率最低 较程序查询方式效率高 DMA传送一个数据占用一个存取周期,效率最高

2.6.2 程序查询方式

  • CPU和I/O(外设)只能串行工作
  • CPU需要一直轮询检查,长期处于忙等状态
  • CPU利用率低
  • 一次只能读/写一个字
  • 由CPU将数据放入内存

2.6.3 中断驱动方式

  • CPU和I/O(外设)可以并行工作
  • 一次只能读/写一个字
  • 由CPU将数据放入内存
  • 需要CPU保护现场
  • I/O设备通过中断信号主动向CPU报告I/O操作已完成
  • CPU利用率得到提升

2.6.4 直接存储器存取方式(DMA)

  • CPU和I/O(外设)可以并行工作
  • 一次只能读/写的单位为"块"
  • 由外设直接将数据放入内存(主存)
  • 不需要CPU保护现场
  • 仅在传送数据块的开始和结束时需要CPU的干预
  • DMA传送一个数据占用一个存取周期

总结

I/O控制方式 核心特点 适用场景
程序查询 CPU轮询,效率最低 简单系统
中断驱动 I/O主动通知,CPU可并行 一般外设
DMA 块传输,无需CPU干预 高速外设(磁盘等)