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干预 | 高速外设(磁盘等) |
评论