总线定时定义了总线上各信号之间的时序关系,确保数据正确传输。总线标准规范了各厂商产品的互连方式。
| 项目 | 值 |
|---|---|
| 同步 | 统一时钟,简单快速,灵活性差 |
| 异步 | 握手协议(请求-应答),灵活 |
| 半同步 | 同步 + 等待信号 |
所有信号由公共时钟同步
事件在时钟边沿触发
时钟: __|‾‾|__|‾‾|__|‾‾|__|‾‾|__
T1 T2 T3 T4
地址: | 有效地址 |
数据: | 有效数据 |
控制: | 读命令 |
Tsetup:建立时间(数据必须在时钟沿前稳定的最短时间)
Thold:保持时间(数据必须在时钟沿后保持的最短时间)
Tpropagation:传播延迟
无公共时钟,用握手信号协调
主从设备通过请求-应答通信
主设备 从设备
│ │
│──地址/命令──→ │ (主设备发出请求)
│ │──→ (从设备处理)
│←─────应答───────│ (从设备返回应答)
│←─────数据───────│ (数据传输)
│ │
非互锁(Non-interlocked)
主设备发请求 → 固定时间后撤消
从设备在固定时间内响应
问题:如果从设备慢,可能错过请求
半互锁(Semi-interlocked)
主设备发请求 → 等从设备应答后撤消
从设备应答 → 固定时间后撤消
问题:主设备可能在从设备撤消应答前再次发请求
全互锁(Fully interlocked)⭐
主设备发请求 → 等从设备应答后撤消请求
从设备检测到请求撤消后才撤消应答
主设备检测到应答撤消后才能再次发请求
最可靠!
基于时钟,但可插入等待周期
正常:时钟周期内完成
等待:从设备发Wait信号,延长传输
时钟: __|‾‾|__|‾‾|__|‾‾|__|‾‾|__
地址: | 有效地址 |
数据: | 等待 | 有效数据 |
Wait: |‾‾‾‾‾‾‾‾|
将一次完整的总线事务分为两个阶段:
1. 请求阶段:主设备发请求,从设备记录后释放总线
2. 响应阶段:从设备准备好数据后,申请总线发响应
好处:总线在两个阶段之间可被其他设备使用
WAIT;分离事务 = 把一次事务拆成两段,中间把总线让出去。- 32/64位并行总线
- 频率33/66MHz
- 即插即用(PnP)
- 支持突发传输
- 支持分离事务
- 共享总线架构
32位@33MHz: 132 MB/s
64位@66MHz: 528 MB/s
- 串行点对点连接
- 全双工通信
- 通道可聚合(x1, x4, x8, x16)
- 向下兼容PCI
- 分层架构:物理层、数据链路层、事务层
PCIe 1.0: 250 MB/s
PCIe 2.0: 500 MB/s
PCIe 3.0: 984.6 MB/s
PCIe 4.0: 1969.2 MB/s
PCIe 5.0: 3938.4 MB/s
PCIe 6.0: 7877 MB/s
例:PCIe x16 3.0 = 16 × 984.6 ≈ 15.75 GB/s
| 特性 | PCI | PCIe |
|---|---|---|
| 传输方式 | 并行 | 串行 |
| 拓扑 | 共享总线 | 点对点 |
| 全双工 | 否 | 是 |
| 带宽 | 受限 | 高且可扩展 |
| 延迟 | 较高 | 较低 |
- 串行接口
- 支持热插拔
- 即插即用
- 可供电(5V)
- 支持多种设备类型
USB 1.0: 1.5/12 Mbps(低速/全速)
USB 2.0: 480 Mbps(高速)
USB 3.0: 5 Gbps(超高速)
USB 3.1: 10 Gbps
USB 3.2: 20 Gbps
USB 4.0: 40 Gbps
主机控制器
│
├── 根集线器
│ ├── 设备1
│ ├── 集线器2
│ │ ├── 设备2
│ │ └── 设备3
│ └── 设备4
...
树形拓扑,一个主机控制器最多连127个设备
| 类型 | 特点 | 应用 |
|---|---|---|
| 控制传输 | 可靠,非周期 | 配置、命令 |
| 批量传输 | 可靠,非周期 | 打印机、存储 |
| 中断传输 | 可靠,周期 | 鼠标、键盘 |
| 等时传输 | 不可靠,周期 | 音视频 |
- 串行点对点
- 用于硬盘、SSD
- 支持热插拔
- 版本:SATA 1.0(1.5Gbps), 2.0(3Gbps), 3.0(6Gbps)
DDR: 200-400 MT/s
DDR2: 400-1066 MT/s
DDR3: 800-2133 MT/s
DDR4: 1600-3200 MT/s
DDR5: 3200-6400 MT/s
MT/s = Million Transfers per Second
DDR = 双倍速率(上升沿和下降沿都传输)
带宽 = 数据宽度 × 频率 × 每周期传输数
例:DDR4-3200, 64位
理论带宽 = 64bit × 3200MHz × 2(DDR) / 8 = 51200 MB/s = 51.2 GB/s
(双通道则翻倍)
用公式表达即:$\text{带宽} = \dfrac{W_{bit} \times f \times k}{8}$,其中 $W_{bit}$ 为数据宽度、$f$ 为频率、$k$ 为每周期传输次数(DDR 时 $k=2$)。
总延迟 = 仲裁延迟 + 传输延迟 + 等待延迟
即 $T_{total} = T_{arb} + T_{trans} + T_{wait}$。
★ 演示级:四种总线定时方式 —— 同步 / 异步 / 半同步 / 分离事务,逐步比对(自动联动上方波形预览)。
↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。