计算机组成原理第 7 章:输入/输出系统总览

本页只做导航。 知识点在概念页里,名词在名词库里,原始提问在提问档案(本地资料)里。

这一章第一次把视线移到主机之外。 前六章的对象都在机箱里、都遵守同一套时序;从这一章起,对面是速度慢 倍、格式各不相同、还不告诉你什么时候好的外部设备。

全章围绕三个问题展开,其余都是它们的展开:

问题解法在哪
差异这么大,怎么连上I/O 接口7.2.1~7.2.3
连上了,CPU 怎么找到它I/O 端口与编址7.2.4
找到了,怎么知道它什么时候好查询 / 中断 / DMA7.3

第三个是重心。 三种控制方式是对同一个问题的三种回答——CPU 自己去问(查询)/设备主动来说(中断)/设备自己办完再说一次(DMA)——而演化的动力只有一句话:把「等待」和「搬运」一步步从 CPU 身上剥离。

章节导航

7.1 I/O 系统基本概念 *选学

节页一句话
*7.1.1输入/输出系统方向以主机为参照;接口是主机与外设的分界线;CPU 从不直接访问外设
*7.1.2外部设备三类不是两类(外存双向);显示器是本节唯一的计算点
*7.1.3I/O 控制方式四种方式的完整对照表,7.3 的纲

7.2 I/O 接口

节页一句话
7.2.1I/O 接口的功能五大功能 = 五堵墙,从”不匹配”推出来,不用背
7.2.2I/O 接口的基本结构三类寄存器 + INTR/MASK 两个触发器;控制字走数据线
7.2.3I/O 接口的类型四个独立维度;“串”在设备侧
7.2.4I/O 端口及其编址⭐ 接口是电路,端口是电路里被编号的寄存器;两种编址

7.3 I/O 方式

节页一句话
7.3.1程序查询方式忙等不是阻塞;占用率公式的两种问法
7.3.2程序中断方式⭐ 保存断点 vs 保护现场;向量/非向量;判优 ≠ 识别
7.3.3DMA 方式⭐ DMA 控制器传送时是主设备;三种争总线方式

与第 5、6 章的接口

本章有大量内容的原理写在前两章,不在这里重复:

需要用到去哪看
中断的完整机制(响应条件、隐指令、向量、判优、屏蔽字、嵌套)5.5.3
为什么中断在指令边界响应5.5.1
主设备 / 从设备的判据6.1.1
总线带宽公式6.1.5
同步 / 异步定时6.2.2
磁盘与 SSD3.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 容量色深色深先取
显示带宽刷新就是单帧容量 × 帧频

审题三问:① 的粒度是字节、字还是块?② 问的是”传送开销”还是”CPU 是否空闲”?③ 单位要 B 还是 b?

复习顺序

  1. 7.1.3 的四方式对照表 —— 先把全章骨架立起来,后面每一节都是往这张表里填细节。
  2. 7.2.4 接口与端口的层级 —— 术语不清后面全乱。
  3. 7.2.1 五大功能 —— 从”五个不匹配”推,不要背。
  4. 7.2.2 三类寄存器 + INTR/MASK —— 7.3 的硬件基础。
  5. 7.2.3 四个维度 —— 十分钟过一遍。
  6. 7.3.1 查询 —— 顺手把占用率公式练熟。
  7. 回头复习 5.5.3 —— 中断机制在那里,不复习它读不懂 7.3.2。
  8. 7.3.2 中断 —— 重点是保存断点 vs 保护现场、判优 vs 识别。
  9. 回头确认 6.1.1 的主/从判据 —— DMA 全靠它。
  10. 7.3.3 DMA —— 全章最重,三张对照表要能默写。
  11. 7.1.2 外设参数 —— 只练显示器那两个公式。
  12. 扫名词库末尾的 59 条边界清单。

链接