Bir USB hub performansı etkiler mi?


24

Maksimum verim ve gecikme süresi gerektiren iki cihaza sahibim ( örneğin MIDI davul ve MIDI klavye).

İkisini de aynı USB bağlantı noktasına bir hub aracılığıyla bağlamak, maksimum veri aktarım hızını her biri için 1/2 ile etkili bir şekilde sınırlandırır mı?

Evet olduğunu farz ediyorum, ancak USB hub'larında bir el sıkışma ve öncelik verme protokolü olup olmadığını bilmiyordum.

Yanıtlar:


17

Evet. Bir USB hub'ı üzerinden bağlanan tüm cihazlar o hub için mevcut olan bant genişliğini paylaşır. Özellikle de% 50 de değil. Bilgisayardaki USB 2.0 hub başına çalışmak için 480 Mbit / sn var . Bununla ne demek istiyorum? Peki, bilgisayarınızda yerleşik USB hub var. Evet, her liman bireysel bir varlık değildir. Çoğu durumda, üst üste yığılmış iki USB bağlantı noktası gördüğünüzde, dahili olarak bir göbek üzerinde bulunurlar.

Bu aynı zamanda dizüstü bilgisayarlarda yan yana iki bağlantı noktası için de geçerlidir. Bu nedenle, iki hub'ı yan yana olan USB portlarına takabileceğinizi ve yüksek veri aktarım hızı cihazlarını bağlamak için LOTS USB portuna sahip olabileceğinizi düşünmeyin.

GERÇEKTEN yapmanız gereken şey, bağlanmak istediğiniz aygıtların beklenen veri aktarım hızlarına bakmak. MIDI davullarının düşük bir aktarım hızı olarak kabul edilmesini beklerken, klavye ya düşük ya da orta bir aktarım hızı olacaktır. Bu, bir hub'ı başka bir şeyle paylaşmak istemeyeceğiniz ... bir USB ses kartı gibi bir şeyle karşılaştırılır.

Elektrikli bir hub'la, her aygıt ihtiyaç duyduğu gücü elde ederken, güçsüz bir hub ile tüm cihazlar, ana bilgisayar USB portunun verebileceği gücü paylaşır. Yani, dikkate alınması gereken de var.

Büyük olasılıkla zaten biliyorsunuz, ancak gecikme sorunları için, ASIO4ALL sürücüleri tüm olası sorunları çözmüyorsa , bunların hepsini tedavi edecektir. Sadece onu dışarıya koyuyorum.


ASIO4ALL için +1. Rocksmith'teki gecikmemi öldürmek için kullandı. Taşçı topluluğunun bunun hakkında ne bildiğini merak ediyorum!
camelbrush

Bir USB ses denetleyicisinin kendisine tam bir USB denetleyicisi yoksa, performans darboğazına maruz kalacağından emin misiniz ? En azından 2 kanallı ses için hub'larda çalışmak üzere tasarlanmaları gerektiğini düşünüyorum.
jiggunjer

28

Aslında, büyük olasılıkla yanlış olanı olarak, ilk anwer'ın kabulü ve herhangi bir gerçek olmadan desteklenmesi beni şaşırttı. Hem MIDI davul hem de MIDI klavyesi neredeyse kesinlikle düşük hızlı cihazlardır, bu yüzden en yüksek hızdaki bir hub'dan en fazla% 1 bant genişliği tüketirler (2 * 1 Mbit / s / 480 Mbit / s * 100% =% 0,4 ).

Aslında, göbeğin varlığı, düşük hızlı göbekler için onlarca mikrosaniye veya yüksek hızlı göbekler için yüzlerce nanosaniye sıralı bir gecikme sağlayacaktır . İkinci durumda, bu gecikme, MIDI yazılımı tarafından tanıtılan gecikmeyi eklediğinizde kaybolur.

Ayrıca, USB protokolü, MIDI cihazlarının sabit bir sürücü veya aynı veri yolu üzerindeki bir tarayıcıda bile aktarım hızları veya gecikmeleri üzerinde fazla bir etkisi olmadan bir arada bulunmalarını sağlayacak aktarım önceliklerini (bkz. Aktarımların Kesilmesi ) destekler . Ancak, özellikle MIDI cihazlarına aşina olmadığım için hiçbir açıklama yapmayacağım.


15

Kısa cevap, gerçekten USB cihazlarınızın 2 veya daha fazlasının 12 Mbit / sn olduğu bu uygulama için bir Multi-TT hub'ı istemektir. Bu merkezleri bulmak için Amazon, Newegg veya diğer sitelerde "Multi-TT" arayın.

Ne yazık ki, bu önemli teknik ayrıntıya nadiren değinilmektedir. Çoğu hub daha ucuz bir Tek TT tasarım kullanır. İyi Çoklu TT olanları, nadiren paket üzerinde işaretlenmemiş bu özelliğe sahip olarak ilan edilir. Ne yazık ki, çoğu insan muhtemelen TT'leri hiç duymamış biledir, bu nedenle pazarlamacılar size, hangi merkezlerin hangi tasarımı kullandıklarını söylemeye zahmet etmiyorlar.

Windows Aygıt Yöneticisi'ni kullanarak hub'ınızın bu özelliği olup olmadığını kontrol edebilirsiniz. Gelişmiş sekmesinde "Hub'da birden fazla TT var" kelimelerini arayın.

Aygıt Yöneticisi ekran görüntüsü

Linux'ta hub tipi "lsusb -v | grep TT" ile kontrol edilebilir. Apple'ın Xcode geliştirme araçlarında yayınladığı "USB Prober" yardımcı programı dışında, Macintosh'ta kontrol etmenin basit bir yolunun farkında değilim.

TT İşlem Tercümanı anlamına gelir. Ayrıntılar karmaşıktır ve www.usb.org adresinden ücretsiz indirilebilen USB spesifikasyonunun 11. bölümünde tamamen belgelenmiştir. Ancak kısaca TT, PC'nizden 480 MBit / sn ile 12 veya 1.5 MBit / sn hızlarına yavaşlar.

Normalde bu müzik enstrümanlarını çaldığınızda, kontrolörleri MIDI mesajları üretir ve ardından PC'nizden veri talep ettiği anı bekleyen bellek tamponlarına paketlenir. Bilgisayarınız doğrudan bağlandığında, cihazınıza IN belirteci adlı bir mesaj gönderir. Cihazınız IN belirtecine, veri olmadığını belirtmek için bir DATA paketi veya NAK belirteci olarak iki şekilde yanıt verebilir. Bilgisayarınız bu IN belirteçlerini çok hızlı bir şekilde gönderir; bu nedenle sonuç, müzikal etkinliklerinizin MIDI mesajları olarak hemen gönderilmesidir.

Bununla birlikte, 12 MBit / sn MIDI cihazınız bir USB 2.0 HUB ile bağlandığında, hepsi 480 MBit / sn'de çok farklı bir iletişim oluşur. Bilgisayarınız aslında merkezdeki İşlem Tercümanı ile iletişim kurar. 2 mesaj gönderir. İlk önce, SSPLIT (Bölünmüş İşlemi Başlat) mesajı TT'ye gönderilir. TT meşgul değilse, bir onay gönderir. Daha sonra TT, IN token'i MIDI klavyenize daha yavaş bir 12 MBit / sn hızında iletir. Bu arada, PC'niz diğer cihazlarla 480 Mbit / sn hızında iletişim kurabilir. MIDI klavyeniz, IN belirtecinin doğrudan bilgisayarınızdan mı yoksa bir hub'ın TT'sinden mi geldiğini söyleyemez. Tamamen PC'nize bağlı gibi aynı şeyi yapar. Hub içindeki TT, NAK veya DATA yanıtını alır. Bu devam ederken, bilgisayarınız hub’ın TT’sine CSPLIT (Complete Split Transaction) mesajlarını göndermeye başlar. TT, özel bir NYET belirteci ile yanıt veriyor; TT hala klavyenizden 12 Mbit / sn veya NAK veya DATA ile iletişim kurmakla meşgul.

Hem bir MIDI klavye hem de bir MIDI davul bağlıysa, bilgisayarınız TT'den davullarla iletişim kurmasını istemek için bir SSPLIT mesajı göndermek isterse, ancak TT klavye ile iletişim kurmakla meşgulse ne olur? Yalnızca bir TT ile hub, NYET'i yeni bir SSPLIT isteğine yanıtlayabilir, çünkü IN + DATA'yı 12 MBit / sn'de gerçekleştirmekle meşgul. Kesinlikle bu senaryoyu istemiyorsun!

Birden fazla TT hub'ının her bir aşağı akış portunda (cihazları taktığınız) özel bir TT'si vardır. Çoklu TT'lerde, hub, diğer TT'ler diğer alt aygıtlarla iletişim kurmakla meşgul olsa bile, bir SSPLIT isteğini kabul edebilir. Yalnızca tek bir TT ile, bilgisayarınız çok fazla 480 MBit / sn bant genişliği olsa bile, beklemeye başlayabilir, çünkü hub farklı hızlar arasında bir anda 1'den fazla mesajı dönüştürme yeteneğine sahiptir.

Bu açıklama, TT'lerin ele aldığı birçok önemli USB zamanlama sorunu üzerinde açıklanmıştır, ancak önemli olan, USB 2.0 hub'larının iki farklı tasarımı kullanabilmesidir. Gerçekten daha ucuz olan Single-TT göbeklerinden kaçınmak istersiniz.

Bu cevaplarda USB 3.0 ve 3.1 hızları başka yerlerde de belirtilmiştir. Fakat göbeğindeki TT'ler asla 5 veya 10 gigabit hızları ve 480, 12 veya 1.5 hızları arasında dönüşmez. Bunun yerine, USB 3.0 ve 3.1 hub'ları bir çift hub olarak çalışır. Gigabit sinyalleri, yalnızca 5 veya 10 Gbit / sn hızında çalışan bir göbeğe bağlanan yeni USB konektörlerinde kendi özel pinlerine sahiptir. Orijinal pinlerde aynı anda 480 Mbit / sn iletişim gerçekleşir, bu nedenle 12 ve 1.5 MBit / sn aygıtları TT'ler tarafından 480 Mbit / sn'ye dönüştürülür, ancak hiçbir zaman 5 veya 10 Gbit / sn'ye dönüştürülmez.

Başka yerde de belirtildiği gibi, USB jargonunda teknik olarak 1,5 Mbit / sn anlamına gelen, ancak günlük konuşmada 1,5 veya 12 Mbit / sn anlamına gelebilen "düşük hız" dır. 12 Mbit / sn, USB terminolojisinde "tam hız" olarak adlandırılır. Teknik olarak "Ses Sınıfı Belirtimi" nin bir parçası olan USB MIDI protokolü, "bulk" protokolünü kullanır ( başka bir cevapta iddia edildiği gibi kesme protokolünü değil ). USB teknik özelliği, 1,5 Mbit / sn hızında toplu aktarım protokolüne izin vermiyor. Bu yüzden, bir USB MIDI cihazı USB hızını çok fazla ihlal etmiyorsa, daima en az 12 Mbit / sn hız olacaktır. USB MIDI, 480 Mbit / sn hız olabilir, bu durumda TT'ler geçerli değildir. Ancak bugün USB MIDI ürünlerinin büyük çoğunluğu hala 12 Mbit / sn hızda.

Eğer Yani gerçekten emin olmak performansını maksimize planlıyorsanız USB hub, Çok TT türleridir.


Görüntünüzdeki bant genişliğini kullanan aygıtları gösteren bu görüşü nasıl elde edersiniz? Özelliklerimde o sekme bile yok.
user5389726598465

3

Gerçekçi olarak, aynı anda takılı olan tüm cihazları kullanıyor olsanız bile, takacağınız cihazların sayısını genişletmek için bir hub kullanarak tek bir USB bağlantı noktasını paylaşmak çok da önemli olmayacaktır. Çoğu cihaz, bir seferde çok fazla veri aktarımı kullanmaz. Sırasıyla 10'dan 20 kat hızlı USB 3.0 veya 3.1 bağlantı noktaları kullanıyorsanız, aynı zamanda veri gönderip alabilir, aynı zamanda daha fazla güç sağlayabilir ve 2.0 ile çalışabilir cihazlar.

Belirtildiği gibi, bağlantı noktasına bağlı her aygıttan yeterli güç geçtiği sürece, herhangi bir sorun yaşanmamalıdır.


1

Sadece benim durumumda USB 3.0 HUB örneği olarak, birden fazla cihaz bağlandığında yavaşlıyor.

İki özdeş kümem var: SataIII - USB3.1 Gen2 C Tipi 480GB SSD ile Muhafaza.

SSD'yi bir SataIII portuna koyarsam, Linux dd komutu 500MiB / s'den daha fazla okur.

SataIII’deki SSD’yi USB 3.1 Gen2 Tip C muhafazasına koyarsam, Linux dd komutu, kullandığım iki setten biri ne olursa olsun, 413MiB / sn’ye yakın bir değerde okur.

Tuhaf olan şey, USB 3.0'ı her iki kasaya taktığımda ve linux'un her ikisinden de okumasını istediğimde (LVM şerit, RAID0 veya iki eşzamanlı dd komutu olursa olsun), sadece 2x150 = 300 MiB / s'de okunmasıyla ortaya çıkıyor.

Böylece her ikisi de fişe takılı iken, 413-300 = 113MiB / s hıza yakın gevşem.

Diğer bir deyişle:

  • USB 3 HUB'a bir SSD, 413MiB / sn okuma alıyorum
  • USB 3 HUB'a iki SSD, 150 + 150 = 300MiB / sn okunur
  • USB 3 hub üzerindeki iki SSD, 413/2 = 206MiB / s'ye yakın bir değerdeyse ancak her birinin 150MiB / sn civarında olduğu,> 200MiB / sn civarında olduğu durumlarda okunması beklenir (SSD başına).

Her iki sürücüye de veri bandını değiştirmek için sorunun USB 3 Hub protokolü üzerinde olduğunu düşünmeye başladım, bu büyük bir ek yük ekliyor.

Böylece elimde olan USB 3 hub'ın aynı anda birden fazla bağlandığında, bir SSD'yi maksimum bant genişliğinden çok daha yavaşlattığını onaylayabilirim.

Dahası, bir SSD ve çok yavaş (50MiB / s'den az) USB 3.0 çubuğuyla test ettim, USB Hub 3 birleştirilmiş okuma hızı 263MiB / s'ye düşüyor, böylece birleştirilmiş okuma gevşeklerinin 100MiB / s civarında olduğunu onaylayabilirim. başka bir USB depolama aygıtı takarım.

Ve daha da fazlası ve en kötüsü, bir Fareyi (veya klavyeyi) takıyorum ve SSD okuma hızı da 313MiB / s'ye yakın, fareyi / klavyeyi fişten çekiyorum ve SSD okuma hızı 413MiB / s'ye geri dönüyor, bu yüzden tekrar 100MiB / s sadece bir fare bağlandığından (ve kullanılmakta olduğundan) okuma hızı kayboluyor; fareyi hareket ettirmezsem okuma hızı 413MiB / s'ye geri döner.

Bu nedenle, HUB, ne tür bir cihaza bağlanırsam bağlasın, cihazdan yalnızca bir cihaza bağlı olmadığında (ve kullanıldığında) kombine aktarım hızında büyük bir okuma hızının düşmesine (100MiB / s civarında) neden oluyor Aynı anda çalışan birden fazla ürüne sahipse, smae zamanında yalnızca bir cihazı kullanırken olduğundan daha düşük bir 100MiB / s civarında birleştirilmiş okuma hızı elde ediyorum.

Üç cihazla da test ettim: SSD + Fare + Klavye, hala aynı hızda, yaklaşık 100MiB / s'ye yakın gevşem.

Sadece bir SSD'den okuduğum halde ikisini de bağladıysam, 413MiB / s'ye de ulaşıyorum.

USB 3.0 Hub fiyatı yaklaşık 20 € idi, ucuz değil.

Sonuç: USB HUB 3.0, aynı anda birden fazla cihaz bağlandığında (ve aktarırken) çok fazla MiB / s aktarım hızı kaybediyor, kim bilir! belki zaman aktarımını cihaz sayısına (oldukça aşınmış) göre böldüğü için veya belki de bisiklet cihazlarında vb.

Bunun birisinin sorunu tanımlamasına yardım etmesini umuyorum, tüm testler dd komutu ile Linux Live SystemRescueCD (son sürüm) altında durum = ilerleme, bir megabayt blok boyutu ve bin (toplam 1GiB okuyarak), dest cihaz / dev / null.

Başka bir USB 3.x HUB satın almayı (ne zaman zengin olursam) planlıyorum, bu sefer aynı olup olmadığını kontrol etmek için 3.1 Gen 2 ya da zayıf bir firmware algoritmasına sahip olan bir marka.


SSD'ler, söz konusu cihazlardan çok farklıdır. Her SSD, USB 3 bağlantı noktasının bant genişliğinden daha fazla veri aktarmaya çalışıyor. Böylece çarpışmalarda çok fazla bant genişliği kaybedersiniz.
fixer1234

1

750GB 5400rpm sabit sürücüye sahip dizüstü bilgisayarım ve 8GB harici sabit disklerim arasında doğrudan bağlantı kullandığımda, aktarım hızları aslında USB hub kullandığımdan çok daha yavaş. Örneğin, son zamanlarda yaklaşık 120GB veri ekleyen dört filmi kopyalayıp yapıştırdım. İşte olanlar.

  1. İlk önce dizüstü bilgisayarımın sabit diskine 120GB'a kadar veri ekleyen dört filmi kopyaladım ve sonra bunları 8GB'lık bir harici sabit sürücüye yapıştırdım. Veri aktarım hızı sadece yaklaşık 30 mbs olduğu için aktarım yaklaşık 80 dakika sürdü. Veri aktarım hızı 20 mb ile 35 mb arasında değişiyordu.

  2. İkinci olarak, tam olarak aynı model olan diğer 8GB harici sabit diski bağladım. Bu sefer 4 portlu USB 3.0 hub'ı kullandım. Bu sefer veri aktarım hızı çok daha hızlıydı - zaman zaman 90 mbs'nin üzerinde. Veri aktarım hızı, 50 mb ile 90 mb arasında değişiyordu. Verilerin aktarılması sadece 30 dakika sürdü.

  3. Üçüncüsü, bir deney olarak, 8GB harici sabit disklerin ikisini de aynı anda USB 3.0 hub üzerinden bağladım. Dört filmi de 120 GB'lık veri ile bir sabit diskten diğerine kopyaladım. Bu sefer transfer hiç olmadığı kadar hızlıydı. Veri aktarım hızı yaklaşık 150 mbs idi ve aktarım hızında hiç artış olmadı. Tüm zaman boyunca 150 mbs sabit bir çizgi oldu.

Diğer büyük veri aktarımları ile deneyler yaptım. Bazı nedenlerden dolayı, harici bir sabit sürücüye doğrudan USB 3.0 bağlantısı, bir USB 3.0 hub'ının dahil edildiğinden çok daha yavaştır. ... Bunun neden olduğunu bilen var mı?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.