Có một trung tâm USB ảnh hưởng đến hiệu suất?


24

Tôi có hai thiết bị Tôi muốn thông lượng tối đa và độ trễ với ( MIDI trống và MIDI bàn phím ví dụ.)

Việc kết nối cả hai với cùng một cổng USB thông qua một trung tâm có hiệu quả giới hạn tốc độ truyền dữ liệu tối đa xuống còn 1/2 cho mỗi cổng không?

Tôi giả sử là có, nhưng tôi không biết các bộ chia USB có giao thức bắt tay và ưu tiên có sẵn hay không (ví dụ: để thiết bị có bộ đệm dữ liệu được xây dựng lâu hơn giao tiếp trước).

Câu trả lời:


17

Vâng. Tất cả các thiết bị được kết nối thông qua một trung tâm USB chia sẻ băng thông có sẵn cho trung tâm đó. Không cụ thể ở mức 50% mỗi mặc dù. Bạn đã có 480 Mbit / s để hoạt động với mỗi trung tâm USB 2.0 trên máy tính . Ý tôi là gì? Vâng, máy tính của bạn có bộ chia USB được tích hợp trong đó. Vâng, không phải mỗi cổng là một thực thể cá nhân. Trong hầu hết các trường hợp, khi bạn thấy hai cổng USB xếp chồng lên nhau, cổng này nằm trên một trung tâm cùng nhau.

Điều này cũng áp dụng với hai cổng cạnh nhau trên máy tính xách tay. Vì vậy, đừng nghĩ rằng bạn chỉ có thể cắm hai hub vào các cổng USB cạnh nhau và có rất nhiều cổng USB để cắm các thiết bị có tốc độ truyền dữ liệu cao vào.

Những gì bạn THỰC SỰ cần làm là nhìn vào tốc độ truyền dữ liệu dự kiến ​​của các thiết bị bạn định kết nối. Tôi hy vọng rằng trống MIDI sẽ được coi là tốc độ truyền thấp, trong khi bàn phím sẽ là tốc độ truyền thấp hoặc trung bình. Điều này sẽ được so sánh với một cái gì đó như một card âm thanh USB ... mà bạn không muốn chia sẻ một trung tâm với bất cứ điều gì khác.

Với một hub được cấp nguồn, mỗi thiết bị sẽ có được năng lượng cần thiết, trong khi với một hub không được cấp nguồn, tất cả các thiết bị đều chia sẻ bất kỳ nguồn điện nào mà cổng USB chủ có thể cung cấp. Vì vậy, có đó là để xem xét là tốt.

Bạn rất có thể đã biết, nhưng đối với các vấn đề về độ trễ, trình điều khiển ASIO4ALL sẽ chữa trị nhiều nhất nếu không phải tất cả các vấn đề tiềm ẩn. Chỉ cần đặt nó ra khỏi đó.


+1 cho ASIO4ALL. đã sử dụng nó để giết độ trễ của tôi trong Rocksmith. tự hỏi doest cộng đồng rockmith biết về điều này!
bàn chải màu camel

Bạn có chắc chắn bộ điều khiển âm thanh USB sẽ bị tắc nghẽn thông lượng nếu nó không có toàn bộ bộ điều khiển USB cho chính nó? Tôi nghĩ rằng chúng nên được thiết kế để hoạt động trên các hub, ít nhất là cho âm thanh 2 kênh.
jiggunjer

28

Trên thực tế, tôi ngạc nhiên khi anwer đầu tiên được chấp nhận và nâng cấp mà không có bất kỳ sự thật nào để hỗ trợ cho tuyên bố, vì rất có thể đó là một sai. Cả trống MIDI và bàn phím MIDI gần như chắc chắn là các thiết bị tốc độ thấp, vì vậy chúng sẽ tiêu thụ ít hơn 1% băng thông từ một trung tâm tốc độ cao nhiều nhất (2 * 1 Mbit / s / 480 Mbit / s * 100% = 0,4% ).

Thật vậy, sự hiện diện của hub sẽ giới thiệu độ trễ, có độ trễ hàng chục micro giây cho các hub tốc độ thấp hoặc hàng trăm nano giây cho các hub tốc độ cao. Trong trường hợp sau, độ trễ này sẽ biến mất sau khi bạn thêm độ trễ được giới thiệu bởi phần mềm MIDI.

Ngoài ra, giao thức USB hỗ trợ các ưu tiên chuyển (xem Truyền gián đoạn ), điều này sẽ cho phép các thiết bị MIDI cùng tồn tại ngay cả với ổ cứng hoặc máy quét trên cùng một xe buýt mà không ảnh hưởng nhiều đến tốc độ truyền hoặc độ trễ. Tuy nhiên, tôi sẽ không đưa ra bất kỳ tuyên bố nào vì tôi không quen thuộc với các thiết bị MIDI nói riêng.


15

Câu trả lời ngắn gọn là bạn thực sự muốn có một trung tâm Multi-TT cho ứng dụng này, trong đó 2 hoặc nhiều thiết bị USB của bạn có khả năng là 12 Mbit / giây. Tìm kiếm "Multi-TT" trên Amazon, Newegg hoặc các trang web khác để tìm các trung tâm này.

Thật không may, chi tiết kỹ thuật quan trọng này hiếm khi được đề cập. Hầu hết các trung tâm sử dụng thiết kế Single-TT rẻ hơn. Nhiều loại TT tốt hiếm khi được quảng cáo là có tính năng này, thậm chí không được đánh dấu trên bao bì. Đáng buồn thay, hầu hết mọi người có thể thậm chí chưa bao giờ nghe TT, đó có thể là lý do tại sao các nhà tiếp thị không bận tâm cho bạn biết thiết kế trung tâm của họ sử dụng.

Bạn có thể kiểm tra xem trung tâm của bạn có tính năng này hay không bằng Trình quản lý thiết bị Windows. Tìm từ "Hub có nhiều TT" trong tab Nâng cao.

Ảnh chụp màn hình Trình quản lý thiết bị

Trên Linux, loại trung tâm có thể được kiểm tra bằng "lsusb -v | grep TT". Tôi không biết bất kỳ cách đơn giản nào để kiểm tra trên Macintosh, ngoại trừ tiện ích "USB Prober" mà Apple xuất bản trong các công cụ phát triển Xcode của họ.

TT là viết tắt của Trình dịch giao dịch. Các chi tiết rất phức tạp và được ghi lại đầy đủ trong chương 11 của thông số kỹ thuật USB, đây là bản tải xuống miễn phí từ www.usb.org. Nhưng tóm lại, TT chuyển đổi giữa 480 MBit / giây từ PC của bạn sang tốc độ chậm hơn 12 hoặc 1,5 MBit / giây.

Thông thường khi bạn chơi các nhạc cụ đó, bộ điều khiển của chúng sẽ tạo ra các thông điệp MIDI và sau đó đóng gói vào bộ đệm, chờ thời điểm PC của bạn yêu cầu dữ liệu. Khi PC của bạn kết nối trực tiếp, nó sẽ gửi một thông báo gọi là mã thông báo IN đến công cụ của bạn. Công cụ của bạn có thể phản hồi mã thông báo IN theo hai cách, hoặc là gói DATA hoặc mã thông báo NAK để cho biết không có dữ liệu. PC của bạn gửi các mã thông báo IN đó rất nhanh, do đó, kết quả là phân phối gần như tức thời các sự kiện âm nhạc của bạn dưới dạng tin nhắn MIDI.

Tuy nhiên, khi thiết bị MIDI 12 MBit / giây của bạn kết nối qua USB 2.0 HUB, sẽ xảy ra giao tiếp rất khác nhau, tất cả đều ở mức 480 MBit / giây. PC của bạn thực sự giao tiếp với Trình dịch giao dịch trong trung tâm. Nó sẽ gửi 2 tin nhắn. Đầu tiên, tin nhắn SSPLIT (Bắt đầu phân chia giao dịch) được gửi đến TT. Nếu TT không bận, nó sẽ gửi một xác nhận. Sau đó, TT truyền mã thông báo IN đến bàn phím MIDI của bạn với tốc độ chậm hơn 12 MBit / giây. Trong khi đó, PC của bạn có thể giao tiếp với các thiết bị khác với tốc độ 480 Mbit / giây. Bàn phím MIDI của bạn không thể biết mã thông báo IN đến trực tiếp từ PC của bạn hay từ TT của trung tâm. Nó thực hiện chính xác giống như khi được kết nối với PC của bạn. TT bên trong trung tâm nhận được phản hồi NAK hoặc DATA. Trong khi điều này đang diễn ra, PC của bạn bắt đầu gửi tin nhắn CSPLIT (Giao dịch phân tách hoàn toàn) đến TT của trung tâm. TT trả lời bằng mã thông báo NYET đặc biệt là TT vẫn đang bận giao tiếp với tốc độ 12 Mbit / giây hoặc NAK hoặc DATA từ bàn phím của bạn.

Nếu bạn có cả bàn phím MIDI và trống MIDI được kết nối, điều gì xảy ra nếu PC của bạn muốn gửi tin nhắn SSPLIT để yêu cầu TT giao tiếp với trống, nhưng TT đã bận giao tiếp với bàn phím? Chỉ với một TT duy nhất, trung tâm có thể trả lời NYET cho yêu cầu SSPLIT mới, vì nó đang bận thực hiện IN + DATA với tốc độ 12 MBit / giây. Bạn chắc chắn không muốn kịch bản đó!

Nhiều trung tâm TT có một TT chuyên dụng trên mỗi cổng hạ lưu (mà bạn cắm thiết bị vào). Với nhiều TT, trung tâm luôn có thể chấp nhận yêu cầu SSPLIT, ngay cả khi các TT khác đang bận giao tiếp với các thiết bị hạ nguồn khác. Chỉ với một TT duy nhất, PC của bạn có thể sẽ phải chờ, thậm chí thông qua có rất nhiều băng thông 480 MBit / giây, vì trung tâm có khả năng chuyển đổi nhiều hơn 1 tin nhắn tại một thời điểm giữa các tốc độ khác nhau.

Mô tả này đề cập đến nhiều vấn đề quan trọng về thời gian USB mà TT xử lý, nhưng điểm quan trọng là các trung tâm USB 2.0 có thể sử dụng hai thiết kế khác biệt. Bạn thực sự muốn tránh các trung tâm Single-TT rẻ hơn.

Tốc độ USB 3.0 & 3.1 đã được đề cập ở những nơi khác trong những câu trả lời này. Nhưng các TT trong hub không bao giờ chuyển đổi giữa tốc độ 5 hoặc 10 gigabit và tốc độ 480, 12 hoặc 1.5. Thay vào đó, các trung tâm USB 3.0 & 3.1 hoạt động như một cặp trung tâm. Các tín hiệu gigabit có các chân chuyên dụng riêng trong các đầu nối USB mới hơn, kết nối với một hub chỉ chạy ở tốc độ 5 hoặc 10 Gbit / giây. Giao tiếp đồng thời 480 Mbit / giây xảy ra trên các chân ban đầu, do đó, các thiết bị 12 và 1,5 MBit / giây được chuyển đổi thành 480 Mbit / giây bởi TTs, nhưng không bao giờ thành 5 hoặc 10 Gbit / giây.

Cũng được đề cập ở nơi khác là "tốc độ thấp", về mặt kỹ thuật có nghĩa là 1,5 Mbit / giây trong thuật ngữ USB, nhưng có thể có nghĩa là 1,5 hoặc 12 Mbit / giây trong cuộc trò chuyện thông thường. 12 Mbit / giây được gọi là "tốc độ tối đa" theo thuật ngữ USB. Giao thức USB MIDI, về mặt kỹ thuật là "Đặc tả lớp âm thanh", sử dụng giao thức "số lượng lớn" ( không phải giao thức ngắt, như đã nêu trong câu trả lời khác). Thông số kỹ thuật USB không cho phép giao thức truyền số lượng lớn cho tốc độ 1,5 Mbit / giây. Vì vậy, trừ khi một thiết bị USB MIDI vi phạm rất nhiều tốc độ USB, nó sẽ luôn có tốc độ tối thiểu 12 Mbit / giây. USB MIDI có thể là tốc độ 480 Mbit / giây, trong trường hợp đó, TT không áp dụng. Nhưng đại đa số các sản phẩm USB MIDI hiện nay vẫn có tốc độ 12 Mbit / giây.

Vì vậy, bạn thực sự muốn đảm bảo rằng các trung tâm USB của bạn là loại Multi-TT, nếu bạn có kế hoạch tối đa hóa hiệu suất.


Làm thế nào để bạn có được chế độ xem hiển thị các thiết bị tiêu thụ băng thông trong hình ảnh của bạn? Tài sản của tôi thậm chí không có tab đó.
dùng5389726598465

3

Trên thực tế, việc chia sẻ một cổng USB bằng cách sử dụng một hub để mở rộng số lượng thiết bị bạn cắm vào có lẽ sẽ không quá quan trọng ngay cả khi bạn sử dụng tất cả các thiết bị được gắn cùng một lúc. Hầu hết các thiết bị sẽ không được sử dụng rất nhiều truyền dữ liệu tại một thời điểm. Thậm chí còn ít quan tâm hơn nếu bạn đang sử dụng cổng USB 3.0 hoặc 3.1, nhanh hơn 10 và 20 lần so với 2.0, nhưng cũng có thể gửi và nhận dữ liệu cùng một lúc, cung cấp nhiều năng lượng hơn và sẽ hoạt động với 2.0 thiết bị.

Như đã nêu, miễn là đủ năng lượng chạy qua mọi thiết bị được kết nối với cổng, sẽ không có vấn đề gì xảy ra.


1

Trường hợp của tôi là một ví dụ về USB 3.0 HUB bị chậm khi có nhiều hơn một thiết bị kết nối với nó.

Tôi có hai bộ giống nhau: SataIII cho USB3.1 Gen2 Type C kèm theo với ổ SSD 480 GB.

Nếu tôi đặt SSD vào cổng SataIII, lệnh dd Linux sẽ đọc ở tốc độ hơn 500MiB / s.

Nếu tôi đặt SSD trong SataIII sang bao vây USB 3.1 Gen2 Type C, lệnh dd Linux sẽ đọc gần 413MiB / s, bất kể một trong hai bộ tôi sử dụng.

Điều kỳ lạ xuất hiện khi tôi cắm vào USB 3.0 cả hai vỏ và tôi yêu cầu linux đọc từ cả hai (không có vấn đề gì nếu sọc LVM, RAID0 hoặc hai lệnh dd đồng thời), nó chỉ đọc ở tốc độ 2x150 = 300 MiB / s.

Vì vậy, khi cả hai được cắm, tôi mất gần 413-300 = 113MiB / s tốc độ.

Nói cách khác:

  • Một ổ SSD vào USB 3 HUB, tôi nhận được 413MiB / giây đọc
  • Hai ổ SSD vào USB 3 HUB, tôi nhận được 150 + 150 = 300MiB / s đọc
  • Đã đọc (trên mỗi SSD) khi hai ổ SSD vào trung tâm USB 3 sẽ ít hơn gần 413/2 = 206MiB / s nhưng chúng chỉ có giá trị 150MiB / s mỗi cái, không phải là 200MiB / s như mong muốn.

Tôi bắt đầu nghĩ rằng vấn đề nằm ở giao thức USB 3 Hub để thay thế băng thông dữ liệu cho cả hai ổ đĩa, nó bổ sung một chi phí rất lớn.

Vì vậy, tôi có thể xác nhận trung tâm USB 3 tôi có trên tay làm chậm một ổ SSD nhiều hơn nhiều so với băng thông tối đa, khi có nhiều hơn một kết nối cùng một lúc.

Ngoài ra, tôi đã thử nghiệm với một ổ SSD và thanh USB 3.0 rất chậm (dưới 50MiB / giây), tốc độ đọc kết hợp của USB Hub 3 giảm xuống còn 263MiB / s, vì vậy tôi có thể xác nhận việc đọc kết hợp bị mất là 100MiB / s nếu tôi cắm bất kỳ thiết bị lưu trữ USB khác.

Và hơn nữa, và tệ nhất là tôi cắm Chuột (hoặc bàn phím) và tốc độ đọc SSD cũng gần 313MiB / giây, tôi rút phích cắm chuột / bàn phím và tốc độ đọc SSD trở lại 413MiB / s, do đó, gần 100MiB / giây s tốc độ đọc bị mất chỉ vì một con chuột được kết nối (và đang được sử dụng); nếu tôi không di chuyển, tốc độ đọc của chuột sẽ quay trở lại 413MiB / s.

Vì vậy, HUB đang làm giảm tốc độ đọc lớn (gần 100MiB / giây) về tốc độ truyền kết hợp khi không chỉ một thiết bị được kết nối với nó (và đang được sử dụng), bất kể tôi kết nối với loại thiết bị nào khác, ngay khi nó có nhiều hơn một công việc cùng một lúc, tôi có tốc độ đọc kết hợp thấp hơn gần 100MiB / giây so với khi chỉ sử dụng một thiết bị tại thời điểm smae.

Tôi cũng đã thử nghiệm với ba thiết bị: SSD + Chuột + Bàn phím, tôi vẫn mất khá gần tốc độ tương tự, khoảng 100MiB / s.

Nếu tôi chỉ đọc từ một ổ SSD, nhưng có cả hai kết nối, tôi cũng nhận được gần 413MiB / s.

Giá USB 3.0 Hub là khoảng 20 €, không phải là một giá rẻ.

Kết luận: USB HUB 3.0 làm giảm rất nhiều tốc độ truyền của MiB / s khi có nhiều hơn một thiết bị được kết nối (và truyền) cùng một lúc, ai biết tại sao! có thể bởi vì nó chia thời gian chuyển cho số lượng thiết bị (khá lo lắng) hoặc có thể vì nó có một chi phí rất lớn trên các thiết bị đạp xe, v.v.

Hy vọng điều này sẽ giúp ai đó xác định được vấn đề, tất cả các thử nghiệm đã được thực hiện trong Linux Live SystemResTHERCD (phiên bản cuối cùng) với lệnh dd với status = tiến trình, kích thước khối của một megabyte và đếm bằng một nghìn (đọc tổng cộng 1GiB), định mệnh thiết bị / dev / null.

Tôi đang lên kế hoạch (khi / nếu tôi sẽ giàu) về việc mua một USB 3.x HUB khác, lần này là 3.1 Gen 2 để kiểm tra xem có xảy ra như vậy không hoặc thương hiệu đó có thuật toán phần sụn kém.


SSD rất khác với các thiết bị trong câu hỏi. Mỗi SSD đang cố gắng truyền dữ liệu nhiều hơn băng thông của cổng USB 3. Vì vậy, bạn mất rất nhiều băng thông chỉ trong va chạm.
fixer1234

1

Khi tôi sử dụng kết nối trực tiếp giữa máy tính xách tay có ổ cứng 750GB 5400 vòng / phút và ổ cứng ngoài 8GB, tốc độ truyền thực sự chậm hơn nhiều so với khi tôi sử dụng cổng USB. Ví dụ, gần đây tôi đã sao chép và dán bốn bộ phim thêm tối đa khoảng 120 GB dữ liệu. Đây là những gì đã xảy ra.

  1. Đầu tiên, tôi đã sao chép bốn bộ phim thêm tối đa 120GB dữ liệu vào ổ cứng máy tính xách tay của mình và sau đó dán chúng vào một ổ cứng ngoài 8GB. Mất khoảng 80 phút để chuyển, vì tốc độ truyền dữ liệu chỉ khoảng 30mbs. Tốc độ truyền dữ liệu có các đột biến dao động từ 20mbs đến 35mbs.

  2. Thứ hai, sau đó tôi đã kết nối ổ cứng ngoài 8GB khác cùng một kiểu. Lần này tôi sử dụng hub USB 3.0 4 cổng. Lần này tốc độ truyền dữ liệu nhanh hơn nhiều - có lúc trên 90mbs. Tốc độ truyền dữ liệu có mức tăng đột biến từ 50mbs đến hơn 90mbs. Chỉ mất 30 phút để chuyển dữ liệu.

  3. Thứ ba, như một thử nghiệm, tôi đã kết nối cả hai ổ cứng ngoài 8GB cùng một lúc thông qua trung tâm USB 3.0. Tôi đã sao chép tất cả bốn phim với 120GB dữ liệu từ ổ cứng này sang ổ cứng khác. Lần này việc chuyển tiền thậm chí còn nhanh hơn bao giờ hết. Tốc độ truyền dữ liệu là khoảng 150mbs, và không có sự đột biến nào trong tốc độ truyền tải. Đó là một dòng ổn định 150mbs toàn bộ thời gian.

Tôi đã thực hiện các thí nghiệm với chuyển dữ liệu lớn khác. Vì một số lý do, kết nối USB 3.0 trực tiếp với ổ cứng ngoài chậm hơn nhiều so với khi có một trung tâm USB 3.0. ... Có ai biết tại sao điều này?

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.