Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

4.4 总线与接口技术

总线是计算机系统中各个组件之间传输数据的公共通道,接口是外部设备连接到计算机的端口。理解总线和接口技术,有助于我们了解不同设备之间的连接方式和性能瓶颈。

总线的基本概念

什么是总线

总线(Bus)是计算机内部各个组件之间传输数据的一组公共通信线路,各个组件通过总线连接在一起,互相传输数据。

早期的计算机各个组件之间是单独连接的,布线复杂,扩展性差。总线的出现简化了连接方式,只需要一组公共的线路,所有组件都连接到总线上,大大提升了扩展性。

总线的分类

按照功能和位置,总线可以分为几类:

  1. 片内总线:CPU芯片内部的总线,连接CPU内部的各个部件(寄存器、运算器、控制器等)
  2. 系统总线:主板上连接CPU、内存、控制器等核心组件的总线,也叫前端总线(FSB)
  3. IO总线:连接各种IO设备的总线,比如PCIe总线、SATA总线、USB总线等

总线的性能指标

  1. 位宽:总线一次能够传输的数据位数,比如32位、64位,位宽越大传输能力越强
  2. 频率:总线的工作频率,单位是MHz,频率越高速度越快
  3. 带宽:单位时间内能够传输的最大数据量,单位通常是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.0250MB/s4GB/s2003年
    PCIe 2.0500MB/s8GB/s2007年
    PCIe 3.0985MB/s15.75GB/s2010年
    PCIe 4.01.97GB/s31.5GB/s2017年
    PCIe 5.03.94GB/s63GB/s2019年
    PCIe 6.07.88GB/s126GB/s2022年
  • 特点
    • 点对点串行传输,抗干扰能力强,频率高
    • 可扩展通道数,x1、x4、x8、x16等,通道数越多带宽越大
    • 全双工传输,上下行带宽相同
    • 向下兼容,高版本的PCIe设备可以插在低版本的插槽上,只是速度会降低到低版本的水平
  • 应用场景:显卡(通常x16)、NVMe SSD(通常x4)、高速网卡(x4/x8)等高速设备

2. SATA总线(Serial AT Attachment)

  • 地位:专门用于连接存储设备的总线,是HDD、SATA SSD的标准接口
  • 版本与带宽
    版本带宽实际传输速度发布时间
    SATA 1.01.5Gbps150MB/s2003年
    SATA 2.03Gbps300MB/s2004年
    SATA 3.06Gbps600MB/s2009年
  • 特点
    • 专门为存储设备设计,协议简单,效率高
    • 最多支持连接15个设备
    • 支持热插拔
  • 瓶颈:SATA 3.0的最大速度是600MB/s,已经成为SSD的性能瓶颈,现在越来越多的SSD改用NVMe PCIe接口

3. USB总线(Universal Serial Bus)

  • 地位:最通用的外部总线,几乎所有外部设备都支持USB接口
  • 版本与带宽
    版本带宽最大传输速度发布时间
    USB 1.012Mbps1.5MB/s1996年
    USB 2.0480Mbps60MB/s2000年
    USB 3.0 (USB 3.1 Gen1)5Gbps500MB/s2008年
    USB 3.1 (USB 3.1 Gen2)10Gbps1000MB/s2013年
    USB 3.2 (USB 3.2 Gen2x2)20Gbps2000MB/s2017年
    USB4 2.080Gbps8000MB/s2022年
  • 特点
    • 通用接口,支持几乎所有类型的外部设备
    • 支持热插拔,即插即用
    • 可以同时传输数据和供电,给外部设备供电
    • 连接线最长可以到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接口,传输数字音频信号,音质更好

总线的发展趋势

  1. 串行化:所有新的总线都采用串行传输,替代传统的并行总线,抗干扰能力更强,频率更高
  2. 高带宽:总线带宽越来越高,PCIe已经发展到6.0,USB发展到USB4,能够满足越来越高的传输需求
  3. 接口统一化:USB-C/雷电接口正在统一各种外部接口,未来可能只需要一个接口就能连接所有外部设备
  4. 更高的集成度:越来越多的控制器被集成到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的带宽。

思考问题

  1. 串行总线相比并行总线有什么优势?为什么现在新的总线都采用串行传输?
  2. PCIe总线的通道数是什么意思?x1、x4、x8、x16有什么区别?
  3. SATA 3.0的带宽是6Gbps,为什么实际传输速度只有约550MB/s?
  4. 为什么USB-C接口被认为是未来的统一接口?它有什么优势?