4.4 总线与接口技术
总线是计算机系统中各个组件之间传输数据的公共通道,接口是外部设备连接到计算机的端口。理解总线和接口技术,有助于我们了解不同设备之间的连接方式和性能瓶颈。
总线的基本概念
什么是总线
总线(Bus)是计算机内部各个组件之间传输数据的一组公共通信线路,各个组件通过总线连接在一起,互相传输数据。
早期的计算机各个组件之间是单独连接的,布线复杂,扩展性差。总线的出现简化了连接方式,只需要一组公共的线路,所有组件都连接到总线上,大大提升了扩展性。
总线的分类
按照功能和位置,总线可以分为几类:
- 片内总线:CPU芯片内部的总线,连接CPU内部的各个部件(寄存器、运算器、控制器等)
- 系统总线:主板上连接CPU、内存、控制器等核心组件的总线,也叫前端总线(FSB)
- IO总线:连接各种IO设备的总线,比如PCIe总线、SATA总线、USB总线等
总线的性能指标
- 位宽:总线一次能够传输的数据位数,比如32位、64位,位宽越大传输能力越强
- 频率:总线的工作频率,单位是MHz,频率越高速度越快
- 带宽:单位时间内能够传输的最大数据量,单位通常是GB/s
- 带宽计算公式:
带宽 = 频率 × 位宽 / 8 × 传输效率 - 例如PCIe 4.0 x16的带宽是16GT/s × 16 / 8 × 1(接近100%传输效率)= 32GB/s
- 带宽计算公式:
总线的工作方式
- 并行总线:同时传输多位数据,比如传统的PCI总线、ISA总线,优点是速度快,缺点是容易受干扰,频率做不高
- 串行总线:一次只传输1位数据,比如PCIe、USB、SATA,优点是抗干扰能力强,频率可以做很高,现在几乎所有新的总线都是串行总线
常见内部总线
1. PCIe总线(Peripheral Component Interconnect Express)
- 地位:目前主板上最核心的IO总线,几乎所有高速设备都连接到PCIe总线,包括显卡、SSD、网卡、USB控制器、SATA控制器等
- 版本与带宽:
版本 单通道带宽 x16带宽 发布时间 PCIe 1.0 250MB/s 4GB/s 2003年 PCIe 2.0 500MB/s 8GB/s 2007年 PCIe 3.0 985MB/s 15.75GB/s 2010年 PCIe 4.0 1.97GB/s 31.5GB/s 2017年 PCIe 5.0 3.94GB/s 63GB/s 2019年 PCIe 6.0 7.88GB/s 126GB/s 2022年 - 特点:
- 点对点串行传输,抗干扰能力强,频率高
- 可扩展通道数,x1、x4、x8、x16等,通道数越多带宽越大
- 全双工传输,上下行带宽相同
- 向下兼容,高版本的PCIe设备可以插在低版本的插槽上,只是速度会降低到低版本的水平
- 应用场景:显卡(通常x16)、NVMe SSD(通常x4)、高速网卡(x4/x8)等高速设备
2. SATA总线(Serial AT Attachment)
- 地位:专门用于连接存储设备的总线,是HDD、SATA SSD的标准接口
- 版本与带宽:
版本 带宽 实际传输速度 发布时间 SATA 1.0 1.5Gbps 150MB/s 2003年 SATA 2.0 3Gbps 300MB/s 2004年 SATA 3.0 6Gbps 600MB/s 2009年 - 特点:
- 专门为存储设备设计,协议简单,效率高
- 最多支持连接15个设备
- 支持热插拔
- 瓶颈:SATA 3.0的最大速度是600MB/s,已经成为SSD的性能瓶颈,现在越来越多的SSD改用NVMe PCIe接口
3. USB总线(Universal Serial Bus)
- 地位:最通用的外部总线,几乎所有外部设备都支持USB接口
- 版本与带宽:
版本 带宽 最大传输速度 发布时间 USB 1.0 12Mbps 1.5MB/s 1996年 USB 2.0 480Mbps 60MB/s 2000年 USB 3.0 (USB 3.1 Gen1) 5Gbps 500MB/s 2008年 USB 3.1 (USB 3.1 Gen2) 10Gbps 1000MB/s 2013年 USB 3.2 (USB 3.2 Gen2x2) 20Gbps 2000MB/s 2017年 USB4 2.0 80Gbps 8000MB/s 2022年 - 特点:
- 通用接口,支持几乎所有类型的外部设备
- 支持热插拔,即插即用
- 可以同时传输数据和供电,给外部设备供电
- 连接线最长可以到5米(USB 2.0)
- USB接口外形:
- Type-A:传统的USB接口,电脑上最常见
- Type-B:通常用于打印机、显示器等设备
- Micro USB:旧版安卓手机、小设备常用
- USB-C:新一代接口,正反可插,支持更高的功率和带宽,是未来的趋势
4. DMI总线(Direct Media Interface)
- Intel平台上连接CPU和PCH(南桥芯片)的总线,现在已经和PCIe整合,DMI 3.0的带宽是8GT/s x4,相当于PCIe 3.0 x4的带宽,约3.94GB/s。
常见外部接口
1. 雷电接口(Thunderbolt)
- 由Intel和苹果联合开发,现在最新的雷电3/4接口和USB-C接口外形相同,兼容USB-C设备
- 雷电3带宽40Gbps,雷电4带宽也是40Gbps但功能更完善,雷电5带宽80Gbps
- 可以同时传输数据、视频、供电,一个接口可以扩展出多个接口
- 常见于苹果电脑、高端PC和笔记本
2. 显示接口
- HDMI:最常见的视频接口,同时支持视频和音频传输,HDMI 2.1支持4K@144Hz、8K@60Hz
- DP(DisplayPort):主要用于电脑显示器,DP 2.0支持16K@60Hz,带宽比HDMI更高
- VGA:模拟接口,分辨率和刷新率有限,已经基本淘汰
- DVI:数字视频接口,不支持音频,也基本被淘汰
3. 网络接口
- RJ45以太网接口:最常见的有线网络接口,常见速率有10Mbps/100Mbps/1000Mbps(千兆)/10Gbps(万兆)
- 光口:光纤接口,用于高速网络,常见速率有10Gbps/25Gbps/40Gbps/100Gbps,用于服务器和数据中心
4. 音频接口
- 3.5mm音频接口:最常见的耳机/麦克风接口,现在很多手机已经取消了这个接口,改用USB-C或者蓝牙
- 光纤音频接口:S/PDIF接口,传输数字音频信号,音质更好
总线的发展趋势
- 串行化:所有新的总线都采用串行传输,替代传统的并行总线,抗干扰能力更强,频率更高
- 高带宽:总线带宽越来越高,PCIe已经发展到6.0,USB发展到USB4,能够满足越来越高的传输需求
- 接口统一化:USB-C/雷电接口正在统一各种外部接口,未来可能只需要一个接口就能连接所有外部设备
- 更高的集成度:越来越多的控制器被集成到CPU中,减少了中间总线的延迟,提升了性能
常见问题
为什么我的NVMe SSD速度跑不满?
检查你的SSD插在哪个PCIe插槽上,如果插在主板上由PCH提供的PCIe插槽,可能会和其他设备共享带宽,导致速度下降;应该插在CPU直连的PCIe插槽上,才能获得完整的带宽。还要确认主板和CPU支持对应的PCIe版本。
USB 3.0和USB 3.1有什么区别?
USB-IF组织为了营销把命名搞乱了:
- 原来的USB 3.0现在叫USB 3.1 Gen1,速度5Gbps
- 原来的USB 3.1现在叫USB 3.1 Gen2,速度10Gbps
- 原来的USB 3.2现在叫USB 3.2 Gen2x2,速度20Gbps 购买设备的时候要注意看实际的速率参数,不要被名字迷惑。
雷电3和USB-C有什么关系?
雷电3是协议,USB-C是接口外形,雷电3接口使用USB-C的外形,同时兼容USB-C设备,但是普通的USB-C接口不一定支持雷电3协议,只有标注了雷电标识的USB-C口才支持雷电协议,才能达到40Gbps的带宽。
思考问题
- 串行总线相比并行总线有什么优势?为什么现在新的总线都采用串行传输?
- PCIe总线的通道数是什么意思?x1、x4、x8、x16有什么区别?
- SATA 3.0的带宽是6Gbps,为什么实际传输速度只有约550MB/s?
- 为什么USB-C接口被认为是未来的统一接口?它有什么优势?