USB Performance

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

Post Reply
towaibw
Posts: 198
Joined: Sat Dec 27, 2003 10:55 pm
Location: Berlin / Germany
Contact:

USB Performance

Post by towaibw »

Ich habe mir einen neuen Rechner gekauft (Dell, DualCore 2,8GHz, 2GB Speicher). Gegenüber dem alten (Aldi, 2,6GHz, 1GB Speicher) ist die USB Performance um den Faktor 5 langsamer. Gemessen habe ich das mit der Löschroutine eines 128x128 Pixel LCD, welches über Normal-I/O angesprochen wird.

Aldi -> 4219 ms
Dell -> 20532 ms

An Prozessortakt oder Speicherausstattung kann das ja wohl nicht liegen. Des öfteren liest man ja etwas über mangelhafte USB 2.0 Performance von einigen Boards. Aber das kann es nicht sein (So wie ich es bis jetzt verstanden habe, wird der IO-Warrior alle 10 ms vom OS abgefragt).

Hat jemand der USB-Experten eine Idee, woran das liegen könnte? Und gibt es im System (Windows XP MCE) irgendwelche Stellschrauben? Muß ich mir eine extra USB-Karte (mit besserem USB-Chipset) besorgen, um zu meinen alten Werten zu kommen?

Danke für Eure Bemühungen

Falls das einem weiter hilft (aus dem Geräte-Manager):
Dell: Intel(R) 82801G (ICH7 Family) USB Universal Host Controller
Aldi: SiS 7001 PCI-zu-USB Open Host-Controller
Guido Körber
Site Admin
Posts: 2880
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Post by Guido Körber »

Ganz einfache Erklärung:
UHCI braucht für einen Control Transfer mit einem Datenpaket 3 Frames (=1msec pro Frame), da jede einzelne Phase des Transfers in einem Frame gepackt wird (Setup, Data, Ack).
OHCI braucht für den gleichen Transfer drei Pakete die so schnell gesendet werden können wie sie das USB Device verarbeiten und bestätigen kann. Beim IO-Warrior sind das etwa 300µsec im schnellsten Fall.
towaibw
Posts: 198
Joined: Sat Dec 27, 2003 10:55 pm
Location: Berlin / Germany
Contact:

Post by towaibw »

Also liegt das am USB Chipset auf dem Mainboard?

Das habe ich im Netz gefunden (http://aplawrence.com/Bofcusm/1888.html):

Code: Select all

                                                          Supported by...
  ClassCode   USB standard   HCI standard        Speed    rs506a   OSR507
  =========   ============   ================   =======   ======   ======
  0x0c0300      USB 1.x      UHCI "Universal"    12Mbps      X        X
  0x0c0310      USB 1.x      OHCI "Open"         12Mbps               X
  0x0c0320      USB 2.0      EHCI "Enhanced"    480Mbps               X

Many systems that have USB will have more than one HCI (Host Controller
Interface -- the chip that talks to the USB ports).  All systems that
have USB 2.0 will have EHCI plus at least one of OHCI or UHCI.  USB 2.0
HCIs only talk to USB 2.0 devices, they require a USB 1.x companion
controller (UHCI or OHCI) to talk to any USB 1.x devices.
Danach müßte ich in meinem System (Dell Dimension 9150) auch noch einen EHCI finden (was mir aber nicht wirklich weiter hilft)?
Guido Körber
Site Admin
Posts: 2880
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Post by Guido Körber »

Richtig.

Aus mir nicht ganz verständlichen Gründen befinden sich in den Chips mit EHCI Controllern immer auch OHCI oder UHCI mit drin, die die Bedienung von USB 1.x Geräten übernehmen wenn diese direkt an einem Root-Port angeschlossen werden.

Interessanterweise dürfte also die Geschwindigkeit steigen, wenn man den IO-Warrior hinter einen USB 2.0 Hub steckt. Allerdings muss das dann ein ordentlicher Hub sein, vorzugsweise mit dem Tetra-Hub Controller von Cypress.
towaibw
Posts: 198
Joined: Sat Dec 27, 2003 10:55 pm
Location: Berlin / Germany
Contact:

Post by towaibw »

Das werde ich heute Abend einmal ausprobieren. Ich habe einen 7Port USB 2.0 Hub mit eigenem Netzteil (das alleine könnte schon ein Qualitätsmerkmal sein ;-).
towaibw
Posts: 198
Joined: Sat Dec 27, 2003 10:55 pm
Location: Berlin / Germany
Contact:

Post by towaibw »

Was soll ich sagen Guido, Deine Erwartungen sind voll erfüllt worden:

Root Hub: 19781 ms
am 1.0 Hub: 20532 ms
am 2.0 Hub: 2734 ms (zwar langsamer als am Aldi-PC, aber die Größenordnung stimmt :-)

Also: wenn's mal wieder schneller gehen soll, 2.0 Hub dazwischen schalten. Ein Glück, daß ich das nicht verstehen muß ;-)

Noch einmal recht herzlichen Dank für die schnelle Info.
Thomas
Guido Körber
Site Admin
Posts: 2880
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Post by Guido Körber »

USB 2.0 Hubs haben einen sogenannten "Transaction Translator", oder kurz "TT". Damit wird die beim Hum mit High Speed ankommende Kommunikation auf die Low oder Full Speed Geschwindigkeit umgesetzt. Der der TT gut ist kann das Ergebnis schneller sein als der Betrieb direkt an einem 1.1 Host.
Mike D
Posts: 91
Joined: Wed Jun 02, 2004 4:07 pm
Location: Elbe- Weser-Dreieck
Contact:

Post by Mike D »

wisst ihr einen Link wo einigermaßen verständlich beschrieben wird, wie ein USB-Hub eigentlich funktioniert?
Post Reply