PCIE

1. South bridge

在解释 PCIE 之前,有必要先来解释一下 South bridge,cpu,主板之间的一些概念。

大家都知道,计算机中所有的数据都需要交给 CPU 处理才能发挥作用(不完全对),但那么多的设备,难道都需要和 CPU 交互吗?

当然不行,那样不仅极大地加重了 CPU 的负担(无论是制造还是运行),对于主板的布线也是一大考验,那有什么解决方案呢?

其实,这里可以分级的思想:对于内存,显卡这些需要高速交互的设备,让 CPU 和它们之间使用高速线路直接连通,对于 USB 接口,外接硬盘,键盘,声卡,网卡这些设备来说,要求就没有那么高了,可以统一交给一个下属去管理,然后统一上报给 CPU 就好了,这个下属就是 Sourth Bridge 南桥芯片组。

简要来说,南桥芯片组的任务就是,作为一个中间人,和外围低速设备以及 CPU 之间通信

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

-------------
------------- -------- memory --
--- cpu ---
------------- -------- memory --
-------------
| | \
| | \
| | \
| | \
| | \
/ / \
---- 显卡 ---- \
/ / --------------- ----- sound card
| | --------------- ----- usb
---- other ---- -South bridege- ----- net card
--------------- ----- hard disk
--------------- ----- ...

2. PCIE

现在你对于南桥芯片,以及设备有一个基本的概念了,外围设备,CPU,芯片之间都需要传输数据,这就引入了总线,大家自然希望总线传输速度快,传输的数据多,可以将其类比成道路,我们自然是希望道路越宽越好,道路上的车辆速度越快越好(当然在遵守规则前提下)。

“速度”和“传输的数据”有两个更加专业的表达,分别是 延迟带宽

目前的总线普遍采用 PCIE 这种高速总线,其实,它的发展过程也非常有意思。

2.1 PCIE 如何登上历史舞台的

上世纪 PC 刚进入大众视野的时候,那时候的设备使用的接口是千奇百怪啊,声卡,网卡,显卡 接口都不一样,而这些设备都要接在主板上,就导致,你选购的主板上的接口,直接决定了你能使用什么设备

为了解决这个问题,IBM 和 Intel 推出了 ISA 接口这个标准,不过已经非常久远了,在上世纪 80 年代,大规模推广开来。ISA 接口规范虽然做到了统一,但是其内部采用了并行传输,加上当时的抗干扰技术还不强,传输速率自然就很低。并且,插上一个设备之后,无法自动配置,需要手动配置资源,其支持的外围设备仅有 6 个。

不过技术总是在进步,ISA 总线逐步被更先进的总线技术替换,最终统一天下的是 PCI 总线了。PCI 总线不仅将带宽从原先的 8 MB/s 提高到了 256 MB/s,还做到了即插即用,大大省去了人们的烦恼。但是 PCI 总线仍然采用并行传输的方式,高负载下,多个设备会同时抢占总线带宽,也会对彼此传输的数据产生干扰,仍然不是最完美的方案。

再往后发展,就由今天的主角 PCIE 接管历史舞台了。

2.2 PCIE 的一些概念

2.2.1 PCIE 形态

PCIE 总线用来连接设备和芯片,并且会提供一些插槽,比如显卡就是插在 PCIE 插槽上的。除了以这种接口的形态存在,还会以通道的形态存在,这怎么理解呢?

以硬盘使用的 M.2 接口为例,其内部传输其实还是用的 PCIE,只不过,对外暴露的是 M.2 这种专用的接口而已,PCIE 就相当于一个连接 M.2 接口和芯片之间的通道,第二种存在形态:通道 也就因此得名。

再比如说雷电3接口,内部也是用 PCIE 进行的传输,PCIE 也仅仅是桥接了一下而已。

2.2.2 PCIE 带宽

PCIE 的带宽按照针脚的数量进行计算,最少的是 X1,再之后依次为 X2 X4 X8 X16,带宽依次翻倍。显卡就是插在 X16 这个带宽最大的插槽上的,当然,插在 X8 X4 这些插槽上也没有问题,只不过带宽会相应降低。

其实随着 PCIE 不断完善,不断推出了更高带宽的 PCIE 标准,从最一开始的 PCIE 1.0,X1 的带宽只有 250 MB/s,每升级一次,带宽都要翻倍,到目前的 PCIE 6.0,X1 的带宽已经有 8 GB/s,X16 的带宽更是有 8*16 GB/s,相当恐怖了。

2.2.3 PCIE 在主板上分布

由于主板上的空间是有限的,加上 CPU 对于 PCIE 的支持也是有限的,因此那些直连 CPU 的有限数量的 PCIE 就显得非常宝贵了,一般都用作显卡插槽了。

虽然南桥芯片组上也一般会接一些非直连 PCIE 总线,但是,由于带宽的限制,肯定是无法达到该 PCIE 带宽的理论值上限的。常见的情况有,将固态硬盘插在了第二块 M.2 插槽上,由于该插槽不是直连 CPU 的,速率比理论值直接腰斩都是有可能的。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!