1、学习目标

本章从具体设备角度看 I/O:键盘如何输入,显示器如何输出图像,打印设备如何把电子信息变成纸面信息。相比前一章偏控制模式,本章更偏设备原理和接口适配。

模块 要掌握的内容
I/O 设备 输入、输出、外存、通信设备
接口任务 数据缓冲、格式转换、状态反馈
键盘 按键矩阵、扫描、编码、去抖
显示器 CRT、LCD、像素、刷新、显存
打印设备 击打式、喷墨、激光
系统联系 设备、接口、总线、中断、DMA 的协作

2、I/O 设备分类

类型 例子
输入设备 键盘、鼠标、扫描仪、摄像头
输出设备 显示器、打印机、音箱
外存设备 磁盘、SSD、U 盘、光盘
通信设备 网卡、蓝牙、串口、无线模块

设备差异很大,所以主机通常不直接控制具体硬件细节,而是通过接口和控制器统一访问。

3、设备接口的基本任务

接口需要解决:

  1. 速度匹配:外设慢,CPU 快。
  2. 格式转换:串行/并行、模拟/数字、编码格式。
  3. 状态管理:忙、就绪、错误、中断请求。
  4. 数据缓冲:避免主机和外设速度不一致。
  5. 控制命令:启动、停止、复位、模式设置。

接口让 CPU 看到的是寄存器和状态位,而不是复杂的物理设备细节。

4、键盘工作原理

键盘常用矩阵结构:

1
2
行线 x 列线
按键按下时,对应行列导通

扫描流程:

  1. 控制器逐行扫描。
  2. 检测列线状态。
  3. 确定哪个键被按下。
  4. 进行去抖处理。
  5. 产生扫描码。
  6. 通过中断或缓冲区交给主机。

去抖是因为机械按键按下和释放时,信号会短时间抖动,不能把一次按键误判成多次。

5、显示器件

显示系统通常包括:

1
显存 -> 显示控制器 -> 显示器件

核心概念:

概念 说明
像素 图像最小显示单元
分辨率 水平像素 x 垂直像素
色深 每个像素用多少位表示颜色
刷新率 每秒刷新画面次数
帧缓冲 保存一帧图像的显存区域

帧缓冲容量估算:

1
容量 = 分辨率宽 * 分辨率高 * 每像素位数

例如 1920*1080,每像素 32 位:

1
1920 * 1080 * 4 字节 ≈ 7.9 MB

6、CRT 与 LCD

类型 原理 特点
CRT 电子束扫描荧光屏 体积大、模拟时代常见
LCD 液晶控制背光透过 轻薄、现代显示常见

CRT 更强调扫描和同步信号;LCD 更强调像素矩阵、背光和刷新控制。

现代显示还会涉及 GPU、显示接口、显存带宽等更复杂内容。

7、打印设备

类型 原理 特点
针式打印机 打印针击打色带 可打复写纸,噪声大
喷墨打印机 喷出墨滴形成图像 色彩好,耗材敏感
激光打印机 激光扫描、静电吸附碳粉 速度快,办公常见

打印设备一般速度较慢,通常通过缓冲、队列和中断/DMA 等方式降低对 CPU 的影响。

8、设备与操作系统

组成原理关注硬件结构,操作系统关注抽象和管理。

组成原理视角 操作系统视角
接口寄存器 设备文件
中断请求 中断处理程序
DMA 控制器 缓冲区管理
设备状态 驱动程序状态机
总线传输 I/O 调度

学习 I/O 时最好提前建立这个连接,后面学操作系统会轻松很多。

9、设备性能指标

指标 含义
响应时间 用户操作到系统反馈的时间
吞吐率 单位时间完成的 I/O 数量
带宽 单位时间传输的数据量
分辨率 显示或打印细节能力
刷新率 显示画面更新频率
可靠性 出错率、寿命、稳定性

设备性能常受接口带宽、驱动、操作系统调度和应用访问模式共同影响。

10、I/O 复盘链路

以键盘输入为例:

1
2
3
4
5
6
7
按键按下
键盘控制器扫描并编码
接口缓冲扫描码
产生中断请求
CPU 响应中断
操作系统驱动读取数据
应用程序获得字符事件

以显示输出为例:

1
2
3
4
应用生成图像数据
系统/GPU 写入帧缓冲
显示控制器按刷新节奏读取显存
显示器件把像素显示出来

11、易错点

易错点 修正
设备接口和设备本体混淆 接口负责适配和控制
显存容量忘记乘色深 每像素位数必须计入
键盘按键不考虑去抖 机械按键有抖动过程
I/O 只看硬件不看驱动 实际系统中驱动负责管理设备
显示刷新率和分辨率混淆 分辨率是空间,刷新率是时间

12、复盘清单

检查项 状态
能分类常见 I/O 设备 待复盘
能说明接口的五个基本任务 待复盘
能解释键盘矩阵扫描和去抖 待复盘
能计算帧缓冲容量 待复盘
能比较 CRT 和 LCD 的基本差异 待复盘
能把设备工作过程连接到中断和驱动 待复盘