Подтвердить что ты не робот

Какова минимальная латентность USB 3.0

Во-первых, я мало знаю о USB, поэтому заранее извиняюсь, если мой вопрос не прав.

В USB 2.0 интервал опроса составлял 0,125 мс, поэтому наилучшая возможная задержка для хоста для чтения некоторых данных с устройства составляла 0,125 мс. Я надеюсь на снижение латентности устройств USB 3.0, но мне трудно узнать, что такое минимальная задержка. Спецификация USB 3.0 говорит: "Опрос в стиле USB 2.0 был заменен асинхронными уведомлениями", что означает, что интервал опроса 0.125ms больше не может быть предел.

Я нашел несколько тестов для SSD-накопителей USB 3.0, которые выглядят так, как данные могут быть считаны с устройства всего лишь чуть меньше 0,125 мс, и это включает в себя все время, проведенное в ОС хоста и контроллере вспышки устройства.

http://www.guru3d.com/articles_pages/ocz_enyo_usb_3_portable_ssd_review,8.html

Может ли кто-нибудь сказать мне, что такое минимальная задержка? Теоретический ответ в порядке. Ответ, включающий практические ограничения различных версий Linux и Windows USB-стеков, был бы потрясающим.

Чтобы ответить на вопрос "скажите мне, что вы пытаетесь достичь", я создаю интерфейс отладки для ASIC, которые разрабатывает моя компания. т.е. ПК подключается к одной из наших ASIC с помощью отладочного ключа. Один из возможных вариантов использования - реализовать условные точки останова, когда оборудование ASIC реализует только простые точки останова. Для этого мне нужно определить, когда была удалена простая точка останова, оцените условие, если false установил, что процессор работает снова. Простая точка останова может быть поражена миллионы раз, прежде чем условие станет истинным. Мы могли бы реализовать отладочный ключ на FPGA или встроенный микроконтроллер с поддержкой USB 3.0.

4b9b3361

Ответ 1

Отвечая на мой собственный вопрос...

Я понял, что этот вопрос вроде пропустил точку USB 3.0. В отличие от 2.0, это не система с общей шиной. Вместо этого он использует связь "точка-точка" между хостом и каждым устройством (я упрощаю, но суть верна). С USB 2.0 интервал опроса 125 наслов был критическим для того, как шина была мультиплексирована по времени между устройствами. Тем не менее, поскольку 3.0 использует двухточечные ссылки, мультиплексирования нет, и поэтому интервал опроса больше не существует. В результате задержка при доставке пакетов намного меньше, чем при использовании USB 2.0.

В моих экспериментах с DevKit Cypress FX-3 я обнаружил, что достаточно легко получить среднее путешествие из приложения Windows в устройство и обратно с средней латентностью 30 us, Я подозреваю, что подавляющее большинство времени тратится на различные задержки ОС, например, на пользовательское пространство для переключения режима ядра и латентность DPC в драйвере.

Ответ 2

У меня есть несколько ресурсов для вас, один из которых я только что скачал, который является полным спецификациями... несколько PDF файлов зашифрованы для USB3 и вот краткий отрывок из страницы 58,59 (USB 3_r1.0_06_06_2011.pdf):

USB 2.0 transmits SOF/uSOF at fixed 1 ms/125 μs intervals.  A device driver may change 
the interval with small finite adjustments depending on the implementation of host and 
system software. USB 3.0 adds mechanism for devices to send a Bus Interval Adjustment 
Message that is used by the host to adjust its 125 μs bus interval up to +/-13.333 μs.  
In addition, the host may send an Isochronous Timestamp Packet (ITP) within a relaxed 
timing window from a bus interval boundary.  

Здесь - еще один ресурс, который выглядит интересным, что связано с вычислением задержки.

Вы хорошо разбираетесь в проблемах с задержкой операционной системы, особенно в операционных системах реального времени.

Я могу предположить, что вы тоже проверите SuperUser, возможно, у кого-то есть другие идеи. CHEERS