I/O设备——I/O系统总览

文章目录

  • [I/O 设备](#I/O 设备)
    • [I/O 系统全景图](#I/O 系统全景图)
      • [I/O 系统在计算机中的位置](#I/O 系统在计算机中的位置)
      • [I/O 系统的核心任务](#I/O 系统的核心任务)
      • [I/O 系统的性能瓶颈](#I/O 系统的性能瓶颈)

I/O 设备

输入输出系统 (I/O System)是计算机架构中软硬件深度结合的核心子系统,负责管理和优化 CPU、内存与外围设备间的数据交流。它决定了计算机与外部世界交互的能力边界------从键盘敲击到网络数据包,从磁盘读写到屏幕刷新,所有跨越计算机边界的比特流都经由 I/O 系统完成。


I/O 系统全景图

I/O 系统在计算机中的位置

在冯·诺依曼架构中,I/O 系统与运算器、控制器、存储器并列,构成计算机的五大功能部件。但在现代计算机中,I/O 系统已远远超出"输入输出"的字面含义------它是一个涵盖硬件接口、总线协议、设备控制器、驱动程序、中断机制的完整层次结构

plain 复制代码
                          ┌──────────────────────────────────────────┐
                          │               I/O 系统                     │
                          │  (软硬件协同的完整输入输出子系统)            │
                          └──────────────────┬───────────────────────┘
                                             │
              ┌──────────────────────────────┼──────────────────────────────┐
              │                              │                              │
              ▼                              ▼                              ▼
    ┌─────────────────┐          ┌─────────────────┐          ┌─────────────────┐
    │    外部设备层     │         │    I/O 接口层    │         │   数据传送控制层   │
    │  (Peripherals)   │         │  (Interface)    │          │   (Control)     │
    ├─────────────────┤          ├─────────────────┤          ├─────────────────┤
    │ · 输入设备       │          │ · 数据缓冲寄存器  │         │ · 程序直接控制   │
    │ · 输出设备       │   ◄──►   │ · 状态/控制寄存器 │   ◄──►  │ · 中断控制      │
    │ · I/O 设备       │          │ · 地址译码逻辑   │          │ · DMA 控制     │
    │ · 通信设备       │          │ · I/O 控制逻辑   │          │ · I/O 通道     │
    └─────────────────┘          └─────────────────┘          └─────────────────┘
             │                            │                            │
             └────────────────────────────┼────────────────────────────┘
                                          │
                                          ▼
                          ┌──────────────────────────────────────────┐
                          │              总线互连结构                 │
                          │  系统总线 / I/O 总线 / 局部总线 / 扩展总线  │
                          └──────────────────────────────────────────┘

I/O 系统的核心任务

任务 描述 关键技术
建立数据传输通道 在主存储器与外部设备之间构建高效的数据通路 总线、DMA 控制器、I/O 通道
转化 I/O 请求 将用户的 I/O 请求转化为具体的设备控制指令序列 设备驱动程序、命令译码
设备寻址 为每个外设分配唯一地址,使 CPU 能准确识别并访问 I/O 端口编址、地址译码
数据缓冲与同步 解决 CPU/内存与外设之间的速度差异和异步问题 缓冲寄存器、双缓冲、缓冲池
错误检测与恢复 检测传输过程中的错误并尝试恢复 奇偶校验、CRC、超时重传

I/O 系统的性能瓶颈

I/O 系统往往是整个计算机系统的性能瓶颈。以下数据直观展示了这种速度鸿沟:

plain 复制代码
典型延迟对比(数量级):

  CPU 一级缓存访问  ████  ~1 ns
  CPU 二级缓存访问  ████████████  ~5 ns
  主存 (DRAM) 访问  ████████████████████████████████  ~50-100 ns
  SSD 随机读取      ████████████████████████████████████████████████  ~100 µs
  机械硬盘随机读取  ████████████████████████████████████████████████████████████████████████  ~10 ms
  网络数据包往返    ████████████████████████████████████████████████████████████████████████████████  ~1-100 ms

  → CPU 与最慢 I/O 设备的速度差异可达 10^7 量级(一千万倍)

📌 正因如此巨大的速度鸿沟,I/O 系统的设计核心始终围绕一个目标:让 CPU 在等待 I/O 时不至于完全空闲。从程序查询到中断,再到 DMA 和 I/O 通道,本质上都是在逐步解放 CPU。


相关推荐
-To be number.wan3 小时前
计算机组成原理 | 虚拟存储器
学习·计算机组成原理
月落归舟4 天前
最最最基础的计算机底层执行逻辑!!!
计算机组成原理
-To be number.wan5 天前
计算机组成原理 | Cache和主存的映射方式
学习·缓存·计算机组成原理
-To be number.wan5 天前
计算机组成原理 | Cache替换算法
学习·计算机组成原理
apcipot_rain5 天前
计科八股20260605——软件生命周期、文档、死锁、地址转换、I/O控制方式、堆、无向图、连通图、最小支配集、逆关系、永真式
数据结构·操作系统·软件工程·计算机组成原理·离散数学
-To be number.wan8 天前
计算机组成原理 | 位扩展、字扩展与片选逻辑
学习·计算机组成原理
-To be number.wan10 天前
计算机组成原理 | SRAM与DRAM
学习·计算机组成原理
雪度娃娃11 天前
存储器层次结构——磁盘硬盘存储
服务器·网络·数据库·计算机组成原理
雪度娃娃11 天前
存储器层次结构——随机访问存储器
单片机·嵌入式硬件·计算机组成原理