经产观察
IT资讯
IT产业动态
业界
网站运营
站长资讯
互联网
国际互联网新闻
国内互联网新闻
通信行业
通信设备
通信运营商
消费电子
数码
家电
IT资讯

【IT之家学院】从Ryzen 3000说起:可能是东半球最易懂的PCIe科普

作者:佚名 来源: 日期:2019-7-6 4:43:02 人气:

  月初结束的Computex期间,支持PCIe 4.0标准的产品相继问世,包括各大厂商推出的使用群联PS5016-E16主控的PCIe 4.0 SSD,以及AMD全新Ryzen 3000系列处理器和X570芯片组,各大板卡厂商也纷纷公布X570主板。PCIe 4.0是消费级产品中最新的PCIe标准,相较于现在主流的PCIe 3.0带宽翻倍,×16双向带宽可达到约64GB/s。

  如上,AMD发布了支持PCIe 4.0的全系新品,PCIe 5.0规范也已制定完成,打算攒(cuán)机的小伙伴可能比较关注此类报导,也对PCIe有所了解。但PCIe的标准、迭代、带宽、速率、通道数等规格往往很容易搞混,今天咱们来捋一捋PCIe。

  总线(Bus)是计算机组件之间传送信息的公共通信干线,以一种通用的方式为各组件提供数据传送和控制逻辑。命名为“Bus”是因为总线就像公共汽车一样,在主板上按照既定线来回不停地搬运着数据,数据的最小单位为比特(bit)。我们可以简单理解为固定的通用数据传输线。

  总线的概念最早来自IBM 1981年在PC/XT电脑上使用的系统总线,后被重命名为ISA总线,全称“Industry Standard Architecture”,工业标准体系结构总线位的ISA被称为XT标准,16位的ISA被称为AT标准;AT标准工作频率为8MHz,最大传输速率为16MB/s。

  AGP采用32位传输,规格分为1×、2×、4×、Pro、8×等,最高传输速率可超过2GB/s达到2133MB/s。由于代际之间工作电压不同,隔代互不兼容。

  从PCIe 1.0开始,其规格就分为×1、×2、×4、×8、×12、×16、×32。其中×2仅作为内部规格没有对应的插槽(Slot),×12、×32规格的接口极为罕见不会出现在消费级产品上,所以主流PCIe插槽有×1、×4、×8、×16四种,最常见为×1和×16,至于×4和×8去哪了下文会提到。Mini PCIe(×2)接口现主要出现在笔记本产品上,且一般被无线网卡占用,此处不谈。

  之前我们提到过,PCIe中的“e”为Express,在此表“快速”之意,所以传输速度上相较于PCI优势明显,这也正是其能取代PCI标准的重要因素之一。PCIe标准中,用以传输数据的线称为“通道(Lane)”,×1表示接口有一条PCIe通道,×4表示有4条,以此类推;每条通道速率相等,可以叠加。

  套用在PCIe标准上,因为采用串行传输,所以PCIe 1.0单条通道的数据传输速率为2.5Gb/s。即为,每秒双向最多可传输“2.5G(2.5×十亿)”个bit。

  之所以加这么多定语,是因为这个2.5Gb/s并不是我们真正能用到的速率,也就是说我们的设备跑不到这么高的速率。PCIe标准采用的编码方式需要在数据前后各占用一个bit用以识别开始和终止。PCIe 2.0及之前的版本采用8 bit/10 bit的编码方式,即传输8 bit的(有意义的)数据,需要占用10 bit的传输量。编码方式造成的损耗称为编码损耗,PCIe 2.0及之前的编码损耗率为20%,现在主流的PCIe 3.0及之后的版本采用128 bit/130 bit的编码方式,损耗率约为1.5%,几乎可以忽略不计。

  其次,×16长度插槽按照与CPU的距离,离CPU最近的×16长度插槽内,针脚一定是满的,即有16条通道,且是直连CPU的(下文会讲到)。

  至于分明只有×8或×4的速率,为何要做成×16长度的插槽,第一是为了好看,清一色的×16长度插槽确实比参差不齐的×8/×4要好看;第二就是下面我们要提到的兼容性。结合这两点也可以填上之前的坑,×8/×4长度插槽未能成为主流的原因正是可以通过阉割×16插槽针脚的方式实现,保留×16插槽的长度也可以实现更好的兼容性。

  PCIe标准自面世以来,已经有四代应用于消费级产品,最新的PCIe 5.0规范也已制定完毕,官员与三女子滚床单虽然有众多不同的版本和规格,但PCIe标准的兼容性是极好的。总结来讲,PCIe各版本各规格相互兼容,取最低版本最低规格的速率。

  另外提一嘴,PCIe标准允许通过物理方式(贴胶带等)屏蔽高速率扩展卡的针脚,以此来降低速率,当然只有在某些测试时才会用到……

  在英特尔和AMD平台上,可供我们用来扩展设备的总线都由两部分组成,分别由CPU和芯片组提供。

  三代以来,CPU最多提供16条PCIe 3.0通道,Z270及之后的芯片组最多提供24条PCIe 3.0通道,由芯片组扩展出的通道所传输的数据,最终也要交由CPU处理,所以芯片组与CPU之间也有一条总线用以通信,英特尔平台称之为DMI,本质上仍是PCIe通道,版本与芯片组一致,为×4带宽,即通过芯片组扩展的所有设备速率总和上限为PCIe 3.0×4。

  先来看比较好理解的总线合并,仍接上例,芯片组提供的24条PCIe通道均为×1速率,如有接口需要支持PCIe 3.0×4,如M.2硬盘插槽,则将24条×1通道中

  当然,PCIe通道在主板上是“稀缺资源”,对于一些提供丰富接口的主板来说,CPU和芯片组提供的PCIe通道都是不够用的,经常需要不同接口共享带宽,这时就需要根据需求设计方案,按需将通道分配给不同的接口,以及通道不够时,哪些接口需要将通道让给其他接口。实现这些功能的元器件称为Switch,一般译为开关或转换器,就是下面的这些。

  ▲SwitchSwitch的逻辑很简单,对芯片组提供的通道,Switch决定将其并到哪个接口,对CPU提供的通道相反,Switch决定将其拆分到哪个插槽。

  接下来看CPU PCIe通道的拆分,首先需要说明的是,CPU总线拆分仅在英特尔的Z系列主板和AMD的X系列主板上受支持,英特尔的H系列和B系列主板以及AMD的A系列和B系列主板不支持,距离CPU最近的显卡插槽独显×16的带宽,即不支持显卡SLI或CrossFire。以及,需要CPU支持,英特尔官网都查得到。

  英特尔主流CPU最多提供16条PCIe 3.0通道,我们提到过,默认情况下全都分给离CPU最近的×16显卡插槽,但有些主板会提供三个甚至四个×16长度插槽,但CPU提供的PCIe通道只有16条,除去连接到芯片组的,只能拆分。

  不同主板的拆分策略不同,以MSI Z370 Gaming Pro Carbon为例,主板有三个×16长度插槽,两个PCIe通道直连CPU,最高速率分别为×16和×8,最后一个连接到芯片组,速率为×4。

  当第二个插槽插卡时,四颗Switch会将后面八条通道切换到第二个插槽,两个插槽均提供×8速率。

  更高端一些的主板,会有更多×16长度插槽的通道直连CPU,玩法也更多,以MSI MEG Z390 ACE为例,主板有三个×16长度插槽,通道全部直连CPU,最高分别提供×16、×8、×4速率。

  除上例中的情况外,当第三个插槽也插卡时,另外两颗Switch将后四条通道切换至第三个插槽,三个插槽分别提供×8、×4、×4速率。

  再看MSI MEG Z390 GODLIKE,主板有四个×16长度插槽,三个直连CPU,最高速率分别为×16、×4、×8,主板背部有两颗额外的Switch,除与上两例部分情况相同外,当第一个和第三个插槽插卡,第二个插槽不插卡时,通过八颗Switch,将后八条通道切换至第三个插槽,第一个、第三个插槽均提供×8速率,这样的设定应该是出于散热的考虑。

  周围有Switch的×16长度插槽,和其下面一个×16长度插槽,PCIe通道都是直连CPU的;

  想要查看总线的使用情况,可以使用AIDA64或GPU-Z等软件查看,或者在BIOS/UEFI查看。

  图自Techpowerup所以CPU直连总线的拆分除了显卡SLI或CF外,还可以用来扩展网卡、PCIe SSD等,更充分地利用直连CPU的通道。毕竟2080 Ti也只有2%~3%的性能损耗,分出来的×8带宽扩展出两块直连CPU的NVMe SSD岂不美哉。

  少数主板上也会有走直连CPU通道的M.2插槽,当然在Z系列主板上,要和临近的PCIe插槽共享带宽,也就是要和第一个×16长度插槽抢带宽。

  一般走直连CPU通道的M.2插槽会标注不支持SATA,走连接芯片组通道的M.2插槽会标注支持SATA。

  想体验PCIe 4.0产品的A饭们再过十几天就可以出手了,5.0的规范已经完成,6.0的制定也已上。看起来新标准更新得很快,其实“全靠友商衬托”,PCIe 3.0标准2010年便已面世,相关产品至今也已服役超过8年时间,4.0的“难产”让5.0显得特别迅速。

  目前绝大多数产品都不能吃满PCIe 3.0带宽,,加之,有观点认为未来的新产品中,会出现两代标准长期共存的局面。就目前而言,想尽快体验新标准的产品还是要YES起来。

  不过也正像英特尔所言,当下新的标准对大多数显卡的提升效果甚微,支持PCIe 4.0的SSD新品也鲜有能跑到5GBps的,和理论速度还有一定差距,所以如果你并不急着拥抱PCIe 4.0,不妨等等。如果大家有哪些更好的见解或有问题需要解答,可以在评论区或极客圈讨论交流。

  

关键词:it之家官网