当前位置: 首页 > news >正文

4种IO控制方式

计算机系统中,I/O(输入/输出)控制方式主要经历了从 CPU 高度干预到 CPU 逐渐解脱的演进过程。目前主要有以下四种方式:

1. 程序直接控制方式 (Programmed I/O)

也称为程序轮询方式。这是最原始的一种控制方式。

  • 工作原理:CPU 向设备发送指令后,会通过“忙等”(Busy-waiting)不断查询设备状态寄存器中的标志位。只有当设备准备好,CPU 才进行数据读写。
  • 特点:
  • 优点:实现简单,不需要额外的硬件支持。
    • 缺点:CPU 必须全程等待,造成资源极大浪费,无法处理并发任务。 [1, 2, 3, 4]

2. 中断驱动方式 (Interrupt-Driven I/O)

为了解决 CPU 的“无用等待”问题,引入了中断机制。

  • 工作原理:CPU 发出 I/O 命令后立即去执行其他程序。当 I/O 设备准备好数据或完成操作时,向 CPU 发出中断信号。CPU 暂停当前工作,转去处理 I/O 传输。
  • 特点:
  • 优点:提高了 CPU 的利用率,实现了 CPU 与设备的并行工作。
    • 缺点:对于高速设备或大批量数据,频繁的中断处理仍会显著占用 CPU 时间。 [3, 4, 5, 6]

3. 直接内存存取方式 (DMA)

这是现代高性能系统中最常用的方式。

  • 工作原理:引入专用的 DMA 控制器。CPU 仅需告诉控制器“从哪读、读多少、存到内存哪里”,随后由 DMA 控制器接管总线,直接在设备与内存之间搬运数据(每次传输一个数据块)。只有在数据块传输完成后,才会发中断通知 CPU。
  • 特点:
  • 数据单位:以“块”为单位进行传输,而非字节。
    • 优点:大大减少了 CPU 的干预,仅在开始和结束时介入。 [3, 5, 7]

4. I/O 通道控制方式 (I/O Channel)

DMA 的进一步升级版,相当于给 I/O 系统配了一个“小 CPU”。

  • 工作原理:通道是一个专门负责 I/O 操作的处理器,拥有自己的指令集(通道程序)。CPU 只需启动通道,通道会自动执行程序,管理多个设备与内存的数据交换。
  • 特点:
  • 优点:CPU 的干预程度降到最低,能有效管理复杂的 I/O 网络,支持多设备并行处理。 [3, 8, 9]

四种方式对比总结

特性程序直接控制中断驱动DMA 方式通道方式
CPU 干预极高(全程等待)较高(每个字/字节中断)低(每块数据中断)极低(完成一组任务中断)
传输单位字/字节字/字节数据块多个数据块
控制主体CPUCPUDMA 控制器通道处理器

[1] https://zhuanlan.zhihu.com
[2] https://edu.51cto.com
[3] https://baike.baidu.com
[4] https://blog.csdn.net
[5] https://zhuanlan.zhihu.com
[6] https://bbs.huaweicloud.com
[7] https://juejin.cn
[8] https://cloud.tencent.com
[9] https://developer.aliyun.com

http://www.jsqmd.com/news/717107/

相关文章:

  • 用户行为序列的生成式AI建模与应用实践
  • 5个颠覆性虚拟显示应用场景:Windows虚拟桌面革命
  • 从“被动响应”到“质量驱动”:远程办公时代软件测试工程师的影响力构建之道
  • 报名 | 第八届智源大会 相约6月12日-13日
  • ARM CoreLink MMU-401内存管理单元技术解析与应用
  • 想一秒把人从照片里抠出来?2026年这几款工具搭配微信小程序的实操建议
  • HarmonyOS 6 Marquee组件使用示例文档
  • 从Java单体到K8s边缘云原生:某国家级数字农场平台三年演进路径(含ServiceMesh在田间网关的轻量化落地实践)
  • Windows 11 LTSC系统微软商店安装终极指南:3分钟恢复完整应用生态
  • 旋转夹爪功能优势是什么?教你选择靠谱厂家的实用技巧 - 品牌2026
  • 2026 年抠图怎么制作:4 种实用方案 vs 微信小程序零门槛方案,附新手抠图教程
  • 别再让镜头畸变毁了你的测量精度!Halcon相机标定与畸变矫正保姆级教程
  • PyTorch C++扩展编译踩坑记:Win11下找不到cl.exe的终极排查与修复指南
  • 3个场景教你快速上手百度网盘命令行工具:告别繁琐的网页操作!
  • 裁员潮下的生存指南:测试工程师的不可替代性建设
  • 2026年3月比较好的人物雕塑现货厂家口碑推荐,铜雕/动物雕塑/铜鼎/人物雕塑/铸铜雕塑/铜钟,人物雕塑供应商口碑推荐 - 品牌推荐师
  • 如何监控索引使用情况_mysql索引统计
  • Nginx-RTMP-Win32 深度解析:Windows 平台流媒体服务器核心技术实现
  • Prim就是加点法,而Kruskal是加边法
  • SPIRAN ART SUMMONER与OpenCL加速:GPU计算性能优化
  • RWKV7-1.5B-G1A模型解析:从计算机组成原理视角看高效推理
  • 脑机接口新手指南:如何用深度学习(CNN/LSTM/Transformer)搞定SSVEP信号分类?
  • 头歌实验平台避坑指南:Python产生式系统动物识别实验,标点符号中英文格式导致测试不通过的解决方案
  • Arm嵌入式C/C++库架构与多线程优化实践
  • 发布管理化技术中的发布测试发布部署发布验证
  • Geniatech SOM-3568-SMARC模块解析与工业应用
  • 毕业设计:基于springboot的精品在线试题库系统(源码)
  • 如何高效配置网易云音乐插件管理器:BetterNCM安装器完整指南
  • B站缓存视频合并终极指南:如何一键将碎片视频转为完整MP4
  • 5分钟免费解锁PotPlayer实时字幕翻译:让外语视频秒变中文的终极教程