计算机组成原理第 7 章:输入/输出系统总览
本页只做导航。 知识点在概念页里,名词在名词库里,原始提问在提问档案(本地资料)里。
这一章第一次把视线移到主机之外。 前六章的对象都在机箱里、都遵守同一套时序;从这一章起,对面是速度慢
全章围绕三个问题展开,其余都是它们的展开:
| 问题 | 解法 | 在哪 |
|---|---|---|
| 差异这么大,怎么连上 | I/O 接口 | 7.2.1~7.2.3 |
| 连上了,CPU 怎么找到它 | I/O 端口与编址 | 7.2.4 |
| 找到了,怎么知道它什么时候好 | 查询 / 中断 / DMA | 7.3 |
第三个是重心。 三种控制方式是对同一个问题的三种回答——CPU 自己去问(查询)/设备主动来说(中断)/设备自己办完再说一次(DMA)——而演化的动力只有一句话:把「等待」和「搬运」一步步从 CPU 身上剥离。
章节导航
7.1 I/O 系统基本概念 *选学
| 节 | 页 | 一句话 |
|---|---|---|
| *7.1.1 | 输入/输出系统 | 方向以主机为参照;接口是主机与外设的分界线;CPU 从不直接访问外设 |
| *7.1.2 | 外部设备 | 三类不是两类(外存双向);显示器是本节唯一的计算点 |
| *7.1.3 | I/O 控制方式 | 四种方式的完整对照表,7.3 的纲 |
7.2 I/O 接口
| 节 | 页 | 一句话 |
|---|---|---|
| 7.2.1 | I/O 接口的功能 | 五大功能 = 五堵墙,从”不匹配”推出来,不用背 |
| 7.2.2 | I/O 接口的基本结构 | 三类寄存器 + INTR/MASK 两个触发器;控制字走数据线 |
| 7.2.3 | I/O 接口的类型 | 四个独立维度;“串”在设备侧 |
| 7.2.4 | I/O 端口及其编址 | ⭐ 接口是电路,端口是电路里被编号的寄存器;两种编址 |
7.3 I/O 方式
| 节 | 页 | 一句话 |
|---|---|---|
| 7.3.1 | 程序查询方式 | 忙等不是阻塞;占用率公式的两种问法 |
| 7.3.2 | 程序中断方式 | ⭐ 保存断点 vs 保护现场;向量/非向量;判优 ≠ 识别 |
| 7.3.3 | DMA 方式 | ⭐ DMA 控制器传送时是主设备;三种争总线方式 |
与第 5、6 章的接口
本章有大量内容的原理写在前两章,不在这里重复:
| 需要用到 | 去哪看 |
|---|---|
| 中断的完整机制(响应条件、隐指令、向量、判优、屏蔽字、嵌套) | 5.5.3 |
| 为什么中断在指令边界响应 | 5.5.1 |
| 主设备 / 从设备的判据 | 6.1.1 |
| 总线带宽公式 | 6.1.5 |
| 同步 / 异步定时 | 6.2.2 |
| 磁盘与 SSD | 3.4.1 3.4.2 |
| Cache 一致性 | 3.5.5 |
本章高频边界
完整清单(59 条)在名词库末尾。这里只列最容易在考场上翻车的。
层级类
| 说法 | 判断 |
|---|---|
| CPU 直接访问外部设备 | ❌ 只能访问接口中的端口 |
| 被编址的是设备 / 是接口 | ❌ 被编址的是端口 |
| 一个接口只能有一个端口 | ❌ 通常至少三个 |
| 3 个端口就占 3 个地址 | ❌ 状态与控制可共用一个地址 |
| I/O 端口 = 计网的端口号 | ❌ 术语撞车,毫无关系 |
| I/O 接口 = 机箱上的插孔 | ❌ 那是物理连接器 |
| I/O 接口和设备控制器是两个东西 | ❌ 同一块硬件的两个名字 |
数据路径类
| 说法 | 判断 |
|---|---|
| 中断方式下数据不经过 CPU | ❌ 仍由 CPU 在服务程序里搬 |
| DMA 数据要先送到 CPU 寄存器 | ❌ 直接进主存,这是定义性特征 |
| DMA 完全不需要 CPU | ❌ 预处理和后处理都是 CPU 做 |
| DMA 传送不产生中断 | ❌ 块传完后要中断做后处理 |
优先级与时机类
| 说法 | 判断 |
|---|---|
| 中断响应比 DMA 响应更及时 | ❌ 反了:中断等指令结束,DMA 等总线周期结束 |
| 中断请求优先级高于 DMA 请求 | ❌ 反了,DMA 优先——数据会丢,中断可以等 |
| 周期窃取窃的是 CPU 指令周期 | ❌ 存取周期 / 总线周期 |
| 交替访存需要申请总线 | ❌ 预先硬连线分时,无握手 |
中断类
| 说法 | 判断 |
|---|---|
| 中断隐指令负责保护现场 | ❌ 它只保存断点(PC、PSW) |
| 保护现场由硬件完成 | ❌ 软件,服务程序第一段 |
| 只有一个中断源就不用识别 | ❌ 识别与判优是两回事 |
| 非向量中断退化成程序查询方式 | ❌ 只在识别这一步查 |
| 向量中断的优先级可由软件改 | ❌ 判优电路硬连线;非向量中断才能改 |
| 中断向量地址 = 服务程序入口 | ❌ 差一次访存 |
| 服务程序里先开中断再保护现场 | ❌ 反了 |
| 被屏蔽的中断请求会被丢弃 | ❌ 挂起在 INTR 里 |
状态与编址类
| 说法 | 判断 |
|---|---|
| 查询方式下进程处于阻塞态 | ❌ 运行态,忙等一直占着 CPU |
| 控制字通过控制线传送 | ❌ 通过数据线 |
| 串行接口与 CPU 之间也是一位一位传 | ❌ 主机侧永远并行 |
| 独立编址下端口地址不能与主存地址相同 | ❌ 两个空间,可以相同 |
| 统一编址占用主存地址空间 | ✅ 这正是它的主要代价 |
| 256 色的色深是 256 位 | ❌ 是 8 位 |
计算模板
三种方式的 CPU 占用率是同一个公式换参数:
| 方式 | 公式 | ||
|---|---|---|---|
| 查询 | 每次传送的字节数 | ||
| 中断 | 每次中断传送的字节数 | 一次中断的完整开销 | |
| DMA | 一整块的字节数 | 预处理 + 后处理 |
另外三个:
| 量 | 公式 | 注意 |
|---|---|---|
| DMA 总线占用比 | 与 CPU 占用率是两个数字,要分开答 | |
| VRAM 容量 | 色深先取 | |
| 显示带宽 | 就是单帧容量 × 帧频 |
审题三问:①
复习顺序
- 7.1.3 的四方式对照表 —— 先把全章骨架立起来,后面每一节都是往这张表里填细节。
- 7.2.4 接口与端口的层级 —— 术语不清后面全乱。
- 7.2.1 五大功能 —— 从”五个不匹配”推,不要背。
- 7.2.2 三类寄存器 + INTR/MASK —— 7.3 的硬件基础。
- 7.2.3 四个维度 —— 十分钟过一遍。
- 7.3.1 查询 —— 顺手把占用率公式练熟。
- 回头复习 5.5.3 —— 中断机制在那里,不复习它读不懂 7.3.2。
- 7.3.2 中断 —— 重点是保存断点 vs 保护现场、判优 vs 识别。
- 回头确认 6.1.1 的主/从判据 —— DMA 全靠它。
- 7.3.3 DMA —— 全章最重,三张对照表要能默写。
- 7.1.2 外设参数 —— 只练显示器那两个公式。
- 扫名词库末尾的 59 条边界清单。
链接
- 📖 名词库:第 7 章名词库
- 📜 原始提问档案:第 7 章 原始提问档案(本地资料)
- 📦 旧版归档:第 7 章归档目录(本地资料)
- 📚 权威节号:王道 2026 教材目录
- ⬅️ 上一章:第 6 章 总线
- 💻 OS 对应章:OS 第 5 章 输入/输出管理