第 7 章 名词库
这一页是复习主入口。 目标是把第 7 章的名词收全,并把每个词的边界和适用范围钉死。
每条最多四行:是(定义)/不是(划掉最常见的误解)/易混(成对的对手)/范围(该结论在什么条件下才成立)。
建设进度:✅ 7.1 I/O 系统基本概念 ✅ 7.2 I/O 接口 ✅ 7.3 I/O 方式 (全章完整)
7.1.1 输入/输出系统
I/O 系统
- 是:外部设备 + I/O 接口 + I/O 总线 + I/O 软件的总和。
- 不是:不只是”外设”,也不只是”驱动程序”。
- 范围:计组考硬件部分,OS 考软件部分(OS 5.1.3)。
输入 / 输出
- 是:以主机为参照,数据流入主机为输入,流出为输出。
- 不是:CPU 写主存不是输出——主存在主机内。
- 范围:磁盘两个方向都做,因此归为外存而非输入/输出设备。
主机
- 是:CPU + 主存(有的教材含总线)。
- 范围:I/O 接口在主机与外设的分界处,习惯上算主机一侧。
I/O 指令
- 是:CPU 指令系统中用于访问 I/O 端口的那一类指令。
- 范围:属于 4.1.5 四类指令之一;统一编址时可以完全没有这类指令。
通道指令
- 是:通道的指令,构成通道程序,由通道取指执行。
- 不是:不属于 CPU 指令系统。
- 易混:↔ I/O 指令。CPU 用一条 I/O 指令启动通道,通道再执行一串通道指令——两层。
7.1.2 外部设备
外部设备
- 是:主机之外、通过 I/O 接口与主机交换信息的设备。
- 范围:分输入设备 / 输出设备 / 外存三类,不是两类。
外存储器
- 是:既能输入又能输出的存储设备(磁盘、SSD、光盘、磁带)。
- 范围:在第 3 章是”存储层次的最外层”,在第 7 章是”外设”——同一个东西的两个视角。
编码键盘
- 是:由硬件编码电路产生键码的键盘。
- 易混:↔ 非编码键盘(软件行列扫描产生键码)。
- 不是:“非编码”不等于不产生键码。
分辨率
- 是:屏幕的像素数,
。 - 范围:与 VRAM 容量、显示带宽都成正比。
灰度级 / 色深
- 是:灰度级是颜色的种数,色深是每像素的位数。
- 换算:
。 - 范围:题目给”256 色”时,代入公式的是 8,不是 256。本节第一失分点。
刷新存储器(VRAM / 显存)
- 是:存放一整屏图像的存储器。
- 公式:
(B)。 - 范围:算出的是”至少需要多少”;实际显存更大(双缓冲等)。
显示带宽
- 是:每秒从 VRAM 送出的数据量。
- 公式:
。 - 范围:就是”单帧容量 × 帧频”,不是独立公式。
击打式 / 非击打式打印机
- 是:有无机械部件撞击纸面。
- 范围:只有击打式(针式)能打多层复写纸;激光、喷墨都是非击打。
点阵式 / 活字式
- 是:字符是点拼出来的还是整体压上去的。
- 易混:与”击打/非击打”是两个独立维度——针式既是击打式又是点阵式。
7.1.3 I/O 控制方式
程序查询方式
- 是:CPU 反复读状态端口,直到设备就绪再传送。
- 范围:CPU 忙等,数据经 CPU 寄存器。
程序中断方式
- 是:设备就绪后主动发中断,CPU 在中断服务程序里传送。
- 不是:不能认为数据不经过 CPU。
- 范围:解决”不用干等”,没有解决”CPU 要亲自搬”。
DMA 方式
- 是:由 DMA 控制器在设备与主存之间直接成块传送。
- 范围:全章唯一一种数据不经 CPU 寄存器的方式。
通道方式
- 是:由具有自己指令系统的通道执行通道程序,控制一组 I/O 操作。
- 易混:↔ DMA。判据是”能不能组织一串操作”——DMA 一次只管一个块。
- 范围:408 只作了解,但”通道指令不属于 CPU 指令系统”可直接考。
CPU 干预频率
- 是:CPU 每传送多少数据需要介入一次。
- 范围:查询(全程)> 中断(每字)> DMA(每块)> 通道(每组块),严格递减。
数据流路径
- 是:数据从设备到主存实际走过的通路。
- 范围:查询和中断都是 设备→CPU 寄存器→主存;只有 DMA 是 设备→主存。
7.2.1 I/O 接口的功能
I/O 接口
- 是:连接主机与外设的硬件电路模块,两侧协议不同。
- 不是:不是机箱上的插孔,不是软件 API,不是驱动程序。
- 易混:↔ I/O 端口(差一个层级,见 7.2.4)。
- 别名:设备控制器、I/O 控制器——三个词一个东西。
设备控制器
- 是:I/O 接口的别名,OS 教材的常用叫法(OS 5.1.4)。
数据缓冲(接口的)
- 是:接口内的寄存器暂存数据,吸收主机侧与设备侧的速率差。
- 易混:↔ OS 的缓冲区(在主存里,由软件管)。两者串联使用,不是二选一。
设备选择(地址译码)
- 是:接口用高位地址判断”是不是叫我”,用低位地址选内部端口。
- 范围:未被选中的接口必须把数据线置为高阻——这也是一个动作。
命令字
- 是:CPU 写入控制端口的一个二进制数,由接口译码成设备控制时序。
- 范围:通过数据线传送,不走控制线。
状态字
- 是:接口报告设备情况的一个二进制数(忙/就绪/出错)。
- 范围:同样通过数据线传送。
7.2.2 I/O 接口的基本结构
数据缓冲寄存器 DBR
- 是:暂存一次传送数据的寄存器,即数据端口。
- 范围:CPU 可读可写。
状态寄存器
- 是:存放设备状态位的寄存器,即状态端口。
- 范围:CPU 只读(个别位有”写 1 清零”副作用,题目会说明)。
控制寄存器
- 是:存放命令字的寄存器,即控制端口。
- 范围:CPU 只写。
工作触发器
- 是:置 1 表示设备正在工作。
- 范围:与
组合共三种有效状态, 不出现。
完成触发器
- 是:置 1 表示设备已完成本次操作。
- 范围:查询方式查的是它,中断请求的源头也是它。
中断请求触发器 INTR
- 是:记录”该设备确实提出过中断请求”的触发器,在接口里。
- 不是:不受屏蔽影响——屏蔽只挡住它往外发。
- 范围:屏蔽期间请求挂起在这里,不会丢失。
中断屏蔽触发器 MASK
- 是:决定 INTR 能否传到 CPU 的触发器,由软件写入。
- 范围:5.5.3 中断屏蔽字的每一位,物理上就是某个接口里的 MASK。
- 易混:↔ CPU 里的总中断允许位 IF/EI。层级不同:MASK 管单个中断源,IF 管全部。
中断请求的四道关卡
- 是:
。 - 范围:任一道不通,中断都发生不了。
7.2.3 I/O 接口的类型
串行接口
- 是:接口与外设之间一次传 1 位的接口。
- 不是:主机侧仍是并行的——CPU 一次读一个字。
- 范围:接口内部用移位寄存器做串并转换,本节第一失分点。
并行接口
- 是:接口与外设之间一次传多位。
- 范围:“并行一定比串行快”是错的,理由同 6.1.2。
可编程接口
- 是:工作方式可由 CPU 写入的命令字改变的接口(8255、8251)。
- 不是:不是”接口里能跑程序”。
通用接口 / 专用接口
- 是:能连多种设备 / 为某类设备定制。
- 范围:与”可编程”是两个独立维度——专用接口也可以可编程。
四个分类维度
- 是:数据传送方式 / 主机访问方式 / 可编程性 / 通用性。
- 范围:相互独立,不能用一个维度的取值推另一个。与 6.1.2 同一种题型。
7.2.4 I/O 端口及其编址
I/O 端口
- 是:I/O 接口中可被 CPU 寻址的寄存器。
- 不是:不是机箱上的插孔;与计网的”端口号”毫无关系(术语撞车)。
- 易混:↔ I/O 接口。接口是电路,端口是电路里被编了号的寄存器,差一个层级。
- 范围:被编址的对象是端口,不是接口、不是设备。
数据端口 / 状态端口 / 控制端口
- 是:三类端口,分别可读写 / 只读 / 只写。
- 范围:状态端口与控制端口常共用一个地址——读为状态,写为控制。所以”3 个端口占 3 个地址”是错的。
统一编址(存储器映射 I/O,MMIO)
- 是:I/O 端口与主存单元共用一个地址空间。
- 范围:用普通访存指令访问;占用主存地址空间;寻址方式丰富;不需要 I/O 指令。
- 不是:不是”数据先存到主存再访问”——是地址译码把访问路由到接口。
独立编址(I/O 映射方式)
- 是:I/O 端口有独立的地址空间。
- 范围:用
IN/OUT等专用 I/O 指令;不占主存空间;寻址方式少;端口地址与主存地址在数值上可以相同。
控制信号
- 是:独立编址下用于区分”本次访问主存还是 I/O”的控制线。
- 范围:独立编址的代价不是多一组地址线,而是多一根控制线加一套 I/O 指令。
7.3.1 程序查询方式
忙等(busy waiting)
- 是:CPU 在循环里反复查状态,直到条件成立。
- 不是:不是阻塞。忙等期间进程是运行态,一直占着 CPU。
- 易混:↔ 阻塞(让出 CPU,由中断唤醒)。两个词都带”等”,一个占着 CPU 等,一个让出 CPU 等。
独占查询
- 是:设备没就绪时 CPU 原地死循环。
- 范围:CPU 利用率为 0,但实时性最好。做题时”程序查询方式”不加限定默认按它算。
定时查询(周期性查询)
- 是:查一次没就绪就去干别的,过一段时间再来查。
- 范围:查询周期必须由程序员事先定死——太长丢数据,太短接近独占。这正是中断要解决的问题。
查询方式的 CPU 占用率
- 公式:
。 - 范围:算的是传送本身的开销。独占查询下 CPU 实际是 100% 被占的——两个数字回答两个不同的问题。
7.3.2 程序中断方式
中断识别
- 是:确定”是哪个中断源发的中断”,从而找到服务程序入口。
- 范围:发生在中断隐指令的第三步里,哪怕只有一个中断源也要做。
向量中断
- 是:硬件给出中断类型号,查中断向量表直接得到服务程序入口。
- 范围:每个中断源有各自的服务程序;速度快;优先级由判优电路硬连线决定,软件不能改。
非向量中断(查询中断)
- 是:转入一个公共服务程序,由软件逐个查各接口状态位来确定中断源。
- 不是:不等于退化成程序查询方式——只在识别这一步查,等待仍由设备通知。
- 范围:优先级由查询顺序决定,改代码就能改。
- 易混:两套叫法。「非向量」从结果说,「查询」从手段说,是同一个二分。
中断隐指令
- 是:CPU 响应中断时由硬件自动完成的一组操作:①关中断 ②保存断点 ③引出中断服务程序。
- 不是:没有操作码、不在主存里、程序员写不出来。“指令”只是借来的说法。
- 不负责:不保护现场、不判优、不返回。
- 范围:它是硬件与软件的交接点——它之前全是硬件,它之后进入软件。
保存断点
- 是:把 PC 和 PSW 保存起来。
- 谁做:硬件(中断隐指令第二步)。
- 范围:不能省;由
IRET恢复。
保护现场
- 是:把通用寄存器压栈。
- 谁做:软件(中断服务程序第一段)。
- 易混:↔ 保存断点。分界线是”马上会被覆盖的硬件立刻存,可能会被覆盖的交给软件按需存”。
- 范围:可以只保存服务程序会用到的那些。
中断服务程序的四段
- 是:①保护现场 ②中断服务 ③恢复现场 ④中断返回。
- 范围:开中断必须在①之后,关中断必须在③之前——这就是嵌套的位置条件。
中断判优
- 是:多个中断源同时请求时选出一个。
- 易混:↔ 中断识别。判优问”先响应谁”(响应之前),识别问”这个是谁”(响应之后)。
- 范围:三种方式见 5.5.3。
中断方式的 CPU 占用率
- 公式:
, 为一次中断的完整开销。 - 范围:开销与传送次数成正比——增大每次传送量
是唯一的软件解法,硬件解法就是 DMA。
7.3.3 DMA 方式
DMA 控制器 DMAC
- 是:在设备与主存之间直接搬运数据的专用控制器。
- 范围:双重身份——被 CPU 配置时是从设备,传送数据时是主设备。
- 判据:主/从看谁发地址(6.1.1)。
主存地址寄存器 AR
- 是:存放下一次读写的主存地址。
- 范围:CPU 在预处理阶段写入初值;每传一个字
。
字计数器 WC
- 是:记录还剩多少字未传。
- 范围:每传一个字
; 时发中断。有的教材从 加到 0 用溢出判结束。
停止 CPU 访存
- 是:DMA 取得总线后连续传完整块才归还。
- 范围:切换开销最小、DMA 吞吐最高,但 CPU 停顿最长。
周期挪用(周期窃取)
- 是:DMA 每次只占用一个存取周期传一个字,随即归还。
- 不是:窃的不是 CPU 指令周期,也不是 CPU 的运算能力。
- 范围:三种情形——CPU 不访存则无冲突;CPU 正访存则等它结束;同时要访存则 DMA 优先(数据会丢)。
DMA 与 CPU 交替访存
- 是:把一个 CPU 周期预先硬连线切成两半,各用各的。
- 范围:不需要申请和归还总线,因而无切换开销;代价是硬件最复杂。
DMA 三阶段
- 是:预处理(CPU)→ 数据传送(DMAC)→ 后处理(CPU,在中断服务程序里)。
- 范围:“DMA 不需要 CPU”只在中间一段成立。
DMA 请求 HRQ / 总线响应 HLDA
- 是:DMAC 申请总线控制权的握手信号对。
- 易混:↔ 中断请求 INT。HRQ 只借总线、不保存断点、不改变 CPU 现场、响应粒度是总线周期;INT 要暂停程序、要保存断点、响应粒度是指令。
- 范围:DMA 请求的优先级高于中断请求——数据会丢,中断可以等。
DMA 结束中断
- 是:整块传完后 DMAC 向 CPU 发的中断。
- 范围:目的不是传数据,而是做后处理;频率是每块一次。
DMA 引起的 Cache 一致性问题
- 是:DMA 绕过 CPU 私有 Cache 直接读写主存造成的新旧数据不一致。
- 范围:两个方向各有一个故障——DMA 读可能读到旧值(新值还在 Cache),DMA 写可能让 CPU 读到旧值(Cache 里有旧副本)。
- 解法:不可缓存 / 软件 flush+invalidate / 总线侦听(与 3.5.5 同一套机制)。
DMA 的两种”占用率”
- 是:
是 CPU 执行指令的开销; 是 DMA 抢走的总线时间。总 线 - 范围:两个数字要分开答,前者可能只有 0.01% 而后者有 20%。
高频范围限定清单
每一条都是”说法 → 它在什么条件下才成立 / 为什么错”。考前扫这一张表。
| 常见说法 | 范围限定 |
|---|---|
| ”CPU 直接访问外部设备” | 错。只能访问接口中的端口 |
| ”CPU 访问 I/O 接口” | 不准确。访问的是接口中的端口 |
| ”输入设备和输出设备把外设分完了” | 错。外存是第三类 |
| ”CPU 写主存属于输出” | 错。不跨主机边界就不是 I/O |
| ”通道指令属于 CPU 指令系统” | 错。通道有自己的指令系统 |
| ”I/O 指令属于 CPU 指令系统” | 对。属 4.1.5 四类之一 |
| ”256 色的色深是 256 位” | 错。是 8 位, |
| “显示带宽与刷新率无关” | 错。带宽 = 单帧容量 × 帧频 |
| ”非编码键盘不产生键码” | 错。由软件扫描产生 |
| ”激光打印机是击打式” | 错。非击打,电子照相 |
| ”针式打印机已被淘汰” | 错。多层复写纸不可替代 |
”7.1 带 * 所以不考” | 错。不出计算大题,概念判断题照出 |
| ”中断方式下数据不经过 CPU” | 错。仍由 CPU 在服务程序里搬 |
| ”DMA 完全不需要 CPU” | 错。预处理和后处理都是 CPU 做 |
| ”DMA 传送不产生中断” | 错。块传完后要中断做后处理 |
| ”中断响应比 DMA 响应更及时” | 反了。中断等指令结束,DMA 等总线周期结束 |
| ”程序中断方式提高了数据传输率” | 错。提高的是 CPU 利用率 |
| ”I/O 接口和设备控制器是两个东西” | 错。同一块硬件的两个名字 |
| ”I/O 接口就是机箱后面的插座” | 错。那是物理连接器 |
| ”设备驱动程序是接口的一部分” | 错。驱动是软件 |
| ”有了接口缓冲就不需要 OS 缓冲区” | 错。层次不同,串联使用 |
| ”没被选中的接口什么都不用做” | 错。必须把数据线置为高阻 |
| ”控制字通过控制线传送” | 错。通过数据线传到控制寄存器 |
| ”状态寄存器 CPU 可读可写” | 错。一般只读 |
| ” | 矛盾状态,不会出现 |
| ”被屏蔽的中断请求会被丢弃” | 错。挂起在 INTR 里 |
| ”中断屏蔽触发器在 CPU 里” | 错。分布在各接口里;CPU 里的是总中断允许位 |
| ”接口能发中断请求所以是主设备” | 错。判据是谁发地址 |
| ”串行接口与 CPU 之间也是一位一位传” | 错。主机侧永远并行 |
| ”并行接口一定比串行快” | 错。同 6.1.2 |
| ”支持 DMA 的接口不能用中断方式” | 错。接口能力是上限,方式由软件选 |
| ”可编程接口内部运行程序” | 错。是工作方式可由命令字设定 |
| ”通用接口都可编程,专用接口都不可” | 错。两个维度独立 |
| ”I/O 端口就是机箱上的插孔” | 错。端口是寄存器 |
| ”I/O 端口和计网端口号是一回事” | 错。术语撞车,毫无关系 |
| ”被编址的是外部设备” | 错。被编址的是端口 |
| ”一个接口只能有一个端口” | 错。通常至少三个 |
| ”3 个端口就占 3 个地址” | 错。状态与控制可共用一个地址 |
| ”独立编址下端口地址不能与主存地址相同” | 错。两个空间,可以相同 |
| ”统一编址的 I/O 访问速度更快” | 错。与编址方式无关 |
| ”统一编址占用主存地址空间” | 对。这正是它的主要代价 |
| ”查询方式下进程处于阻塞态” | 错。是运行态 |
| ”定时查询没有忙等了” | 不准确。次数变少,每次仍是忙等 |
| ”查询方式实时性最差” | 错。独占查询实时性最好,差的是 CPU 利用率 |
| ”算出占用率 4‰ 说明 CPU 空闲” | 错。独占查询下 CPU 是 100% 被占的 |
| ”中断隐指令负责保护现场” | 错。它只保存断点(PC、PSW) |
| “保护现场由硬件完成” | 错。软件,服务程序第一段 |
| ”只有一个中断源就不需要识别” | 错。识别与判优是两回事 |
| ”非向量中断退化成程序查询方式” | 错。只在识别这一步查 |
| ”向量中断的优先级可由软件修改” | 错。判优电路硬连线;非向量中断才能改 |
| ”中断向量地址就是服务程序入口” | 错。它是向量表里那一项的地址,差一次访存 |
| ”服务程序里先开中断再保护现场” | 反了。先保护现场,再开中断 |
| ”DMA 控制器始终是从设备” | 错。传送期间是主设备 |
| ”周期窃取窃的是 CPU 指令周期” | 错。是存取周期 / 总线周期 |
| ”DMA 期间 CPU 完全停止” | 错。只有”停止 CPU 访存”接近如此 |
| ”交替访存需要申请总线” | 错。预先硬连线分时,无握手 |
| ”DMA 数据要先送到 CPU 寄存器” | 错。直接进主存,这是定义性特征 |
| ”中断请求优先级高于 DMA 请求” | 反了。DMA 优先,因为数据会丢 |
| ”DMA 方式下 CPU 与外设完全并行” | 不准确。逻辑上并行,争总线时仍有冲突 |
链接
- 🏠 本章总览:计算机组成原理第 7 章:输入/输出系统总览
- 📜 原始提问档案:第 7 章 原始提问档案(本地资料)
- 📚 权威节号:王道 2026 教材目录
- 🔑 中断机制在第 5 章:第 5 章名词库
- 🔗 总线在第 6 章:第 6 章名词库