PCEVA,PC绝对领域,探寻真正的电脑知识

标题: PCI Express 3.0主板——属于未来的话题 [打印本页]

作者: lk111wlq    时间: 2011-9-20 00:07
标题: PCI Express 3.0主板——属于未来的话题
本帖最后由 Brocup 于 2011-9-20 14:16 编辑

PCEVA原创首发,转载请注明出处




目录:

前言      
发展历史
PCIE结构及改进
PCIE Gen3简评
PCI Express平台信息
PCIE Gen3 的提前
6系主板=Gen3支持?

CPU的PCIE控制器及主板PCIE
PCIE Switch介绍
常见PCIE Switch及其基本原理
PCIE Switch——PEX8647、NF200介绍
NF200/PEX8647的工作原理

三大厂商的主板Gen3支持
华擎(Asrock)
微星(MSI)
技嘉(GIGABYTE)
结论及选择取向

PCIE Gen3讨论
Gen3人群界定

全文总结




文中如有错误,敬请指正
作者: lk111wlq    时间: 2011-9-20 00:07
标题: 前言
本帖最后由 Brocup 于 2011-9-20 14:14 编辑

  早在2006年12月,PCIE2.0的标准规范发布时,PCIE 3.0标准规范就被提上日程,但直到2010年11月才得以面世,而直至一年后的现在,PCIE Gen2仍然是主流,支持PCIE 3.0的CPU、显卡都还未见身影,首个PCIE 3.0支持的Ivy Bridge处理器也需要到2012才发布,AMD平台则更加遥远,下一代AMD支持PCIE 3.0的HD7000系列显卡也要到明年(2012)面世。但是,目前已经有不少PCIE 3.0的主板产品呈现在人们眼前,并且以PCIE 3.0显卡的支持作为卖点进行宣传。
[attach]50708[/attach]

  我们先初步了解一下PCI Express 3.0的一些资料

PCIE 3.0发布的一些信息
在对可制造性、成本、功耗、复杂性、兼容性等诸多方面进行综合、平衡之后,PCI-E 3.0规范将数据传输率提升到8GHz|8GT/s(最初也预想过10GHz),并保持了对PCI-E 2.x/1.x的向下兼容,继续支持2.5GHz、5GHz信号机制。基于此,PCI-E 3.0架构单信道(x1)单向带宽即可接近1GB/s,十六信道(x16)双向带宽更是可达32GB/s。
PCI-E 3.0同时还特别增加了128b/130b解码机制,可以确保几乎100%的传输效率,相比此前版本的8b/10b机制提升了25%,从而促成了传输带宽的翻番,延续了PCI-E规范的一贯传统。
新规范在信号和软件层的其他增强之处还有数据复用指示、原子操作、动态电源调整机制、延迟容许报告、宽松传输排序、基地址寄存器(BAR)大小调整、I/O页面错误等等,从而全方位提升平台效率、软件模型弹性、架构伸缩性。
PCI-E 3.0规范完整文档现已向PCI-SIG组织成员公布,其中详细描述了PCI-E架构、互联属性、结构管理、编程接口等等,但没有公开发表。


更多资料请参考PDF

作者: lk111wlq    时间: 2011-9-20 00:07
标题: 发展历史
本帖最后由 lk111wlq 于 2011-9-20 13:49 编辑

各个版本的改动及发布日期
[attach]50709[/attach]
注:Gen2包括了2.0和2.1,为了规范名称,下文统一用Gen2代替2.0、2.1,用Gen3代替3.0。

相比前两代的PCI Express规范,主要区别概括如下
[attach]50710[/attach]
  从以上信息我们知道,从第一代PCIE规范500MB/s的带宽开始,以后每代带宽都成倍地增加,Gen3时总带宽更是达到了最大32GB/s。而PCIE Gen3的Data rate为8GT/s|8GHz,相比Gen2的5GT/s|5GHz并没有得到翻倍的提升,带宽翻倍还得益于编码机制的改进。(见下一楼)

作者: lk111wlq    时间: 2011-9-20 00:07
标题: PCIE结构及改进
本帖最后由 lk111wlq 于 2011-9-20 13:49 编辑

  PCIE是一个多层协议,主要由Transaction(对话层)、Data Link(数据交换层)和Physical(物理层)三层构成。Physical(物理层)又可进一步分为Logical Sub-block(逻辑子层)和(Electrical Sub-block)电气子层。

[attach]50711[/attach]


PCI Express功能结构示意图


[attach]50712[/attach]


数据传输功能示意图



  其中,数据进行编码后的传输,以10byte为单位,8byte为数据大小,2byte存放该数据的识别码,故为8b/10b编码机制,编码效率为80%;同理,以130byte为单位,2byte仍旧为识别码,但数据之间通过其他方式进行组合,相互之间利用其他参数进行识别,组成8byte x4x4=128byte的数据大小,即为128b/130b编码机制,编码效率为98.45%。
(更多信息请参考PDF)
  因此,Datarate为8GT/s|8GHz时,由于编码效率的提高,相比Datarate为5GT/s|5GHz,在传输通道数x16 lane不变的情况下,总带宽达到16GB/s *(8/5)*(98.45%/80%) = 32GB/s,达成带宽翻倍的效果。

作者: lk111wlq    时间: 2011-9-20 00:07
标题: PCIE Gen3简评
本帖最后由 lk111wlq 于 2011-9-20 13:49 编辑

  传输速率提升、编码机制改进只是PCIE Gen3的一个主要方面,在保持对Gen1、Gen2的良好兼容下,其他改动也使得其各方面指标、规范与Gen1、Gen2区别开来。

  不过众所周知,目前双卡SLI/CF运行在双x8和双x16的性能差距并不大,至于3way甚至4way的多卡并联,本身效率就不高,瓶颈并不在带宽上,Gen3带宽翻倍最大的受益者应该是USB、SATA等周边设备(RAID0持续读写中500MB/s带宽成为瓶颈等极端情况)。

  当然,历史总是向前发展,随着显卡的更新换代(据说下代的AMD/NVIDIA显卡皆为PCIE3.0规范,而HD7000系列明年有望发布),PCIE Gen3的普及也应是迟早的事情。

作者: lk111wlq    时间: 2011-9-20 00:08
标题: PCI Express平台信息
本帖最后由 lk111wlq 于 2011-9-20 13:50 编辑

了解了以上的信息后,我们来看看与PCI Express相关的平台信息

[attach]50713[/attach]


Intel第二代酷睿Desk Platform System



  Intel第二代酷睿平台中,PCIE控制器集成于CPU中,因此提供PCI Express的有两处,分别是Processor(CPU/处理器)x16、PCH(Platform Control Hub/芯片组) x8,相应地PCI Express的版本也是根据这两者来确认。其中CPU部分,当前的SNB以及即将来临的SNB-E都确认不会有原生PCIE Gen3提供,直到下一代的Ivy Bridge处理器才得以提供;而PCH芯片组部分,即将来临的高性能芯片组X79(SNB-E)和下一代的7系列芯片组确认也还是PCIE Gen2规范。

注:AMD平台除了现今的Llano处理器(集成PCIE控制器)和还未到来的第三代推土机(对Zambezi进行改进及增加Gen3支持)外,PCIE控制器均集成于北桥,包括最新的990FX北桥芯片仍然为Gen2规范,因此在十分长的一段时间内与Gen3无缘,故而不在本文讨论范围内。

作者: lk111wlq    时间: 2011-9-20 00:08
标题: PCIE Gen3 的提前
本帖最后由 lk111wlq 于 2011-9-20 13:48 编辑

按理来说,PCIE Gen3应该是等Ivy Bridge平台到来之后的话题,但现在却已经有许多宣称支持PCIE Gen3的主板面世,这又是为什么呢?原来是Intel在几个月前流出的资料显示,下一代的Ivy Bridge处理器,1155插槽,可以通过刷新固件和BIOS,提供对Ivy Bridge的支持。


当然,前几天IDF上的一张图片更具说服力


[attach]50775[/attach]

同时,AMD/NVIDIA宣称下一代的显卡将使用PCIE Gen3的规范设计,这样一来,对现有6系芯片组主板的用户来说,虽然仍是PCIE Gen2的芯片组,周边设备也仍是PCIE Gen2规范运行,但在不远的将来,无需更换主板便有可能享受到下一代CPU、GPU的高性能体验,在Intel平台来说可算是个难得的好消息了。


作者: lk111wlq    时间: 2011-9-20 00:08
标题: 6系主板=Gen3支持?
本帖最后由 lk111wlq 于 2011-9-20 13:45 编辑

  但是,天上掉下的馅饼再大,也不会砸到所有人的头上。

  虽然来自Intel的消息表明,现有6系芯片组主板均可通过刷新BIOS提供对Ivy Bridge处理器的支持,但PCIE Gen3则没有被提及。

Ivy Bridge处理器支持PCIEGen3 + 6系芯片组主板支持IvyBridge处理器≠6系芯片组主板支持PCIE Gen3

  以技嘉为例,虽然在8月份放出了支持Ivy Bridge处理器和PCIE Gen3的主板型号及对应BIOS版本,但列表中并没有包含所有型号的6系主板。其他厂商如华擎、微星,则通过推出部分相应新型号的主板来宣称支持PCIE Gen3,原有型号即被确认与PCIE Gen3无缘。华硕在此事上则显得较为平静,目前还没有支持列表的消息或推出相应新型号主板。因此,PCIE Gen3的到来,也仅仅离那些支持PCIE Gen3主板的用户更近些。其他人要享受PCIE Gen3显卡的魅力,要么转入现有6系芯片组中支持PCIE Gen3的主板阵营,要么等待许久之后随Ivy Bridge处理器而来的配套主板。

作者: lk111wlq    时间: 2011-9-20 00:08
标题: CPU的PCIE控制器及主板PCIE设计
本帖最后由 lk111wlq 于 2011-9-20 13:50 编辑

首先,我们来看一下CPU中提供的PCI Express有哪些配置

[attach]50714[/attach]


Intel第二代酷睿(Sandy Bridge)PCIE Supported Configurations



  即第二代酷睿(Sandy Bridge)处理器支持原生1x16或2x8的PCIE Gen2输出,现有6系主板则依据此来设计PCIE插槽和PCIE通道的分配。

[attach]50715[/attach]


原生2x8


[attach]50716[/attach]


原生x16



  如上图所示,原生PCIE输出在主板上只能做x8+x8或x16其中的一种,用户无法选择;使用Switch进行不同方式拓展后,配合AMD、NVDIA的CF、SLI技术,则可以有单卡x16与双卡x8及其它模式选择,增加了PCIE使用的多样性和可扩展性。

[attach]50717[/attach]


x16/x8模式示意图(后文将详细说明)



作者: lk111wlq    时间: 2011-9-20 00:08
标题: PCIE Switch介绍
本帖最后由 lk111wlq 于 2011-9-20 13:51 编辑

What is a PCIe Switch?
A PCI Express switch provides serial, high-speed, point-to-point connections between multiple I/O devices and a microprocessor (or root complex) allowing peer-to-peer communication, fan-out, or aggregation of end-point traffic to the host. The PCI Software views a PCIe switch as a hierarchy of PCI-to-PCI bridges (connected back-to-back). Within each switch, one port is designated as an upstream port connecting to a processor or a root-complex and the rest are downstream ports connecting to various I/Os. All PCI Express control transactions and interrupts automatically flow to the upstream.
When would you use this?
Most processors and root complexes offer limited PCI Express ports. A PCIe switch allows the host to connect to multiple PCIe I/Os or endpoints, effectively creating additional PCIe ports.

以上摘自http://www.plxtech.com/products/devicedefinitions#pcie

  PCIe Switch,为多个I/O设备和CPU提供连续、高速的点对点连接,以形成对等通信网络及输出,或将终端通信传输至主机。大多数的CPU仅提供有限的PCIe port,而PCIe Swtich可以增加额外的port供设备使用。

  不同厂商、不同型号的PCIe Switch或许有所区别,但总的来说PCIe Switch就是发挥PCIE通道拆分、整合与扩充作用的信号开关,只是它们拆分、整合与扩充的方式与规格有所不同,以适用于不同的领域。
桌面级电脑领域常见的PCIe Switch产品多出自PLX、Pericom、NXP、ASMedia公司,提供了许多规格的Switch以供选择,其他的还有NV出产的NF200、Lucid的Hydra200系列。

作者: lk111wlq    时间: 2011-9-20 00:08
标题: 常见PCIE Switch及其基本原理
本帖最后由 Brocup 于 2011-9-20 14:14 编辑

  PLX、Pericom、ASMedia公司的低端型号中,大多是对PCIE的信号进行分配/复合,且桌面电脑产品中多以2-lane较为常见(故而主板上CPU PCIE的分配一般有4个这样的Switch),通过不同数量的Switch组合,以发挥PCIE通道拆分、整合的作用,如出自PLX的PEX8608多使用于主板芯片组PCIE通道分配、Pericom的PI3PCIE2415、NXP的CBTL04082A/B和ASMedia的ASM1440等多使用于CPU的PCIE x8分配;而相应的高端型号则常使用于AMD、NVDIA的单卡双芯技术中,如HD6990的PEX8647和GTX590的NF200,或者配备于主板上以支持3-way CrossFire/Quad SLI等。
同时,上述介绍中提到的型号皆为PCIE Gen2规范,相应的PCIE Gen3产品也已经面世,型号分别为PI3PCIE3415、CBTL04083A/B、ASM1480和PEX8747,但出自NVIDA的NF200相对应的PCIE Gen3规范产品目前还没有消息。

PI3PCIE3415、CBTL04083A/B、ASM1480的规格相类似。

以PI3PCIE3415为例,3.0与2.0规范产品的参数对比如下:

[attach]50718[/attach]


  由上图可以看出2415与3415除了最大的区别——PCIE Gen2/Gen3外,并没有新增参数,仅有部分数值变动。

[attach]50719[/attach]


结合上图来解释一下Switch对PCIE通道的具体分配:

  使用4个PI3PCIE2415/3415或者其他2-lane规格的Switch时,CPU 16-lane中的x8直连第一条插槽,而另外的x8则由Switch控制,视用户使用PCIE插槽的情况来决定去向:仅使用第一条插槽,则将此x8连接至第一条插槽,与直连的x8构成单插槽全速x16规格;当第二条插槽被使用时,则此将x8连接至第二条插槽,构成双插槽x8+x8规格。这样就实现了单卡x16或双卡x8两种模式的选择。

CBTL04082/04083与ASM1440/1480的作用原理同上。

  需要注意的是,虽然原理相同、参数差别不大,但在支持PCIE Gen3的CPU上使用Gen2规范的PCIE Switch,经由Switch分配的lane,将运行在Gen2规范上(包括使用Switch分配x8,另外x8原生的PCIE主板),原生x16 lane模式则不受影响。

  不过下一代的Ivy Bridge处理器比如今的SNB/SNB-E多了一个PCIE Configuration,即x8+x4+x4的输出模式,加上Gen3的翻倍带宽,按目前的情况来看,x4即可满足GPU需求,故将来的PCIE插槽设计或许会和现有主板有所不同,呈现出更加多样化的局面。

作者: lk111wlq    时间: 2011-9-20 00:08
标题: PCIE Switch——PEX8647、NF200介绍
本帖最后由 lk111wlq 于 2011-9-20 13:51 编辑

  以上介绍的是较低规格是PCIE Switch,仅支持2-lane的信号开关,可选择性有限。接下来看看高规格的Switch,其中使用于HD6990的PEX8647和GTX590的NF200较为常见(及其它单卡双芯显卡上),NF200又常被使用于主板上,以进行多卡支持

[attach]50720[/attach]


Remark后的PEX8647



[attach]50721[/attach]


NF200-P-SLI-A3



NF200的官方datasheet资料无法查询到,可以借鉴wiki简介
http://zh.wikipedia.org/zh-cn/NVIDIA_NF200

而PEX8647已经有相应的Gen3产品



[attach]50722[/attach]


PEX8647、PEX8747参数对比




  上图是Gen2规范和Gen3规范的PEX芯片对比,除了PCIE版本不同,port数和功耗也有所变化。PEX8747已经是目前PLX Gen3规范48-lane中最低规格的Switch,很有可能作为8647的接替者,使用于以后的Gen3单卡双芯产品中。

作者: lk111wlq    时间: 2011-9-20 00:08
标题: NF200/PEX8647的工作原理
本帖最后由 lk111wlq 于 2011-9-24 18:04 编辑

NF200和PEX8647芯片的原理近似,但与低规格产品有所不同。

以NF200为例:

[attach]50723[/attach]


  NF200内建的48-lane中,x16连接CPU的PCIE Port,2x16连接显卡,以此将LGA1155原生的x16扩展成2x16规格。

[attach]50724[/attach]


内部功能结构框图


  在这里要解释一个概念,时分复用Time-Division Multiplexer,也是NF200/PEX8647发挥作用的核心原理:

当显卡A闲置,CPU的x16通道全部用于传输显卡B数据,速度即为全速x16;反之亦然。

当显卡A、B同时使用,Controller会将数据队列根据一定的分配原则,有选择性地在显卡A、B的16lanes中切换传输。在属于显卡A/B的传输时间里,单向lane速率仍然是2.0的500MB/s,x16仍然是最大16GB/s,但两者不能同时获得16 lanes的传输,一者使用所有的lane进行传输时,另一者必须等待,直至Controller分配时间给它。即保持了通道带宽和传输速率,但负载较大时,增加了数据传输的延迟。

  或许每种SwitchController对数据队列的处理方式不同,但总的原理相差不大,有兴趣的可以借鉴以上说明,结合相关的Datasheet(及此贴中的讨论)进行更加深入的学习。

作者: lk111wlq    时间: 2011-9-20 00:08
标题: 三大厂商的主板Gen3支持
本帖最后由 lk111wlq 于 2011-9-20 13:52 编辑

  PCIE的资料说到这里,通过以上的说明,基本涵盖了所有PCIE x16通道分配的基本情况。而谈PCIE Gen3芯片组的事情还过早,PCIE Gen3显卡支持的主板却已经在人们眼前,我们就来看看现今宣称支持PCIE Gen3显卡的主板,它们是如何进行支持的,是否真如它们宣传的那样,仅通过刷新BIOS或更新主板型号便可获得支持。
作者: lk111wlq    时间: 2011-9-20 00:08
标题: 华擎(Asrock)
本帖最后由 lk111wlq 于 2011-9-20 13:59 编辑

  首先是较多Gen3型号已在市面上可以买到的厂商——华擎(Asrock)

[attach]50725[/attach]


  主板型号带Gen3的即为支持PCIE Gen3

[attach]50726[/attach]


  点进去后会发现,每张主板的介绍中,第一栏的都是Gen3支持,以及NXP L04083B的特写


它们的一些概述如下(型号均为缩写,末尾均省略Gen3,下同)

Z68 EX7(Extreme7)——1x PCIe 3.0 x16 插槽, 4 PCIe 2.0 x16 插槽, 支持AMD 3-Way CrossFireX™ 和 NVIDIA®3-Way SLI™
Z68 Fatal1ty——2 x PCI Express 3.0 x16 插槽,支持ATI™ Quad CrossFireX™, 3-Way CrossFireX™ 和CrossFireX™
Z68EX4——2 x PCIe 3.0 x16 插槽, 1 x PCIe 2.0 x16 插槽, 支持AMD 3-Way CrossFireX™ 和 NVIDIA® Quad SLI™
Z68 EX3——2 x PCIe 3.0 x16 插槽, 支持AMD Quad CrossFireX™ 和 NVIDIA® Quad SLI™
P67EX4——2 x PCIe 3.0 x16 插槽, 1 x PCIe 2.0 x16 插槽, 支持AMD 3-Way CrossFireX™ 和 NVIDIA® Quad SLI™
Z68Pro3——1 x PCIe 3.0 x16 插槽

  根据前文的分析,对再照每张主板的图片(网络搜集)及结合各主板Manual手册中相关说明,进行以下分析:

[attach]50727[/attach]



▲Z68 EX7全貌


  

[attach]50728[/attach]

[attach]50729[/attach]

[attach]50730[/attach]

[attach]50731[/attach]

▲Manual手册Expansion Slot栏目



  主板共有4个x16 slots(PCIE5x4 mode来自PCH),支持Gen3单卡x16@PCIE2,Gen2双卡x16@PCIE1、4,Gen2三卡x16、x8、x8@PCIE1、4、6。
  当PCIE2被使用,PCIE1、4、6失效,且仅有PCIE2支持Gen3规范。
  PCIE Gen3仅在使用Ivy Bridge处理器时提供,使用SNB处理器则为Gen2规范。

[attach]50732[/attach]


▲PCIE Switch  NXP L04083B



综合以上的信息,我们可以对其CPU的PCIE x16通道分配情况做出推断(仅讨论x16 Slot):

[attach]50733[/attach]


PCIE2 x16由CPU直接提供;PCIE1、4、6由CPU的x16经由NF200后分配后提供(PCIE5来自PCH)。
——仅支持 Gen3单卡@PCIE2  (原生x16)


[attach]50734[/attach]


▲Z68 Fatal1ty全貌


[attach]50735[/attach]


▲Z68 Fatal1ty PLX局部


[attach]50736[/attach]



▲Manual手册Expansion Slot栏目
  主板共2x16 slots(PCIE5 x4 mode来自PCH),支持Gen3单卡x16@PCIE2,双卡x8@PCIE2、4

2x16 Slots,经由Gen3 Switch—L04083B分配CPU x16,达成x16/x8模式
——可支持Gen3:单卡x16@PCIE2 ,双卡x8@PCIE2、4


[attach]50737[/attach]


▲Z68 EX4


[attach]50738[/attach]


▲Z68 EX3


[attach]50739[/attach]


▲P67 EX4


[attach]50740[/attach]


▲Manual手册 Expansion Slot栏目



三者都支持单卡x16@PCIE2,双卡x8@PCIE2、4

Z68 EX4(PCIE5来自PCH)、Z68 EX3、P67 EX4(PCIE5来自PCH)三者,2x16 Slots,经由Gen3 Switch—L04083B分配CPU x16,达成x16/x8模式
——可支持Gen3:单卡x16@PCIE2 ,双卡x8@PCIE2、4

[attach]50741[/attach]


▲Z68 Pro3


[attach]50742[/attach]


▲Manual手册 Expansion Slot栏目


支持单卡x16@PCIE3

仅有1x16 Slot,CPU原生x16模式
——可支持Gen3:单卡x16@PCIE3


  对应的不带Gen3型号的有Z68/P67 EX4以及Z68 Pro。价格上,Z68 EX7(Gen3)差价为150元左右。

作者: lk111wlq    时间: 2011-9-20 00:08
标题: 微星(MSI)
本帖最后由 lk111wlq 于 2011-9-20 13:59 编辑

  再来看看PCIE Gen3产品最先面世,但至今市面上较难看到的厂商——微星(MSI)
[attach]50743[/attach]
如上图中红色方框所示,型号带G3的主板即支持Gen3,分别是Z68A-G43、G45、GD55、GD65、GD80(后文型号均省略G3)
[attach]50744[/attach]
从官网概述来看,MSI对PCIE Gen3的宣传不温不火,仅在产品特色和Manual的Slots里注明了一下支持PCIE Gen3,并没有更多的解说。既然已经以Gen3支持做型号区分来宣传,建议微星在相关型号的解说中添加图文说明。
[attach]50745[/attach]
  同时,Z68A-G43(G3)的Manual中还向我们透露出还未上市的Z68S-G43(G3)的存在

[attach]50746[/attach]
  总的来说,2个月前的Gen3产品列表中,只有2款主板仍未露面,以及一款没有提及的Gen3产品Z68S-G43,其他均能在官网查询到相关资料,而铺货估计还要一些日子。

我们先来看看在官网已经能查到的G3产品
[attach]50747[/attach]

▲Z68A-G43(G3)
[attach]50748[/attach]
▲Z68A-G45(G3)

[attach]50749[/attach]
▲Z68A-GD55(G3)
[attach]50750[/attach]

▲Z68A-GD65(G3)

[attach]50751[/attach]
▲Z68A-GD80(G3)

微星官网的图片尺寸较大,能够很清晰地看到主板设计分布


[attach]50752[/attach]
▲PCI-E Switch(GD55)
[attach]50753[/attach]

▲PCI-E Switch (GD80)

PCIE Switch的图片仅能搜集到GD55和GD80的,但可以推理得知,带G3的型号上皆使用PI3PCIE3412型号、出自Pericom的PCIE Gen3规范Switch,支持Gen3显卡
[attach]50754[/attach]


▲Manual手册 Slots栏目

  除Z68A/S-G43仅有1x16 slot外(仅支持x16@PCIE2),其他均为2x16 slot,支持单卡x16或双卡x8模式。


综上,2x16 slots的主板目前有Z68A-GD80、Z68A-GD65、Z68A-GD55、Z68A-G45,通过Gen3 Switch—PI3PCIE3412分配CPU x16,达成单卡x16/双卡x8模式
——全部支持Gen3:单卡x16或双卡x8
1x16 slot的主板目前仅有Z68A-G43,CPU原生x16
——支持Gen3:单卡x16

作者: lk111wlq    时间: 2011-9-20 00:08
标题: 技嘉(GIGABYTE)
本帖最后由 lk111wlq 于 2011-9-20 13:59 编辑

  接下来是胃口最大的厂商——技嘉(GIGABYTE)

为什么说是胃口最大呢,请参见以下新闻
http://www.gigabyte.cn/press-center/news-page.aspx?nid=-1439
[attach]50755[/attach]

基于提供客户最大升级空间的承诺,技嘉全产品线6系列主板可原生支持PCI Express Gen. 3规格,包括最新推出的 G1.Sniper 2游戏专用主板,当使用者搭配Intel下一世代22纳米处理器*使用时,只要将技嘉6系列主板更新到最新的BIOS,所使用的平台即可迎接未来计算机技术所带来的所有效能提升。


  文末还浩浩荡荡列了许多的6系列主板型号与对应的BIOS版本
[attach]50756[/attach][attach]50757[/attach]

  从支持型号上来看,没有出现UD7级别3x16 slots及以上的高端产品,首先可以排除NF200的影响;表中还有不少2x16 slots的产品,难道技嘉有如此先见之明,在主板生产时已先一步使用Gen3规范的PCIE Switch了?
支持列表中有如此多型号,不可能去查找所有主板的大图、芯片使用方案和PCIE Slot设计。

我们先将表中型号进行以下分类:

    性能级——2x16 slots,CPU x16经由PCIE Switch分配而来
    主流级——2x16 slots,1x16来自CPU原生x16,1x16来自PCH
    入门级——1x16 slot,CPU原生x16


需要说明的是,无论芯片组是Z68、P67/H67还是H61,均由可能有三个级别的主板分布

性能级:

  性能级的PCIE Gen3支持与否由PCIE Switch决定:
  Gen3 Switch,Gen3 2x16全速模式;Gen2 Switch,Gen3 1x8(原生x8)半速模式


Z68中的高端代表——G1.Sniper2
[attach]50758[/attach]

▲G1.Sniper2全貌
[attach]50759[/attach]
▲Manual手册
[attach]50760[/attach]
▲PCIE Switch

  通过Gen3 Switch—PI3PCIE3415分配CPU x16,达成单卡x16/双卡x8模式
——支持Gen3:单卡x16或双卡x8

  同为Gen3规范Switch,与微星采用的3412有部分参数区别,附上PDF供查阅。此主板上市日期较晚,发布时已确定采用Gen3 Switch,故Gen3支持也是理所应当的

[attach]50761[/attach]
▲Z68X-UD3R-B3全貌

[attach]50762[/attach]
▲Manual手册
主板共有2x16 slots,支持单卡x16@PCIEX16,双卡x8@PCIEX16、X8,支持ATI CrossFireX/NVIDIA SLI

[attach]50763[/attach]
▲PCIE Switch

通过Gen2 Switch—PI3PCIE2415分配CPU x16,达成单卡x16/双卡x8模式
——无法支持Gen3

无法搜集到其他更多性能级型号的PCIE Switch清晰图片,故不再举例。


主流级:

  主流级的Gen3支持与否由x16 slot的来源决定:

  来自CPU x16,支持Gen3;来自PCH,不支持Gen3


[attach]50764[/attach]
▲GA-H61M-D2P-B3
[attach]50765[/attach]
▲Manual手册

结合Manual手册可以判断出x16slot来自CPU
——支持Gen3:单卡x16@PCIEX16
其他性能级的主板按照以上方法即可判断Gen3支持与否,不再举例

入门级:

  入门级的主板只有1x16 slot,来自CPU,故皆可实现Gen3支持

[attach]50766[/attach]
支持列表中最后一个型号,H61芯片组,GA-P61-DS3-B3
[attach]50767[/attach]
GA-HA65M-D2H-B3

——仅有1x16 slot的主板不再举例,支持Gen3:单卡x16


至此,三大厂商所有Gen3主板,支持情况都已列明。

作者: lk111wlq    时间: 2011-9-20 00:08
标题: 结论及选择取向
本帖最后由 lk111wlq 于 2011-9-20 14:00 编辑

我们进行以下列表
[attach]50771[/attach]

Gen3单卡:
  单卡支持的大多数为低端主板,华擎的EX7首先不推荐。其他的则根据需要来选择技嘉中相应规格的主板即可,或考虑微星的G43及后续的G3主板。

Gen3双卡:
  从现今的入手渠道难易度、产品丰富度上来说,华擎的可选型号最多,毕竟PCIE Gen3算是其宣传重点;而微星四款算是稳扎稳打的主板,目前还没有较多的渠道购买,且大陆的价格上还存在许多的不确定性;至于技嘉,宣称全6系列支持PCIE Gen3,现今来看却仅有一款G1.Sniper2(双卡Gen3支持)能够符合要求,且在表中要么价位遥遥领先,其选择与否,只能说看个人需求了,至于以后会不会用更新相应主板rev或其他方式进行支持,仍未可知。

Gen3三卡及以上:目前无相关主板。

需要提醒的是,上述表格及结论仅是针对PCIE Gen3支持而言,具体的主板设计、用料及选购价值另当别论

作者: lk111wlq    时间: 2011-9-20 00:08
标题: PCIE Gen3讨论
本帖最后由 lk111wlq 于 2011-9-20 13:55 编辑

  了解了所有主板的Gen3支持情况,回归到PCIE3.0的完整支持来。由本文开头的介绍中我们知道,PCIEGen3和Gen2的区别不止在带宽上,其他细节也进行了改动,主板上使用PCIE Gen3 Switch也并不能完全决定PCI Gen3显卡的支持,还要考虑到其他PCIEGen3规范的要求,诸如互联属性、结构管理、编程接口等等(PCIE Gen3规范完整文档已向PCI-SIG组织成员公布,但没有公开,无法获得具体信息,仅搜寻到不包含两者区别的datasheet)。

  除此之外,作为PCIE Gen3的主角,Ivy Bridge处理器和PCIE Gen3显卡都还没有现身,毕竟提供PCIE Gen3的仍然是下一代Ivy Bridge处理器,使用PCIE Gen3的仍然是下一代PCIE Gen3设计规范的显卡,现有6系主板对它们的支持、PCIE Gen3显卡的带宽需求等等,都尚未可知,谈主板插槽上的PCIE3.0或许言之过早了点。再加上显卡的发展也还没能充分利用现有的PCIE2.0 x16 最高16GB/s带宽,即使下一代显卡运行在PCIE Gen3规格想必也不会有多少的性能损失(兼容性良好的前提下),考虑这个实在是显得过于长远。

作者: lk111wlq    时间: 2011-9-20 00:08
标题: Gen3人群界定
本帖最后由 lk111wlq 于 2011-10-8 12:39 编辑

  虽然PCIE Gen3还较为遥远,但既然主板厂商已经有相关的产品上市,就不排除有这种需求的人存在,因此界定一下最有可能较早使用到PCIE Gen3支持的人群

  目前已知最近的PCIE Gen3支持将由Intel下一代Ivy Bridge处理器原生提供,且接口仍为LGA1155,Intel宣称现有6系主板通过更新特定BIOS便可提供对Ivy Bridge处理器的支持(详细的支持列表BIOS请参考各主板官网);同时,现有显卡均为PCIE Gen2(2.0、2.1)规范,在一年内PCIE Gen3规范的显卡都不太可能出现,因此PCIE Gen3插槽较可能适用于
① 目前使用入门级或主流级CPU(SNB)、显卡,对电脑性能有一定的要求,在一年后有可能同时升级CPU、显卡的用户。
② 使用多卡并行计算,能够充分利用PCIE Gen3的翻倍带宽的特殊领域
③ 使用SSD阵列卡对周边设备进行支持,有较高要求的特殊用户

  当然,以玩家的硬件更换速度,在现有主板能满足需求的前提下,或许能用上PCIE Gen3也说不定。

  至此,Gen3支持的主板信息和相关的人群界定已归纳完毕,仅供参考。

作者: lk111wlq    时间: 2011-9-20 00:08
标题: 全文总结
本帖最后由 lk111wlq 于 2011-9-20 13:56 编辑

  PCIE Gen2的标准规范于2007年发布,经过了2年左右的时间才得以普及,现今距PCIE Gen3规范发布仅过了一年,且PCIE Gen3带宽仍未成为瓶颈,双卡x8和双卡x16的性能差距较小; Ivy Bridge处理器和下一代A/N显卡都还未面世,即使PCIE Gen3是迟早之事,现在谈PCIE Gen3主板尚属言之过早,至少在一年内是没有太大的意义,本文目的旨在为那些有PCIE Gen3需求的人群提供主板选购的一个参考。

作者: lk111wlq    时间: 2011-9-20 19:12
自己的小沙发,默默地坐着~
作者: fenwuding    时间: 2011-9-20 20:00
IVY Bridge已经快了,现在已经是10月快到,距离2012年3月或者4月最多半年时间
其实对于大部分人来说,现在的SNB主板上了IVY处理器之后都能支持到单根PCI-E 3.0已经够了,不上多卡带宽再高也没用,要的只是一个新鲜感,原本的PCI-E 2.0也足够单卡使用,3.0本身就是个主板厂商拿来炒作用的噱头
现在看来7系列主板相对6系列的更新是乏善可陈,就剩下一个原生USB3.0
作者: junweb    时间: 2011-9-20 22:39
很好,较为系统地认识了PCIE3.0
作者: royalk    时间: 2011-9-20 22:54
这篇文章核心价值在于对PCIE switch的解说,其实不管PCIE是如何换代,这些东西都不会变。
作者: kanon421    时间: 2011-9-21 16:21
学习了PCIe Switch
作者: lzy24    时间: 2011-9-22 04:54
很好的文章。
从实用性来讲,PCH支持Gen3才更有意义。
作者: ice    时间: 2011-9-22 22:12
本帖最后由 ice 于 2011-10-26 19:44 编辑

"还要考虑到其他PCIEGen3规范的要求,诸如互联属性、结构管理、编程接口等等"
主板布线等基本上只和物理层有关了,和编程接口什么的没太大关系,那个是软件逻辑的事情。而恰恰是物理层的一些电气特性是否到位,关系着现有单16X主板能否顺利上pci-e 3.0。这个真要测试,要上示波器了,等吧,看看技嘉是真的能够过硬地解决这个问题,还是用REV变更法。

此外全文除了switch没有写到位以外,都还不错。
这两种switch其实本质上不同的,应该分开写,并且强调一下。
20111026更新:
请看家千万不要忽略57楼开始的leedemon童鞋乱入带来的精彩内容,包括对我观点的纠正。
作者: lk111wlq    时间: 2011-9-23 00:24
回复 28# ice


   多谢建议~
物理层的电气特性属于硬条件,本人没有相关专业知识,也无法去说明了。对于这个,虽然文末的表中说明原生自CPU的x16信道可以支持Gen3规范,但那也是在主板的布线等硬条件能满足的情况下,所以还是蛮忐忑的...


Switch部分,2-lane规格的应该只是信号开关型芯片(仅决定信号的去向),而像PEX8647、NF200这类的,就涉及到信号处理,有更多的内容。但PDF资料仅有databrief,没有此部分的基础说明,加上本人为业余人士,只能提出两者的不同,并结合相关资料来推断两者的原理,故而无法从本质上进行说明了..
作者: gin250    时间: 2011-9-23 23:46
强烈支持
作者: ice    时间: 2011-9-23 23:53
回复 29# lk111wlq
MSI抨击GA的PPT里面有写,但是写的对不对是另外一回事情。还是等时间来说明真相吧。

Switch部分,2-lane那种是纯粹的电子开关,一旦确定开关走向,是不能变化的。这里switch的含义接近于“开关”的汉语含义。这个基本上之和物理层有关。

后面那种,switch的含义接近于“(以太网)交换机”中的“交换机”的含义,我觉得应该能到数据链路层。如果你能找到2004年pci-e规范的第一版白皮书,那个里面有一些介绍的。这里的switch是将总线时分复用没错,并且两个终端还可以直接通信(NV在自己的pdf里面有讲如何让两个GPU通过switch直接通信)。但是,按照文中那种“机械切换”是不能完全解释的。这里面可能是“接收到缓冲区——拆包(数据链路层封包)——重新封包(数据链路层)——发射”这样一个“存储转发”的过程(以太网交换机也是存储转发的)。

否则,就难以解释如下的基本事实:
1:早期P55主板,通过PLX的switch,使得1lane 2.0速率的USB3和SATA3芯片跑在4lane的1.1速率的南桥pci-e通道上。两边速率都不同,lane数也不同。(事实上,应该是,PLX switch按照2.0速率,1lane的格式接收到芯片内部缓冲区——拆包——重新封装成4lane模式的数据包——按照1.1速率发出去。并且,我估计应该不能同时接收USB3和SATA3的芯片,只能时分复用交错使用,如果要融合这两个设备的数据包一起发,可能需要比数据链路层更高的协议层实现)

2:如果NF200上端接8Xpci-e总线,那么下端接的显卡呢?你可以去看看,应该是16X。而这一点,用文中的方法解释不清。
作者: ice    时间: 2011-9-24 00:00
再补充一下,只有在上一级支持pci-e lanes分拆的前提下,才可以使用文中所述的第一种switch来按照所支持的分拆方法,分拆pci-e lanes。
因为,分拆lanes应该会涉及到数据链路层的操作。
作者: lk111wlq    时间: 2011-9-24 10:12
本帖最后由 lk111wlq 于 2011-9-24 10:14 编辑

回复 32# ice


   [attach]51274[/attach]
The physical layer supports x1,x2, x4, x8, x12, x16 and x32 lane widths and splits the byte data as shown in Figure 9

第一种开关的针脚图解与结构框图
[attach]51273[/attach]

[attach]51276[/attach]


从框图中来看,这种2-lane规格的switch只涉及到信号的“开关”,而PHY层又支持x1,x2, x4, x8, x12, x16 and x32 lane 模式的传输,这样能不能证明支持lane的分拆?
作者: lk111wlq    时间: 2011-9-24 10:31
本帖最后由 lk111wlq 于 2011-9-24 10:41 编辑

回复 31# ice


   第二种switch的话,我的理解是:将上端的数据队列接收,拆包后判断需要发送到哪个显卡处理(因为物理层以Frame为单位,而数据链路层包含Packet Sequence Number,包含判断数据包的具体信息),封包后重新排列数据队列(根据lane规格及其他信息),再时分复用地发射到相应的显卡
[attach]51277[/attach]

上图是Lucid LT24102的功能框图,与NF200/8647的基本原理应该也是差不多的?

同时,时分复用在这里应该是异步的,即可以通过显卡的反馈来改变数据队列的排列规则(或封包规则)。

这样也就能够解释:
1,USB3和SATA3芯片的数据接收由上端决定,但发送到下端时,可以根据下端设备的反馈来调整数据队列(数据包)的传输规格(1/4 lane)
2,即使上端是x8的数据队列,但在重新排列时是根据下端的反馈信息来进行的,只要swtich和下端的显卡支持,即可进行x16 lanes的传输

而整个过程中,swtich的传输速率应该是不会改变,只是因为单位时间的改变(时分复用的作用),导致1 lane 2.0速率可以等效于2 lane 1.1速率,实际上的传输速率和带宽都是没有发生变化的。
作者: lk111wlq    时间: 2011-9-24 10:42
以上的信息全部是自己的“猜想”,实在不能保证正确性,仅仅是能说得通而已...  毕竟就算是基本原理,也不是我这样的外行能够轻易理解的
作者: ice    时间: 2011-9-24 12:15
33#的说法
首先,第一幅图和后面两幅应该是来自于不同的来源。
其次,第一幅图只涉及概念上的多lane拆分,并不涉及细节。同时图下面说的应该值得是某产品的物理层支持的几种拆分模式。请注意,该产品的物理层支持这些拆分模式,并不代表只通过物理层就能实现这些拆分。事实上,我认为必须有数据链路层参与,并且数据链路层要能明确知道,聚合哪几个lanes的数据。反之,如果只需要在物理层解决,那么岂不是无论芯片组支持的情况,所有的主板加上这种电子开关都可以任意拆分pci-e lanes了?
第三,后两幅图明确表明了,这种电子开关的含义。和更高级的第二种switch里面的结构,基本上没什么关系。
作者: lk111wlq    时间: 2011-9-24 12:27
回复 36# ice


   就是说即使switch和物理层都支持pcie lane的拆分,还需要数据链路层做出相应的反应(数据队列等的改变)? 这样才能使得第一种的switch获得pcie lane拆分的权利?
作者: ice    时间: 2011-9-24 12:36
34#
原文:“第二种switch的话,我的理解是:将上端的数据队列接收,拆包后判断需要发送到哪个显卡处理(因为物理层以Frame为单位,而数据链路层包含Packet Sequence Number,包含判断数据包的具体信息),封包后重新排列数据队列(根据lane规格及其他信息),再时分复用地发射到相应的显卡”
先指出一个小的地方:这里只涉及到数据链路层,因而,所有问题都是相对于链路而言的,也就是说,只能确定是哪个链路的数据,至于链路上的何种设备,其实是无从得知的。也就是说,这里只能根据链路信息处理,而不能根据链路上具体设备提供的信息处理,后者可能需要到会话层的信息。
其次,我认为,你这个里面对“时分复用”的时间尺度,可能理解有误。时分复用,指的是对总线的时分复用,或者说对链路的时分复用。假定一个switch芯片连接了主机端(H),设备A,设备B。此时,switch可能根据这三方的请求情况,对链路(总线)时分复用。比如说,switch接到A的请求,给A分配了一个小的时间段来占用链路,此时对B显示链路繁忙,让B等待。在这个很小的时间段之内,A其实是独占链路的,A按照A连接到switch的llane宽度和速率给switch传递数据,switch根据内部的缓冲——重新封包等,按照switch连接到H的lane宽度和速度,给H发送信息。在这个时间片用完以后,switch再重新选择响应那个设备,切换链路等,周而复始。
所以,时分复用应该是链路层面的(或者说是总线占用层面的),而不是如引用文中所说,最后一个步传输时候的那个层面。
作者: lk111wlq    时间: 2011-9-24 12:42
回复 38# ice


   恩,这个是我误解了。  在属于该设备使用的时间内,总线的所有层面应该是都为它所用,不会保留给另外一个设备。
作者: lk111wlq    时间: 2011-9-24 12:43
回复 38# ice


   不过我想说明的是,”根据链路信息处理“,即这里的时分复用不是固定周期,而是异步、可调节的吧
作者: ice    时间: 2011-9-24 13:04
本帖最后由 ice 于 2011-9-24 14:07 编辑

34# part2
(借地方,贴个地址http://teacher.en.rmutt.ac.th/kt ... se%201.0%20spec.pdf

这里的这张图很清楚,不管是upstream还是down stream,都有自己的port,自己的port都是可以配置的。实际上在PLX的pdf里面有说明,最早ASUS主板上用的那个PLX的芯片,3个端口都是4lanes的,并且可配置为1lane,2lanes,4lanes,速率可以配置为1.1速率和2.0速率。(其实在华硕那个P55出来的时候,我就解析过了,如果ocer的论坛还在,不妨一搜)现在的PLX的switch芯片,端口配置更加灵活了。
注意看图片中间的“Switch Fabric”这个是关键。
事实上,这个交换结构隔离了upstream和downstream的端口。
也就是说,upstream的lane数量,运行速率实际上和downstream没什么必然的联系。
依然举PLX芯片连接USB3的例子,并先只考虑PLX一端连1.1 4lane的P55芯片组的pci-e的通道,另一端连接1lane 2.0速率的USB3芯片,并且暂不连上SATA3芯片。
此时,对于H而言,这就是一个在链路上使用了 4lane(1.1速率)的设备,至于这个设备是怎么来的,H不管。
对于USB3芯片而言,它运行在2.0速率 1lane的链路上,至于这个链路是谁提供的,他也不管。
对于PLX switch而言,他的downstream port配置在了1lane 2.0速率,连接着USB3芯片。他的upstream 配置在了 4lanes 1.1速率,连接着P55芯片组。在其内部,有switch Fabric部分,这个部分缓冲接收的数据包,重新打包,按照传递方向上对应端口的速率和lane数,发给switch内部的port部分,传给物理层,通过主板布线,给P55。

如果同时加上SATA3的芯片,在USB3或者SATA3单独运作的时候,应该和上面一样。如果两个设备同时都有传输需求,那么需要时分复用总线,由于整个传输系统卡在1lane 的2.0接口上,假设两个设备都是满载的数据请求,那么两个设备实际上都有一半时间在等待,换句话说,和直接连在1.1接口上没什么区别。不过同时满载不太容易见到,一般而言,加个PLX是switch还是有好处的。


同时做一猜想,因为此时upstream的带宽是downstream的2倍,也就是满载传输的时间是一半(按照上面的说法,upstream实际上增加了一半的空闲周期)。如果switch能交错的从两个downstream获取数据,这样可以使upstream满载。但是这可能需要片内容纳大量的缓存,另外,也可能和pci-e协议的细节不相容。具体怎样,不得而知了。不过如果谁能做实验测得上述配置条件下,USB3和SATA3持续性地传输数据的速率超过pci-e 1.1 1lane的极限,那倒是可以佐证的。(不过由于这个过程中还有其他因素影响,如果是没有达到pci-e 1.1的极限,也不能做出相反的结论,因为有可能是卡在其他地方。)

BTW,pci-e总线是完全双向的,所以这里的upstream和downstream不代表数据流向,应该约定,接近root complex方向为upstream,接近终端device为downstream。
作者: ice    时间: 2011-9-24 13:20
34# part3
说说原文中图片下面的一些话

1:“时分复用是异步的...”
异步是一个相当广泛的概念,这句话并没有让我确实明白,不过链路(总线)的时分复用,前面已经说了很多,请参考。

2:“这样也能够解释...1:...2:...”
请根据上面两楼的说法,设备或者HOST连接到switch的lane数量是可以配置的,upstream port和downstream port实际上是被switch Fabric隔离的,他们的lane数量,运行速率没有必然的联系。
例如一个NF200 upstream 连接8X 2.0,down stream 连接16X 2.0。对于显卡而言,连接他的port配置为16X,所以会显示为16X,但是和H通信时,取决于整个链路中最窄的地方,(对H而言,连接他的只是一个8X的设备)因而,还是8X的速度,显卡端徒有16X的端口,但是会插入大概一半的的等待时间。

3:switch端口的速率和lanes是可配置的。
作者: ice    时间: 2011-9-24 14:10
本帖最后由 ice 于 2011-9-24 14:26 编辑

回复 37# lk111wlq


   一般认为(参考以太网的分层结构),switch(原文中第二种)是数据链路层(第二层)的设备。他的权限和所能实现的功能,都在数据链路层和以下的物理层。并且一般认为物理层实现是固定的,所以switch主要讨论数据链路层的特性。
举例而言,从北桥直接引出来的pci-e lanes要北桥支持拆分,才可以用switch(第一类)拆分。这里面北桥内部包含有pci-e控制器,可能是switch或者更可能是级别更高的root complex。

从NF200等switch(第二类)引出来的pci-e lanes,要该switch支持拆分,在downstream才可以用switch(第一类)拆分。

如果是一个4lane的端口只使用1lane,那么不用拆分,也不需要switch(第一类),只是后面剩余的lanes只能闲置。
补充一下:最早的可拆分pci-e的主板,用的是一片单独的PCB来拆分pci-e 通道,也有的是用跳线的。这其实和第一类 switch等价。所以说,第一类switch就是一个电子可调的固定开关。之所以后来改用这种switch,除了电子可调比较省事以外,应该也和这种一次性做好的元件电气特性更好有关,因为pci-e的频率越来越高了。一次性焊在主板上的元件,不用担心金手指氧化,灰尘等等。
作者: ice    时间: 2011-9-24 14:17
回复 40# lk111wlq


   这个貌似是图中VOQs的作用。根据需要,分配两个设备公平共享总线。你可以再仔细查证一下。
作者: lk111wlq    时间: 2011-9-24 16:18
回复 41# ice


   多谢指教! 这个需要我花费许多时间来消化了.. 以后遇到疑问还请不吝赐教~ 再次感谢!
作者: flyerwang    时间: 2011-9-24 17:16
回帖支持,好文章!
作者: ice    时间: 2011-9-24 18:25
回复 45# lk111wlq


   不谢不谢,探讨嘛~
作者: yanleiberg    时间: 2011-10-6 16:54
需要多快的内存才能达到pcie3 16x的速度?
作者: donnyng    时间: 2011-10-7 02:56
同时,现有显卡均为PCIE Gen3规范,在一年内PCIE Gen3规范的显卡都不太可能出现

20楼的,是不是有错误?

现在是g2规范吧?
作者: lk111wlq    时间: 2011-10-8 12:41
回复 49# donnyng


   已修正~  说明这位童鞋有认真阅读,再次感谢~
作者: bennyenson    时间: 2011-10-13 12:08
专业的...mark下
作者: travis    时间: 2011-10-23 14:23
回复  ice


   多谢建议~
物理层的电气特性属于硬条件,本人没有相关专业知识,也无法去说明了。对于这个 ...
lk111wlq 发表于 2011-9-23 00:24


简单说一种是受控的单刀双掷开关,通过外部信号切换哪个通道与上行相连,而PLX/NF200那种桥接器是在内部主动管理数据的流向,等于是个hub。
作者: travis    时间: 2011-10-23 14:31
回复  ice


   就是说即使switch和物理层都支持pcie lane的拆分,还需要数据链路层做出相应的反应(数据 ...
lk111wlq 发表于 2011-9-24 12:27


对于第一种单刀双掷mux而言,主板提供给它一个SEL信号(可能是利用了GPIO),就唯一地决定了它的出口连接到哪组PCI-e,也就是物理层的连接方式。
作者: 汽车爱好3    时间: 2011-10-24 09:26
呵呵,加油!
作者: wuchanjieji1988    时间: 2011-10-24 15:13
意义应该还不大,2k以内的显卡现在甚至连pcie2.0 8x的带宽已经能满足需求,这个等2015年只有才可能有实际意义吧
作者: ice    时间: 2011-10-25 23:14
回复 52# travis


   基本上是这样,可是以太网的hub还可以通过碰撞协议和时隙等,让各路都可以用,尽管效率低下,而这个就关死了。
作者: leedemon    时间: 2011-10-26 14:26
34#
原文:“第二种switch的话,我的理解是:将上端的数据队列接收,拆包后判断需要发送到哪个显卡处理(因 ...
ice 发表于 2011-9-24 12:36




你们讨论得确实认真啊!如果是switch的话,PCIe传送数据跟以太网的结构有点不一样,不是把上层的数据加到DL的包头来处理的。具体可以看PCIe的spec  chapter3 data link layer Specification,在Data link层传送2种包,DLLP(数据链路层数据包)和TLP(事务层数据包)。DLLP是端到端的,就是从一个PCIe接口到另外一个PCIe接口,负责流量控制,出错重传,电源管理的工作。但是TLP是可以从PCIe device到另外一个PCIe device,比如从某个复杂的PCIe bus端经过好几级的switch到达RC。像你说的NF200允许2张显卡内部通讯,就是利用这个机制,从一个显卡(作为PCIe的Endpoint)到另外一张显卡(另外一个Endpoint)。怎么控制包是传送到某个EP还是RC,得用到TLP的路由机制,这得看TLP具体的类型然后可以分为用地址来路由和用Device ID来做路由,规则比较负责...
时分的概念是在Physical Layer物理层的,这个时分是把一个包拆开分到多个lane传送,链路层应该没有。因为从链路的角度看,就是一条PCIE连线,PCIe的数据传送都是基于包的,必须发完一个包再发另一个包,所以这里的流量控制,qos控制,都是基于包来调度的。
接switch应该不受upstream port所接的downstream port的限制,只要switch能支持PCIe设备的枚举过程,就能让RC发现这个设备并给它分配地址和id,这样就可以正常工作的
作者: ice    时间: 2011-10-26 16:19
你们讨论得确实认真啊!如果是switch的话,PCIe传送数据跟以太网的结构有点不一样,不是把上层的数据加到DL的包头来处理的。具体可以看PCIe的spec  chapter3 data link layer Specification,在Data link层传送2种包,DLLP(数据链路层数据包)和TLP(事务层数据包)。DLLP是端到端的,就是从一个PCIe接口到另外一个PCIe接口,负责流量控制,出错重传,电源管理的工作。但是TLP是可以从PCIe device到另外一个PCIe device,比如从某个复杂的PCIe bus端经过好几级的switch到达RC。像你说的NF200允许2张显卡内部通讯,就是利用这个机制,从一个显卡(作为PCIe的Endpoint)到另外一张显卡(另外一个Endpoint)。怎么控制包是传送到某个EP还是RC,得用到TLP的路由机制,这得看TLP具体的类型然后可以分为用地址来路由和用Device ID来做路由,规则比较负责...
时分的概念是在Physical Layer物理层的,这个时分是把一个包拆开分到多个lane传送,链路层应该没有。因为从链路的角度看,就是一条PCIE连线,PCIe的数据传送都是基于包的,必须发完一个包再发另一个包,所以这里的流量控制,qos控制,都是基于包来调度的。
接switch应该不受upstream port所接的downstream port的限制,只要switch能支持PCIe设备的枚举过程,就能让RC发现这个设备并给它分配地址和id,这样就可以正常工作的
leedemon 发表于 2011-10-26 14:26


感谢仁兄如此给力的讨论!
我是2005年看过1.0的白皮书,6年过去了,也再没有看过,只能凭印象说说,供大家参考,讨论。
1:关于DLLP和TLP我完全同意您的看法,此外,可以提供一个消息,就是在intel的芯片组上,NV的显卡不能通过芯片组实现点对点的互相传递信息,但是如果是AMD的芯片组,或者NF200或者PLX的pci-e switch,那么是可以的,这是一个从事CUDA开发的朋友告诉我的,这应该和各家的路由机制有关。
2:时分复用的概念,这一块,不完全同意。首先我认为时分复用的概念并非只和物理层有关;其次,对于pci-e的实现,全部基于包的调度,这一点没有异议,但是根据我的印象,这个包是不能再拆分的,也就是说发送到物理层上某个lane传输的时候,一个数据包是最小单位。假定当前要传输一个数据包,那么即使有16lanes,也是只能空闲15个,而利用其中的一个。数据包发送以后,在接收端,有一个缓冲,在这里面根据一些ID类的信息,进行重排,检验,重发等流控和校验的机制。如若这样的话,那么一个switch或者RC,原本支持16X的lanes,如果要支持双8X,那么其内部必须有同时控制两路分别进行缓冲,重排,流控等的能力,如果要分拆成4路4X,那么必须具备同时管理4路的能力。因而我认为,并非随便的一个switch或者RC都能具备这种能力,也就是说,lanes不能任意拆分。

欢迎仁兄不吝赐教,指正!
作者: leedemon    时间: 2011-10-26 19:05
回复 58# ice


1的问题我是这样猜测的:现在看Z68或者P67的结构图,RC都是整合到CPU里面去的,所以在intel的平台上面,显卡都是直接连接到CPU的RC,传统意义上面的北桥都被整合进CPU了。Intel CPU里面的RC不允许连接到下行端口的EP互相通信,所以没法互相传递消息。 AMD芯片组,NF200和PLX的switch应该是支持了这个功能,所以能互相通信。


2的话,呵呵,估计你时间久了东西有些忘记了吧。链路层里面,包是最小结构,但是到物理层最小结构是byte(应该说是经过8/10b的转码,3.0就是128/130b的转码),我贴一张截图给你就明白了。然后一个switch有几个port(包括上行和下行的port),就必须支持几个port的校验,重发机制,你说的没错。

[attach]55112[/attach]

可以看到图上,一个packet的经过转码后的数据流,是按照按照顺序分别拆分到每条lane上面传送的,有多少条lane就会拆成多少份,这样才能有效利用到多条lane的带宽。
作者: lk111wlq    时间: 2011-10-26 19:32
回复 59# leedemon


   嗯,这个图是8/10b编码的,参考128/130b编码的也是这样拆分至多lane中传输。一开始我还看不明白数据包是怎么拆分后进行传输的呢,现在明白了。
作者: ice    时间: 2011-10-26 19:42
本帖最后由 ice 于 2011-10-26 19:46 编辑

回复 59# leedemon

多谢指正,看来关于pci-e数据包的传输,我确实记错了。得兄指正,感激不尽!   
另外,关于1,即使是未集成的X58的北桥,依然是不行的。个人推断,有可能是因为intel和AMD等在硬件逻辑上处理不同,intel可能直接是转换到了内部的某种逻辑进行传输,而AMD的北桥,可能是先集成了一个switch,然后转换的。(NF200等本身就是标准的switch)此时,恰巧获得了switch的特性。
   

理由:AMD(ATI)的芯片组很早就能在北桥提供大量的pci-e通道,当时NV是不行的,并且AMD北桥的大小和功耗都小于同时期的NV北桥和intel北桥。所以,AMD可能是采用了复杂程度比较低的形式实现,如果集成一个switch,可以减少转换为内部逻辑的lanes的数量,有可能减少北桥的逻辑规模。
  

当然,以上纯属推断,没有任何官方说法,实验数据佐证。
作者: leedemon    时间: 2011-10-26 19:51
回复 60# lk111wlq


   是啊,这样的设计结果就是链路层完全不用管速度,到物理层有多少条lane就能跑多快。然后跟换新的物理层的时候对链路层修改也比较小
作者: leedemon    时间: 2011-10-26 19:54
回复 61# ice


   客气了,相互学习吧。单纯看spec确实比较枯燥,你还自己看过,不容易的...
作者: ice    时间: 2011-10-26 21:22
回复 63# leedemon
62楼说法一语中的,赞!其实是当年被人逼迫翻译过一部分,要不然也不会这么久还记得一些...
作者: yellowsub    时间: 2011-10-31 19:01
刚买了Asrock Z68 Extreme3 gen3, 100欧,并不贵,评测质量也好,德国这最大比价平台主板排名第二,第一是80多欧的Asrock z68 pro3, 不管在德国最大的比价平台还是Amazon都已经雄霸第一的位置很久了。asrock的几款主板经常是diy论坛的首选 , 不知华擎的牌子为啥在国内只能算2线。
作者: ice    时间: 2011-10-31 19:41
本帖最后由 ice 于 2011-10-31 19:46 编辑

回复 65# yellowsub

这是历史原因造成的。
1:华擎成立之初,只卖中国大陆(官网上注明的,并且不卖台湾本地),并且实际上是华硕用来清理二、三线品牌的。所以祭起低价大旗,号称“500元以上的主板不知道怎么卖”。
2:华擎为了清理二、三线品牌,频繁降价,并且价格十分透明,会公开在官网上公布(华擎情报站),渠道上也是任由3大代理互相串货倾轧,价保时间很短,最终伤害了渠道,导致推广不力。(甚至曾经在卖华擎的某东,现在都不卖了)
3:华擎部分产品的规格(非质量)缩减到了无以复加的地步,一看就是低端。
4:华擎部分批次产品的质量不够过关,一度返修和过保后失效比例偏高,加上渠道被伤害,雪上加霜。恰逢此时,技嘉以超耐久系列杀出,变全市场的“做减法”为“做加法”,一时间,所有其他品牌逊色了不少。
5:华擎一定程度上,曾作为华硕低价清理过时芯片组的渠道,主推各种过时和非主流的芯片组(虽然不见得实际上有多少差别,并且出过很多奇异的主板),这也造成了口碑和品相不佳。
6:华擎早期一度攻城略地,销量上升很快,但是,在800万年销量达成以后,销量停滞不前,开始谋求变化。华擎自790芯片组时代,尝试推出高端主板,在华硕品牌代工分家之后,华擎品牌事实上归华硕之前的制造部分——和硕拥有,和硕有意利用华擎品牌,做自己的高端产品。(这里比较有意思,华擎的主板都是和硕——也就是华硕原先的制造部分——生产的,而华硕主板,貌似只有中高端是和硕生产的,到底谁的血统更为纯正呢?)
7:华擎在中后期开始拓展其他市场,可能在欧洲采取了相对较高的定位,并且由于欧洲市场并没有经历过华擎早期的原始积累,和大陆感觉不同。
8:华擎后期在宣传和产品规划上除了一贯的搞怪风格之外,一般是钉死技嘉的宣传策略,并予以抨击,矛头非常之明显,照说同行之间,似乎这么做不太地道。而后学习ROG系列搞了一些自己的旗舰产品(费特拉帝系列,话说,这哥们,代言谁,谁挂,不知道华擎能不能改变这一魔咒),配色也是红黑。此时,华擎宣称已成为欧洲第二的主板品牌,第一当然是华硕,号称并列的双A。
作者: ice    时间: 2011-10-31 19:45
顺便说一下,华擎早期的板子,虽然功能规格比较全,但是为了降低成本和返修率(官方说法“用很差的用料做出还可以的板子”,并且挖了ECS的某主管。ps:这真不知道是不是在损ECS),没有超频选项,所以一般不为DIY玩家关注(可参看早期TOM'S等评测华擎主板的文章)。

中期790AOD超频比较有名,再后来,随着运营目标的改变,应该有越来越多的型号具备可玩性。
作者: travis    时间: 2011-11-1 10:04
楼上看来是老玩家,经历过华擎诞生和华硕搞“巨狮计划”那个阶段。华擎早期的K7板子我用过,型号是K7S8XE之类的,用料确实是十分节省,不只是功能规格精简的问题。早期华擎是找的广东工厂外包生产,后期逐渐往高端走、外加品牌归属和硕以后,究竟是怎样的研发和生产关系就不太了解了,不过做工显然和当年K7S8XE时期的华擎不可同日而语。
作者: ice    时间: 2011-11-1 11:32
本帖最后由 ice 于 2011-11-1 11:37 编辑

T大,那个K7S8XE貌似好几个版本呢,最早的是一个全尺寸的大板,后来越做越小,最后好像是出到R5.0了。用过一片K7VM4,小板,全集成,才400块,不超频什么的,还是值得的。就是U口保护不到位,静电强的时候会重启,后期有所老化,U口带不动移动硬盘了,只能上U盘,其他一切正常。(另外说一句,我用过的技嘉主板,USB供电一直比较足,值得表扬。)
结合其他见到的一些华擎早期的主板,共同点是价格便宜,还算物有所值,但是细节和用料不甚注意,耐久度差点意思。




欢迎光临 PCEVA,PC绝对领域,探寻真正的电脑知识 (https://bbs.pceva.com.cn/) Powered by Discuz! X3.2