4.0 KiB
4.0 KiB
tags, create time
| tags | create time | ||||
|---|---|---|---|---|---|
|
2026-06-15 10:00 |
总线与 I/O 系统
概述
本文档讲解总线的基本概念、分离事务总线的工作原理,以及 I/O 系统的性能评价指标。总线是连接处理器、存储器和 I/O 设备的通信通道,其设计直接影响系统整体性能。
[!tip] 考试重点 分离事务总线的概念和别称常以选择题出现。I/O 系统性能评价指标需理解各维度的含义。
正文
一、总线基础
总线(Bus)是计算机系统中多个功能部件之间共享的通信通道,由一组导线和相关的控制逻辑组成。
1.1 总线分类
| 分类方式 | 类型 | 说明 |
|---|---|---|
| 按用途 | 数据总线、地址总线、控制总线 | 分别传输数据、地址、控制信号 |
| 按层次 | 系统总线、I/O 总线 | 系统总线连接 CPU 和主存,I/O 总线连接外设 |
| 按控制 | 同步总线、异步总线 | 同步靠时钟,异步靠握手信号 |
1.2 总线性能指标
- 总线带宽:单位时间内传输的数据量(MB/s)
- 总线宽度:数据线的位数(如 64 位)
- 总线频率:总线时钟频率(如 800 MHz)
二、分离事务总线
核心思想:将一个总线事务分成请求和响应两个阶段,在请求和响应之间的空闲时间内,总线可以供给其他 I/O 设备使用。
sequenceDiagram
participant C as CPU
participant B as Bus
participant M as Memory
C->>B: 请求阶段(发送地址+命令)
B->>M: 内存准备数据
Note over B: 总线空闲,可服务其他请求
M->>B: 响应阶段(返回数据)
B->>C: 数据到达
别称:
| 名称 | 说明 |
|---|---|
| 流水总线 | 因为请求和响应可以流水化 |
| 分离协议总线 | 因为协议将事务分离 |
| 交叉互连总线 | 不是分离事务总线的别称,是另一种总线拓扑 |
| 独占总线 | 不是分离事务总线的别称 |
[!note] 分离事务总线的优势 传统总线在一个事务完成前一直被占用,分离事务总线在等待内存响应时释放总线,允许多个设备并发使用,显著提高总线利用率。
三、I/O 系统性能
3.1 性能评价维度
| 维度 | 含义 | 衡量指标 |
|---|---|---|
| 连接特性 | 设备连接能力和带宽 | 设备数量、通道数 |
| 容量 | 存储空间大小 | TB、PB |
| 响应时间 | 从请求到完成的延迟 | ms、μs |
| 吞吐率 | 单位时间处理的 I/O 量 | IOPS、MB/s |
[!question] I/O 系统性能为什么重要? 随着处理器速度远超 I/O 设备速度,I/O 瓶颈日益突出。一个 I/O 操作可能耗时数毫秒,而 CPU 一个时钟周期仅数纳秒,巨大的速度差使得 I/O 系统可能成为整个系统的瓶颈。
3.2 I/O 系统的瓶颈问题
CPU 速度: ~GHz (纳秒级)
内存速度: ~100ns
磁盘速度: ~10ms (毫秒级)
速度差距达到 5~6 个数量级,因此:
- I/O 系统的性能对 CPU 利用率影响巨大
- I/O 和 CPU 的性能不匹配时,I/O 系统成为瓶颈
- 需要通过缓存、缓冲、异步 I/O 等技术缓解
四、DMA 与中断
| 方式 | 原理 | CPU 参与度 | 适用场景 |
|---|---|---|---|
| 程序查询 | CPU 轮询 I/O 状态 | 高 | 简单系统 |
| 中断 | I/O 完成后通知 CPU | 中 | 低速设备 |
| DMA | 直接内存访问,不经过 CPU | 低 | 高速设备 |
DMA 的工作流程:
- CPU 设置 DMA 传输参数(源地址、目的地址、传输长度)
- DMA 控制器接管总线,直接在设备和内存间传输数据
- 传输完成后,DMA 控制器向 CPU 发中断通知