Dies ist ein Missverständnis. Niemand "teilt" oder "verteilt" irgendetwas in der USB3-Architektur. USB2-Signale werden ausschließlich über den USB2 D + / D- Kanal übertragen, USB3-Signale über Tx / Rx-Paare. Ich denke, dieses Missverständnis kommt von der älteren und anderen USB2-Architektur, bei der Transaktionen mit voller und niedriger Geschwindigkeit (FS und LS) wirklich zwischen mehreren FS / LS-Verbindungen "aufgeteilt" werden können. In USB2 wurde diese Funktion über einen in jeden Hub eingebauten sogenannten " Transaction Translator " (TT) -Block implementiert . Und die HS-Bandbreite könnte nur dann zwischen FS-Geräten "aufgeteilt" werden, wenn mehrere TT ( MTT ) in den Hub integriert sind. Diese Art von Übersetzungsarchitektur ist in der Super-Speed USB3-Architektur weder implementiert noch spezifiziert .
Wenn Sie vier USB2-Festplatten an einen Hub anschließen, erhalten alle VIER einen Gesamtdurchsatz von 35-40 MB / s pro Host oder einen nachhaltigen Durchsatz von 8-10 MB / s pro Laufwerk . Eine höhere USB3- "Bandbreite" hat nichts mit USB2-Transaktionen zu tun, absolut nichts (außer dass die xHCI USB3.0-Controller-Architektur beim Umgang mit Protokoll-Overhead möglicherweise etwas effizienter ist).
USB3.0-Hubs enthalten im Wesentlichen zwei Hubs, einen USB3- und einen älteren USB2-Hub. Sie funktionieren unabhängig voneinander. Sie leiten nur Downstream-Ports (Mux) an den einen oder anderen Hub-Controller um, wenn ein Gerät angeschlossen ist, oder arbeiten einfach parallel, wenn sich Hubs im Segment befinden.
Gleiches gilt für USB3.0-Hosts, die Architektur ist dieselbe und sie werden gleich genannt, außer dass es sich um einen "Root" -Hub handelt. Wenn Sie das Dienstprogramm USBview.exe erhalten, werden Sie feststellen, dass der xHCI-Root-Controller in ZWEI ROOT-HUBS, einen SS-USB3 und einen anderen USB2 verzweigt. Wenn Sie ein USB3.0-Gerät an den USB-Anschluss des Mainboards anschließen, wird es in den USB3-Bereich verschoben. Die logische Anschlussnummer lautet "1". Wenn Sie ein USB2-Gerät an denselben physischen Port anschließen , wird es an den USB 2-Zweig weitergeleitet, und sein logischer Port ist ungefähr "5", sodass die Gesamtbandbreite durch den entsprechenden Root-Hub-Abschnitt definiert wird. Niemand teilt die Super-Speed-Bandbreite mit High-Speed-Geräten, sie sind nahezu unabhängig.
Ich persönlich glaube, dass das Weglassen der SS-zu-HS-Übersetzung ein großes Versehen auf der Seite des USB-Leitungsgremiums ist. Es ist schwer zu erwarten, dass alle USB-Geräte in Zukunft SS sein werden, und alle aktuellen USB-Kabel müssen die alten D + / D- Kabel über alle Kabel führen, um alle diese Geräte zu unterstützen. Vielleicht wird sich das in Zukunft von USB ändern, ich weiß es nicht.
Ale..chenski
+1 Danke für diesen Augenöffner. Bedeutet dies, dass die USB 3.0- und USB 2.0-Pfade additiv sind? dh USB 3.0-Hub mit einem USB 3.0-Gerät, das die USB 3.0-Bandbreite überlastet. Können Sie dem Hub ein USB 2.0-Laufwerk hinzufügen, das weiterhin Zugriff auf die USB 2.0-Bandbreite hat?
Fixer1234
1
@ fixer1234, physisch ja, USB2-Pfad wird zum USB3-Pfad hinzugefügt. Ich bin mir jedoch nicht sicher, ob die Host-Controller-Architektur und der Softwaretreiber beide Pfade effektiv verwalten können. Dies hängt davon ab, wie viele unabhängige "Geräteschlitze" die Controller-DMA-Engine unterstützt. Das hängt von der Implementierung ab. Ich bin ein bisschen verschwommen bei INTEL / SYNOPSIS xHCI-Controller-Implementierungen. Vielleicht kann jemand anderes das klären.
Ale..chenski
Dies ist genau die Erklärung, nach der ich gesucht habe. Ich wusste die Antwort bereits, ich hoffte nur zu verstehen, warum.
Cody Smith
1
Ich habe eine ähnliche Frage getroffen, bin aber ohne Antwort migriert. Ich habe im Internet nachgeschlagen und hier eine Antwort gefunden:
Nach dieser Antwort können mehrere USB 2.0-Geräte auf USB 3.0-Hosts mit voller Geschwindigkeit ausgeführt werden. Wenn Ihr Experiment dieser Antwort widerspricht, lassen Sie es mich bitte wissen.
Der Klappentext auf Toms Hardvare ist völlig falsch. Siehe richtige Antwort.
Ale..chenski
Gibt es ein Experiment, das dieser Vorstellung entspricht, dass alle USB-Anschlüsse gleichzeitig mit HS-Bandbreite auf einem USB3-Host arbeiten?
Ale..chenski
0
Aus der XHCI-Spezifikation 4.6.15 Portbandbreite abrufen:
Ein xHC unterstützt möglicherweise mehrere USB-Businstanzen (BI), wobei jedes BI eine "Einheits" -Bandbreite mit der vom BI unterstützten Geschwindigkeit darstellt. Beachten Sie auch, dass einem einzelnen BI möglicherweise mehrere Root Hub-Ports zugewiesen sind.
Mit anderen Worten, ein bestimmter Controller funktioniert möglicherweise wie von @ Ale..chenski beschrieben, ist jedoch nicht erforderlich. Ich habe einen Desktop mit einer Zusatzkarte mit Renesas-Controller-Chip, auf der nur ein BI mit USB 2.0 HS-Bandbreite von vier Root-Hubs gemeinsam genutzt wird. Ich habe alle drei Webcams von diesem verkrüppelten Controller auf den integrierten Intel xHCI-Controller verschoben: Jetzt können alle drei gleichzeitig ausgeführt werden. Keine zwei Kameras können ein einziges BI gemeinsam nutzen, sodass der Intel-Controller über mindestens drei HS-BIs verfügt.
Ich habe eine ähnliche Frage getroffen, bin aber ohne Antwort migriert. Ich habe im Internet nachgeschlagen und hier eine Antwort gefunden:
Toms Hardware
Nach dieser Antwort können mehrere USB 2.0-Geräte auf USB 3.0-Hosts mit voller Geschwindigkeit ausgeführt werden. Wenn Ihr Experiment dieser Antwort widerspricht, lassen Sie es mich bitte wissen.
quelle
Aus der XHCI-Spezifikation 4.6.15 Portbandbreite abrufen:
Mit anderen Worten, ein bestimmter Controller funktioniert möglicherweise wie von @ Ale..chenski beschrieben, ist jedoch nicht erforderlich. Ich habe einen Desktop mit einer Zusatzkarte mit Renesas-Controller-Chip, auf der nur ein BI mit USB 2.0 HS-Bandbreite von vier Root-Hubs gemeinsam genutzt wird. Ich habe alle drei Webcams von diesem verkrüppelten Controller auf den integrierten Intel xHCI-Controller verschoben: Jetzt können alle drei gleichzeitig ausgeführt werden. Keine zwei Kameras können ein einziges BI gemeinsam nutzen, sodass der Intel-Controller über mindestens drei HS-BIs verfügt.
quelle