接口/总线/驱动
首先可以肯定的回答:有上限。
上限的具体瓶颈需要看设备的链接状态。
USB3.0接口有PCI和PLB两种模式,刚出3.0那会基本都是PCI的,现在新板子大部分都是PLB的,PCI的是一个USB3.0卡接到PCI-E插槽上(过去还有部分主板是接到内置的PCI-E插槽上,外面看不出来),PLB是做到芯片组里,PCI和PLB有些地方还称为非原生支持和原生支持。
整个USB传输通道应该是下面这样:
USB设备-USB接口(1-N)-USBROOTHUB-USB控制器-PLB/PCIE总线-CPU/内存/DMA控制器
其中的对应关系是:
PLB/PCIE总线下可能有多个USB3.0控制器,一个控制器下有一个或者多个RootHub(通常都是1个),一个RootHub下有多个USB口,一个口一般都对应主机外面的口,部分情况下一个USB口对应1个以上的物理接口。
下面的图是我电脑的XHCI控制器的链接图:
速度限制上看,PLB/PCIE总线带宽有限制,每个控制器,每个RootHub也有带宽限制,RootHub下的每个逻辑USB口也有速度限制,对应物理接口也有速度限制。
理论上说,每个RootHub的速度上限是USB3.0总线的上限,通常是5Gbps,折合字节带宽大概不到600M,那么下面的接口越多,每个接口能分到的速度越少,我这个图里有8个USB接口,那么如果挂上8个设备,每个速度就只有75M。
所以,如果你把所有的口都接上设备,那么肯定达不到最大速度。
下载一个USBView,查看一下自己PC上3.0口有多少个,再拿理论带宽除一下,就能算出结果。
另外,这只是理论值,实际情况可能会更糟糕,因为3.0对信号要求很高,接线越多,电压越不稳定,同时分走的电流越多(每个控制器能承受的最大电流是有限的),一旦干扰达到一定程度,USB3.0会自动降速来保持传输稳定,降速的后果就是3.0变成了2.0
全部0条评论
快来发表一下你的评论吧 !