PCEVA,PC绝对领域,探寻真正的电脑知识
打印 上一主题 下一主题
开启左侧

PCI Express 3.0主板——属于未来的话题

  [复制链接]
1#
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,这样就可以正常工作的
2#
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的校验,重发机制,你说的没错。



可以看到图上,一个packet的经过转码后的数据流,是按照按照顺序分别拆分到每条lane上面传送的,有多少条lane就会拆成多少份,这样才能有效利用到多条lane的带宽。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1活跃度 +50 收起 理由
lk111wlq + 50 我很赞同

查看全部评分

3#
leedemon 发表于 2011-10-26 19:51 | 显示全部楼层
回复 60# lk111wlq


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


   客气了,相互学习吧。单纯看spec确实比较枯燥,你还自己看过,不容易的...

评分

参与人数 1活跃度 +50 收起 理由
lk111wlq + 50 我很赞同

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部