第八章 总线与输入输出系统 考点总结
本章地位:第八章主要介绍计算机系统中总线的工作原理和I/O系统的组织方式,是理解计算机整体架构的重要章节。
📌 一、总线系统(8.1)
1. 总线的基本概念
- 定义:一组能为多个部件分时共享的公共信息传送线路
- 共享:多个部件挂接
- 分时:同一时刻只能传输一个部件发送的信息
- 总线事务:
- 主设备 (Master):发出请求,获得总线控制权(如CPU)
- 从设备 (Slave):被动响应(如主存)
- 阶段:地址阶段 + 数据阶段
2. 总线带宽计算(计算题考点)
公式:$$B = W \times \frac{F}{N}$$
- B:总线带宽(最大数据传输率,单位:B/s)
- W:数据总线宽度(通常以字节为单位,如32位=4字节)
- F:总线时钟频率(单位:Hz)
- N:完成一次数据传送所需的时钟周期数
注意:
- 单位换算要统一(MHz → Hz,MB/s → B/s)
- W通常以字节为单位,如果题目给的是位数,需要除以8
3. 总线定时控制
- 同步定时:统一时钟,固定时间间隔,速度快但缺乏灵活性
- 异步定时:无统一时钟,依靠握手信号,灵活但控制复杂
4. 总线仲裁方式(三种方式对比)
| 方式 | 链式查询 | 计数器定时查询 | 独立请求 |
|---|---|---|---|
| 连线 | 3根 (BS, BR, BG) | ||
| 优先级 | 固定(离控制器越近优先级越高) | 可变(取决于计数器初值) | 高度灵活 |
| 优点 | 结构简单,扩充容易 | 优先级可设 | 响应速度最快 |
| 缺点 | 对电路故障敏感;低优先级可能饿死 | 线数稍多,控制稍繁 | 线数多,硬件成本高 |
📌 二、外部设备(8.2)
1. 硬盘存储器(计算题高频点)
存取时间公式:$$T_a = T_s + T_w + T_t$$
(寻道时间):磁头移动到目标磁道的时间(取平均值) (旋转延迟):扇区转到磁头下的时间(通常取旋转一周时间的一半) - 旋转一周时间 =
(秒) - 平均旋转延迟 =
(秒)
- 旋转一周时间 =
(传输时间):读写数据的时间(通常忽略不计)
2. 显示设备
VRAM (显存) 容量计算:$$\text{VRAM容量} = \text{分辨率} \times \text{颜色深度}$$
- 颜色深度:
(单位:位) - 常见值:256种颜色 = 8位(1字节),真彩色 = 24位(3字节)
📌 三、主机与外设的连接(8.3)
1. 为什么需要接口?
- 根本原因:速度不匹配(主机高速,外设低速)
- 解决办法:插入接口作为缓冲和转换的中介
2. 接口的功能(5点)
- 数据缓冲:解决速度差异
- 格式转换:串行
并行 - 地址译码与设备选择
- 通信联络控制:处理握手信号
- 传送命令与状态
3. 接口 vs 端口
- 接口:整个电路板或芯片
- 端口:接口中可被CPU直接访问的寄存器
- 数据端口:双向,读/写
- 命令/控制端口:只写(CPU → 外设)
- 状态端口:只读(外设 → CPU)
4. I/O端口的编址方式(高频考点)
| 特性 | 独立编址 | 统一编址 |
|---|---|---|
| 定义 | I/O地址空间与主存地址空间相互独立 | I/O端口作为主存地址空间的一部分 |
| 指令 | 需要专用I/O指令(IN, OUT) | 使用访存指令(MOV, LOAD) |
| 优点 | 程序清晰,不占用内存空间 | 指令丰富灵活,控制信号少 |
| 缺点 | 指令功能弱,控制逻辑复杂 | 占用内存空间,程序不易区分 |
| 典型例子 | Intel 80x86 | ARM、MIPS架构 |
📌 四、输入输出信息传送控制方式(8.4)
1. 程序查询方式
- 基本思想:CPU不断查询外设状态,直到就绪
- 特点:简单但效率极低,CPU与外设串行工作
2. 程序中断方式(重点)
- 基本思想:CPU启动外设后继续工作,外设准备好后发中断请求
- 特点:实现部分并行,但数据传输仍由软件完成
- 响应时机:一条指令执行结束后
3. DMA方式(重点、难点)
- 基本思想:数据在外设与主存之间直接传送,由DMA控制器控制
- 适用场景:高速、批量数据传输
- 响应时机:每个**机器周期(存取周期)**结束时
- 三种传送方式:
- CPU停止访问主存法
- 周期挪用(窃取)法
- 交替分时访问法
4. 通道控制方式
- 定义:通道是具有特殊功能的处理器(小CPU)
- 层级:CPU → 通道 → 控制器 → 设备
⚖️ 核心考点:中断 vs DMA 的区别(必背表格)
| 比较维度 | 程序中断方式 | DMA方式 |
|---|---|---|
| 数据传送控制者 | 软件 (CPU执行中断服务程序) | 硬件 (DMA控制器) |
| CPU响应时机 | 指令执行结束时 | 机器周期结束时 |
| CPU干扰程度 | 高 (需要保护现场、恢复现场) | 低 (仅需让出总线) |
| 并行程度 | 较好 (准备阶段并行,传送阶段串行) | 极高 (全程并行) |
| 适用场景 | 中低速外设、处理异常/紧急事件 | 高速外设、成组数据传输 |
| 优先级 | 优先级低 | 优先级高 |
📌 五、中断系统(8.5)
1. 中断请求与判优
- 中断源:引起中断的事件,每个中断源有中断请求标记触发器(INTR)
- 判优方式:
- 硬件判优:速度快,优先级固定
- 软件判优:速度慢,优先级可改
- 优先级原则:硬件故障 > 软件中断,非屏蔽中断 > 可屏蔽中断,DMA > I/O中断
2. 中断响应(核心流程)
响应条件(三个条件缺一不可):
- 有中断请求信号
- CPU处于开中断状态(EINT/IF = 1)
- 一条指令执行完毕
中断隐指令 (Interrupt Implicit Instruction) —— 必考概念
- 定义:CPU响应中断后,由硬件自动完成的一系列操作
- 功能(三大步):
- 关中断:防止新的中断打断保护现场操作
- 保存断点:将PC的内容压入堆栈
- 引出中断服务程序:获取入口地址,送入PC
3. 中断向量
- 向量中断:硬件直接产生向量地址,指向中断向量表
- 区别:向量地址(指针)→ 查表 → 入口地址(实际地址)
4. 中断处理过程(软件完成)
- 保护现场:使用
PUSH指令保存通用寄存器和PSW(注意:PC由隐指令保存) - 中断服务:执行具体功能
- 恢复现场与返回:
POP恢复寄存器,开中断,IRET返回
5. 多重中断与中断屏蔽(计算/分析题重点)
- 单重 vs 多重:
- 单重:处理中断时不响应新中断
- 多重(嵌套):允许高优先级中断打断低优先级中断
- 实现条件:中断服务程序中必须提前开中断(在保护现场之后)
- 中断屏蔽技术:
- 屏蔽字 (Mask Word):每一位对应一个中断源,1表示屏蔽,0表示开放
- 重要结论:
- 响应优先级:由硬件决定,固定
- 处理优先级:可通过设置屏蔽字改变,可变
- 做题技巧:
- 屏蔽字中,自己总是屏蔽自己(位置1)
- 想让谁比自己高(能打断自己),对应位填0
- 想让谁比自己低(不能打断自己),对应位填1
📌 六、DMA的实现(8.6)
1. DMA的基本概念
- 定义:Direct Memory Access,直接内存访问
- 特点:数据在I/O设备与内存之间直接传输,不需要CPU参与
2. DMA vs 中断方式(对比考点)
| 对比项 | 中断方式 | DMA方式 |
|---|---|---|
| 响应时机 | 指令执行结束后 | 一个总线周期结束后 |
| 控制者 | CPU | DMAC(DMA控制器) |
| 数据传送 | CPU参与(通过寄存器) | 直接在主存与外设之间 |
| 适用场景 | 低速设备、少量数据 | 高速设备、大量数据 |
| CPU负担 | 较重(需要执行中断服务程序) | 较轻(只需预处理和后处理) |
3. DMA传送的三大阶段(全过程考点)
阶段1:预处理(CPU控制)
- CPU向DMAC写入:
- 传输方向
- 主存起始地址
- 传输字数
阶段2:数据传送(DMAC控制)
- 握手信号流程(必背顺序):
- 外设 → DMAC:DREQ(DMA请求)
- DMAC → CPU:HRQ(总线请求)
- CPU → DMAC:HLDA(总线响应)
- DMAC → 外设:DACK(DMA确认)
- DMAC:发出读写信号,数据直接传送
阶段3:后处理(CPU控制)
- DMAC向CPU发送中断请求
- CPU检查传输结果
4. DMA控制器的组成
- 主存地址计数器 (MAR):存放主存地址,每传一个数据自动+1
- 传送长度计数器 (WC):记录剩余传输字数,每传一个数据自动-1
- 数据缓冲寄存器 (DB):暂存数据
- DMA请求触发器:记录外设请求
📌 七、通道处理机(8.7)
1. 基本概念
- 定义:通道是一个具有特殊功能的处理器(CPU的"管家")
- 层级结构:CPU → 通道 → I/O控制器 → 外设
- 通道程序:由通道指令(CCW)组成,存放在主存中
2. 三种通道类型(对比考点)
| 通道类型 | 字节多路通道 | 选择通道 | 数组多路通道 |
|---|---|---|---|
| 连接设备 | 大量低速设备 | 高速设备 | 多台高速设备 |
| 工作方式 | 字节交叉 | 独占 | 块交叉 |
| 特点 | 共享通道,效率高 | 传输率高,利用率低 | 现代主流,效率最高 |
| 应用 | 键盘、打印机 | 磁盘、磁带 | 多台高速存储设备 |
✅ 第八章 考点终极总结
本章虽然篇幅长,但考试(无论是期末还是408考研)的重点非常集中:
1. 计算题
- 总线带宽(8.1):
(注意单位换算) - 磁盘存取时间(8.2):
(特别注意旋转延迟计算) - 显存容量(8.2):分辨率 × 颜色深度
2. 概念辨析题(选择/填空)
- 总线仲裁:链式查询 vs 计数器查询 vs 独立请求(连线数、优先级、优缺点)
- 编址方式:独立编址(
IN/OUT指令) vs 统一编址(访存指令) - I/O控制方式:程序查询 vs 程序中断 vs DMA vs 通道
- 通道类型:字节多路 vs 选择通道 vs 数组多路
3. 简答/分析大题
- 中断 vs DMA:必背对比表格(控制者、响应时机、适用场景)
- 中断全流程:
- 隐指令干了什么?(关中断、保存断点、引出服务程序)
- 现场保护是谁做的?(PC由硬件/隐指令保存,寄存器由软件保存)
- 中断屏蔽:给优先级,改屏蔽字,画处理顺序图(响应优先级 vs 处理优先级)
- DMA三大阶段:预处理(CPU控制)→ 数据传送(DMAC控制,5个握手信号)→ 后处理(CPU控制)
💡 最后提醒
学会"抓大放小",区分哪些是需要"死记硬背"的,哪些是只需要"看懂逻辑"的。
- 必须死记硬背:
- 总线带宽公式:
- 磁盘存取时间公式:
- 显存容量公式:分辨率 × 颜色深度
- DMA握手信号流程(5个步骤:DREQ → HRQ → HLDA → DACK → 数据传送)
- 中断隐指令的三大功能(关中断、保存断点、引出服务程序)
- 三种通道类型的对比表格
- 中断 vs DMA的对比表格
- 独立编址 vs 统一编址的对比表格
- 总线带宽公式:
- 必须理解掌握:
- 中断处理的全过程(硬件隐指令 + 软件服务程序)
- 中断屏蔽技术(如何通过屏蔽字改变处理优先级)
- DMA的三大阶段及控制权转移(CPU → DMAC → CPU)
- 三种总线仲裁方式的优缺点
- 接口的五大功能
- 只需懂原理:
- 通道程序的执行细节
- 具体I/O接口芯片的内部结构
- 总线定时控制的电路实现
祝考试顺利! 🎯