Chap6 I/O 设备及其接口
返回:0500 计算机组成原理总目录 · 上一章:0505 Chap5 总线与 I/O 子系统
1、学习目标
本章从具体设备角度看 I/O:键盘如何输入,显示器如何输出图像,打印设备如何把电子信息变成纸面信息。相比前一章偏控制模式,本章更偏设备原理和接口适配。
| 模块 | 要掌握的内容 |
|---|---|
| I/O 设备 | 输入、输出、外存、通信设备 |
| 接口任务 | 数据缓冲、格式转换、状态反馈 |
| 键盘 | 按键矩阵、扫描、编码、去抖 |
| 显示器 | CRT、LCD、像素、刷新、显存 |
| 打印设备 | 击打式、喷墨、激光 |
| 系统联系 | 设备、接口、总线、中断、DMA 的协作 |
2、I/O 设备分类
| 类型 | 例子 |
|---|---|
| 输入设备 | 键盘、鼠标、扫描仪、摄像头 |
| 输出设备 | 显示器、打印机、音箱 |
| 外存设备 | 磁盘、SSD、U 盘、光盘 |
| 通信设备 | 网卡、蓝牙、串口、无线模块 |
设备差异很大,所以主机通常不直接控制具体硬件细节,而是通过接口和控制器统一访问。
3、设备接口的基本任务
接口需要解决:
- 速度匹配:外设慢,CPU 快。
- 格式转换:串行/并行、模拟/数字、编码格式。
- 状态管理:忙、就绪、错误、中断请求。
- 数据缓冲:避免主机和外设速度不一致。
- 控制命令:启动、停止、复位、模式设置。
接口让 CPU 看到的是寄存器和状态位,而不是复杂的物理设备细节。
4、键盘工作原理
键盘常用矩阵结构:
1 | 行线 x 列线 |
扫描流程:
- 控制器逐行扫描。
- 检测列线状态。
- 确定哪个键被按下。
- 进行去抖处理。
- 产生扫描码。
- 通过中断或缓冲区交给主机。
去抖是因为机械按键按下和释放时,信号会短时间抖动,不能把一次按键误判成多次。
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 | 按键按下 |
以显示输出为例:
1 | 应用生成图像数据 |
11、易错点
| 易错点 | 修正 |
|---|---|
| 设备接口和设备本体混淆 | 接口负责适配和控制 |
| 显存容量忘记乘色深 | 每像素位数必须计入 |
| 键盘按键不考虑去抖 | 机械按键有抖动过程 |
| I/O 只看硬件不看驱动 | 实际系统中驱动负责管理设备 |
| 显示刷新率和分辨率混淆 | 分辨率是空间,刷新率是时间 |
12、复盘清单
| 检查项 | 状态 |
|---|---|
| 能分类常见 I/O 设备 | 待复盘 |
| 能说明接口的五个基本任务 | 待复盘 |
| 能解释键盘矩阵扫描和去抖 | 待复盘 |
| 能计算帧缓冲容量 | 待复盘 |
| 能比较 CRT 和 LCD 的基本差异 | 待复盘 |
| 能把设备工作过程连接到中断和驱动 | 待复盘 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Ruiqy~!







