总线是计算机各部件之间传输信息的公共通道。总线仲裁解决多个设备同时请求使用总线时的竞争问题。
| 类型 | 说明 | 特点 |
|---|---|---|
| 串行总线 | 一次传 1 位 | 线少,速度慢,距离远 |
| 并行总线 | 一次传多位 | 线多,速度快,距离受限 |
| 总线 | 功能 | 典型信号 |
|---|---|---|
| 数据总线 | 传输数据 | D0-D31 |
| 地址总线 | 传输地址 | A0-A31 |
| 控制总线 | 传输控制信号 | R/W, IRQ, CLK |
| 总线 | 连接 | 速度 |
|---|---|---|
| CPU 内部总线 | CPU 内部部件 | 最快 |
| 系统总线 | CPU-内存-I/O 桥 | 快 |
| I/O 总线 | I/O 设备-I/O 桥 | 较慢 |
| 扩展总线 | 扩展设备 | 慢 |
总线带宽 = 数据宽度 × 总线频率 / 传输周期数 例:32 位总线,频率 100MHz,每传输需 1 个周期 带宽 = 32bit × 100MHz = 3200Mb/s = 400MB/s 例:64 位总线,频率 200MHz,每传输需 2 个周期 带宽 = 64bit × 200MHz / 2 = 6400Mb/s = 800MB/s
设备0 → 设备1 → … → 设备n,总线授权信号 BG 沿链传递:设备发 BR;仲裁器发 BG;BG 沿链传递直到遇到第一个有请求的设备;该设备获得总线并置 BS。
设备发 BR;仲裁器计数(0,1,2,…);计数值通过设备地址线广播;设备检查是否匹配且请求 → 获得总线。
每设备独立的请求线与授权线:设备0 ─BR0→ 仲裁器 ─BG0→ 设备0……仲裁器同时收到所有请求,立即决定。
| 方式 | 优先级 | 速度 | 线数 | 故障敏感 | 灵活性 |
|---|---|---|---|---|---|
| 链式查询 | 固定 | 慢 | 少 | 高 | 低 |
| 计数器查询 | 灵活 | 中 | 中 | 低 | 高 |
| 独立请求 | 灵活 | 快 | 多 | 低 | 高 |
工作原理: 1. 每个设备有唯一仲裁号 2. 设备将仲裁号发到总线上 3. 各设备比较仲裁号 4. 仲裁号最大的设备获胜 5. 其他设备退出竞争 (并行竞争仲裁:高位优先,逐位比较,类似锦标赛排序)
所有操作由统一时钟信号控制,操作在固定的时钟周期内完成。
无统一时钟,用握手信号协调(请求-应答方式)。
结合同步和异步:正常操作同步,等待时插入等待周期。
| 标准 | 类型 | 应用 |
|---|---|---|
| PCI | 并行 | 扩展卡 |
| PCIe | 串行 | 显卡、SSD |
| USB | 串行 | 外设 |
| SATA | 串行 | 硬盘 |
| DDR | 并行 | 内存 |
↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。