--- title: "03-总线与接口:设备之间怎么说话" aliases: - 总线与接口 created: 2026-08-29 tags: - 基础与理论 - 计算机速览 --- # 总线与接口:设备之间怎么说话 > 开机剧本里,固件读磁盘、内核读内存、数据进显卡——它们凭什么能互相通信?这篇补上硬件线最后一块拼图:**总线**。看完再看主板,就不再是"一块绿板子",而是一张城市规划图。 ## 一、为什么需要总线 五大部件各自为政,如果想**任意两个部件都直连**:n 个部件要 n(n-1)/2 组线路,5 个部件就要 10 组,越加越乱——纯 n² 灾难。 工程师的解法和城市一样:**修公共道路**。所有部件挂到同一条"总线"(Bus)上,分时段使用。 一条总线其实包含三类线,各传各的信息: | 总线 | 传什么 | 类比 | | --- | --- | --- | | **数据总线** DB | 实际的数据 | 货车道 | | **地址总线** AB | 去哪读写(地址编号) | 门牌号 | | **控制总线** CB | 命令与时序(读/写/中断应答) | 交警手势 | > 💡 **地址总线的位宽 = 寻址能力**:32 位地址总线 → 2³² 个地址 × 1B = **4GB**——"32 位系统最多认 4G 内存"的出处就在这。64 位理论上是天文数字,实际机器用不满,只用 48 位左右。 ## 二、带宽账本:怎么换算一条总线快不快 一个公式走天下: ``` 带宽(B/s)≈ 频率 × 位宽 ÷ 8 ``` 例:PCIe 3.0 单通道 8 GT/s ≈ 每通道 1GB/s,×4 通道(NVMe 固态常用)≈ **3.9GB/s** 理论值。 学会这个,广告里的数字就都能自己换算——注意 **Gbps ÷ 8 才是 GB/s**,商家最爱在大小 b 上玩魔术。 ## 三、从南北桥到单芯片:主板上的权力更替 老主板上坐着两颗"交通枢纽"芯片: ``` CPU ── 北桥(离CPU近,管高速)── 内存 │ └── 显卡(PCIe) └─ 南桥(管低速)── USB / SATA / 网卡 / 声卡 / 键盘鼠标 ``` - **北桥**:高速通道总管——CPU↔内存、CPU↔显卡 - **南桥**:低速外设总管——USB、硬盘、网卡、声卡 随后 20 年的演化史,就是**高速需求不断吃掉低速枢纽**: 1. **内存控制器搬进 CPU**(AMD 2003 年 K8 率先干,Intel 2008 跟进)→ 内存不再绕道北桥,延迟直降——这也是后来"内存频率"越来越重要的原因 2. **显卡通道 PCIe 直连 CPU** → 北桥彻底失业 3. 只剩一颗 **PCH**(南桥继任者)管外设 → 今天的主板 ## 四、2026 年接口带宽对照表 | 接口 | 理论带宽 | 常见用途 | | --- | --- | --- | | USB 2.0 | 480 Mbps(≈60MB/s) | 键鼠、低速外设 | | USB 3.2 Gen1 / Gen2 | 5 / 10 Gbps | U 盘、移动硬盘 | | USB4 / 雷雳 3·4 | 40 Gbps | 扩展坞、外接显卡、高分屏 | | SATA III | 6 Gbps(实测 ~550MB/s) | 2.5 寸机械/固态 | | PCIe 3.0 ×4 | ≈3.9 GB/s | NVMe 固态(主流) | | PCIe 4.0 ×4 | ≈7.9 GB/s | NVMe 固态(新一代) | | PCIe 5.0 ×4 | ≈15.8 GB/s | 旗舰固态 / AI 加速卡 | | 千兆 / 2.5G 网口 | 1 / 2.5 Gbps | 有线网络 | 一眼看懂两个经典问题: - **为什么 SSD 要走 NVMe(PCIe),不走 SATA?**——SATA 6Gbps ≈ 550MB/s 的天花板焊死了;PCIe 3.0 ×4 实测就有 3.5GB/s。SATA 固态再快,前面也堵着一扇窄门。 - **为什么显卡都是 PCIe ×16 大槽?**——每帧几十亿像素的数据,带宽就是命。 ## 五、设备怎么引起 CPU 注意:中断与 DMA 路修通了,还有两个配套机制([[00-操作系统总览|操作系统]] 区会正式重逢,先混个脸熟): - **中断(IRQ)**:设备主动"举手"。键盘按下时 CPU 不必死等——设备发中断信号,CPU 做完手头指令再来处理。没有中断,CPU 只能轮询干等,纯属浪费。 - **DMA(直接存储器访问)**:大数据搬运不劳烦 CPU。磁盘→内存的大块拷贝由 DMA 控制器接管,CPU 该干嘛干嘛,搬完用中断通知。**包工头只派活,不亲自搬砖。** ## 六、盲点自测 1. **为什么用总线而不是两两直连?** ——n 个部件两两直连要 n(n-1)/2 组线路;总线一条公共路分时复用,可扩展。 2. **三类总线各传什么?** ——数据总线传数据、地址总线传位置、控制总线传命令与时序。 3. **32 位系统为什么最多 4GB 内存?** ——地址总线 32 位,2³² 个地址 × 1 字节 = 4GB。 4. **北桥去哪了?** ——内存控制器进了 CPU、显卡直连 CPU,职能被吸收殆尽,只剩 PCH 管外设。 5. **NVMe 比 SATA 快的根本原因?** ——走的路不同:SATA 天花板 6Gbps,NVMe 走 PCIe 多通道并行。 6. **中断和轮询差在哪?** ——中断:设备举手、CPU 被动响应,省去空等;轮询:CPU 反复主动问,浪费算力。 7. **DMA 是干嘛的?** ——绕过 CPU 直接在设备和内存间搬数据,搬完中断通知,解放 CPU。 ## 七、动手玩一把 ```bash # macOS:看 USB 设备树、NVMe 盘参数 system_profiler SPUSBDataType | head -30 system_profiler SPNVMeDataType # Linux:一条命令列出主板上挂的所有设备 lspci # 全家福:显卡/网卡/声卡/USB 控制器…… lspci | grep -i vga # 只找显卡 ``` --- 总线的路修好了,路上还跑着一个特殊的"外挂处理器"——GPU → [[04-显卡与GPU]] ⬅️ [[02-从按下电源到桌面|从按下电源到桌面]] 🏠 [[00-基础与理论|00-基础与理论]] ➡️ [[04-显卡与GPU|显卡与GPU]]