
Wenn ich einen USB-Hub verwende und Geräte an diese erweiterten Ports anschließe, weiß ich, dass die Bandbreite bei jedem an den Hub angeschlossenen Gerät reduziert und die Latenzen erhöht werden.
Wenn mein Computer jedoch beispielsweise über 6 USB-Anschlüsse direkt auf der Hauptplatine verfügt, bedeutet das, dass ich an jeden dieser USB-Anschlüsse separate Geräte anschließen kann, wobei jeder von ihnen im Wesentlichen über eine eigene USB-Verbindung zur CPU verfügt und mit voller Geschwindigkeit und minimalen Latenzen laufen kann, oder liegt es daran, dass mein Computer nur über einen USB-Controller verfügt und die USB-Anschlüsse auf der Hauptplatine bereits Teil eines Hubs sind?
Und wenn ich mehr dedizierte USB-Anschlüsse brauche, erhalte ich dann durch das Hinzufügen von PCI/PCI-e-USB-Controllern mehr Anschlüsse mit voller Geschwindigkeit, vorausgesetzt, meine CPU kann mithalten?
Dies setzt ein Dell-Workstation-Motherboard mittlerer Preisklasse voraus, auf dem ein Core i7 860 mit Windows 7 x64 läuft. Ich hoffe, ein paar USB-fähige Mikrocontroller betreiben zu können und ein paar GPIO-Pins zu bekommen.
Danke,
-Gefälscht
Antwort1
Ja, Ihr Computer ist ziemlich neu, daher verfügen höchstwahrscheinlich alle Ihre integrierten USB-Anschlüsse über ihren Bus und Sie sollten keine oder nur geringe Leistungseinbußen feststellen, wenn Sie mehrere davon gleichzeitig verwenden.
Eine zusätzliche PCI/PCIe-Karte funktioniert auf die gleiche Weise, allerdings teilen sich alle USB-Anschlüsse dieser Karte den PCI-Bus. Der PCI-Bus ist zwar viel schneller als der USB-Bus, aber gelegentlich kann es zu längeren Latenzen kommen. Dies sollte jedoch kein großes Problem darstellen.
Antwort2
Ich weiß, dass dies eine alte Frage ist, aber in der akzeptierten Antwort sind einige Dinge falsch:
- Ihr Motherboard hat höchstwahrscheinlich nur einen USB-Hostcontroller – einige ausgewählte Motherboards haben zwei.
- Alle Geräte auf demselben Host teilen sich die gleiche Bandbreite, unabhängig davon, wie sie verbunden sind (480 Mbit/s über USB 2.0).
- Hubs fügen etwas Latenz hinzu - theoretisch. Die maximale Roundtrip-Zeit für eine USB-Verbindung beträgt1.500 ns. Durch das Entfernen eines Hubs lassen sich einige Nanosekunden einsparen. Sofern Ihre Anwendung keine Latenzzeit von unter einer Mikrosekunde benötigt, sollte dies völlig irrelevant sein.
- Eine PCIe-USB-Karte verfügt über einen eigenen Host-Controller, der Ihnen mehr Gesamtbandbreite bietet.
- Es gibt keinen Grund, eine höhere Latenz als bei PCIe zu erwarten. Je nachdem, wie der interne USB-Controller angeschlossen ist, könnte er auch schneller sein. Auch hier sprechen wir von Unterschieden deutlich unter einer Mikrosekunde, die in der Praxis nicht relevant sind.