USB в графическом процессоре NVIDIA

    Информация о VirtualLink, которая появилась в прошлом году у Ананда (и отчасти была также продублирована на Хабре), не позволила в полной мере сложить впечатление об одном из важных нововведений. На днях состоявшаяся презентация игрового ноутбука ASUS Zephyrus S, где технология VirtualLink уже внедрена, позволила поближе познакомиться с особенностями нового интерфейса.

    image

    Итак, VirtualLink — это всего лишь еще одна реализация USB-шины в конструктиве Type-C. В чем особенность? В отличие от классической реализации, где на разъем USB-C заведены линии двух портов USB 3.x и одного порта USB 2.0, кастомизированный компанией NVIDIA вариант шины использует три USB 3.x порта. Альтернативная функциональность (а если проще — способность системной логики по проводникам USB-шины передавать сигналы, не относящиеся к ведению USB, таковыми, например, могут быть цифровые сигналы видео) присуща и классической реализации Type-C, и продвинутому решению VirtualLink.

    Рассмотрим назначение выводов разъема USB-C — базисного конструктива для интерфейса VirtualLink от NVIDIA:

    Назначение выводов разъема USB Type-C, доработанного под нужды интерфейса VirtualLink от NVIDIA

    Зеленым цветом показаны дифференциальные пары двух портов USB3, определенные в классическом варианте Type-C. Аббревиатура DP (Display Port) означает, что в данном контексте эти линии могут использоваться не как USB3-сигналы SSTx, SSRx, а как линии Display Port. Это значит, что мультиплексоры сигналов, обслуживающие порт, переключены для передачи видео — порт используется в режиме альтернативной функциональности.

    Красным цветом в центре разъема показаны четыре сигнала, явившиеся предметом кастомизации VirtualLink. В классическом Type-C, это линии USB2 одного порта, сохранение работоспособности которого при перевороте разъема достигается коммутацией.

    В кастомизованном варианте порта, который поддерживает спецификацию интерфейса VirtualLink, эти 4 линии используются для реализации еще одного порта USB 3.x. Таким образом, мы получаем в общей сложности три USB 3.x порта вместо двух — шесть дифференциальных пар вместо четырех. При этом лишаемся порта USB2. От кабеля теперь требуется передача по этим линиям сигналов в полосе пропускания 10 Gbps, против 480 Mbps как было раньше. Старые кабели не подойдут.

    Для чего понадобился еще один SuperSpeed-порт? NVIDIA заявляет его для обслуживания датчика перемещения: link to the headset for motion tracking. Понятно, что такое решение имеет лучшие перспективы по сравнению с legacy-портом USB 2.0, для которого достойное применение сегодня найти трудно.

    Также недостаточным для нужд виртуальной реальности оказался классический подход к реализации альтернативной функциональности. VirtualLink предполагает два варианта использования «зеленых» линий USB 3.x. Рассматривается вариант при котором оба USB3-порта (все 4 дифференциальные пары) работают в режиме альтернативной функциональности (four lanes of HBR3 DisplayPort) или один порт в режиме альтернативной функциональности, а второй — в режиме USB3-порта (two lanes of HBR3 DisplayPort+ two lanes SuperSpeed USB 3). В любом случае, предельный видеорежим будет поддерживать 8K-дисплей с частотой развертки 60 Гц.

    И о главном. USB-порты, используемые в VirtualLink, формируются не процессором Intel, не системной логикой платформы, а находятся прямо в графическом процессоре. Что вполне оправдано в плане применения линий USB-шины как альтернативы для передачи видео на VR-устройства. Не стоит забывать, что данная функциональность потребует дополнительных затрат — узел видеоадаптера NVIDIA Turing TU104, способный обеспечить электропитание подключаемой периферии, станет потреблять на 35 Ватт больше. За все приходится платить.

    Комментарии 19

      +1
      В чем смысл делать по сути новую шину на базе старого коннектора, совместимости же нет. Или я что-то не понимаю?
        +1
        Это для VR шлемов. Вместо 2/3 разъёмов, теперь достаточно одного. Плюс старые кабели стоят неадекватно дорого(особенно на окулус), а ломаются при интенсивном использовании довольно быстро.
          +1

          Это уже давно так… В смысле совместимости внутри Type-C уже давно нет… Раньше вот можно было чисто визуально или попробовать 'воткнуть' кабель, чтобы понять, будут ли дружить устройства/кабели между собой, или нет (ну кроме DVI-D vs DVI-I).
          А сейчас вот есть ноут с Type-C. Нужен док. У того же Dell есть целых три Type-C дока:


          1. Dell TB16 — это для тех у кого Type-C порт умеет Thunderbolt 3
          2. Dell WD15 — по сути для тех у кого Type-C не умеет Thunderbolt, но умеет DisplayPort alternative
          3. Dell Univesal Dock D6000. Для тех у кого Type-C это просто USB, без видео.

          Последний по идее самый универсальный, но и самый хреновый (DisplayLink). А зоопарк Type-C кабелей c разным функционалом это вообще ужас.

            +1
            Последние варианты DisplayLink умеют использовать как обычные линии USB, так и DisplayPort, если он есть. Так что он заработает на любом устройстве, а при поддержке устройством DisplayPort — он будет ещё и родным интерфейсом, а не дополнительной видеокартой считаться.
            Thunderbolt 3 вообще стоит считать отдельным устройством и устройства для него брать внимательно. Впрочем, второй и третий док заработают и в нём.
            Условно, это как с локальной сетью. Есть категория 5, 5Е, 6 и так далее. Но в проводе могут оказаться только четыре жилы. И при этом есть скорости 10/100/1000/более. Просто к этому уже привыкли, а к type-c — ещё нет.
              0

              А можно ссылку на DisplayLink умеющий работать через DisplayPort? Я на их сайте про это не нашел ничего.

          +2
          До GoPro им ещё далеко. Там через USB2 с помощью коннектора от USB3 на доп. контакты передается аналоговое видео и звук. Как себя почувствует порт, если туда воткнуть рабочий USB3 — хз.
            0
            Они не одиноки…
            Mini-USB в колонках Razer Ferox: звук + кольцо цепи питания.
          0
          Уже совсем запутали с этими Type C. 6 высокоскоростных дифф пар только на кабеле с пометкой VirtualLink от NV?
            +1
            Скорее «VirtualLink compatible©» от кого угодно. Но да, подойдёт не любой.
            Кстати, а почему? Какие именно параметры кабеля влияют на пропускную способнойсть? Материал? Шаг скрутки?
              0
              Экранирование… применение твианксиальных проводников для диффпар… Вообще хорошая тема для статьи — накупить пачку кабелей и препарировать)
                0
                Порт USB2 в составе классического разъема Type-C один. Для его функционирования необходимо иметь два проводника, а тот факт, что их четыре используется для поддержания функциональности при перевороте разъема. Ведь для USB2 нужна только одна дифференциальная пара (D+, D-), направление передачи по которой изменяется
                динамически, а для USB3 в каждую сторону своя дифференциальная пара: SSTX + — передача, SSRX + — прием.

                Вопрос о материале, шаге скрутки, толщине проводников и требованиях
                к точности совпадения их длин требует участия специалиста по СВЧ.

                P.S. В эпоху безраздельного господства USB2 пришлось знакомится с конструкцией достаточно большого числа соединительных USB-кабелей. Встречались такие решение, которые на срезе не лудились ни одним из известных флюсов/припоев. Коммуникационные качества такие кабелей очевидны.
              +2
              О как, а я думаю, что это АМД тоже ТуреС прямо в графическое ядро встроило.
              www.amd.com/system/files/documents/v1000-family-product-brief.pdf
              Там DP3 может настраиваться как Type C.
                0
                Там это выглядит не столь вызывающе :)
                +1
                ИМХО: самое главное это ликвидация задержки. Ранее информация о координатах должна была обработаться CPU, пройти через общую шину + квазиреалтайм драйвера с множеством ухищрений. Показатель 20мс движение-фотоны считалось большим достижением. Теперь все поступает напрямую в CUDА.
                  0
                  Но ведь прежде чем начать рендерить новый кадр, нужно сначала обработать игровую логику на CPU, а потом загрузить новые данные и отправить команды на GPU. Кроме того, в этот момент видюха еще будет рендерить предыдущий кадр. В общем непонятно зачем эти данные напрямую в CUDA.
                    0
                    Здесь интрига в том, может ли локальная память видеоадаптера выступать в качестве адресуемого объекта для bus-master операций контроллера USB3 xHCI, реализованного в составе графического чипа.
                    +2
                    Вот только вр-шлемов с поддержкой этого порта за год так и не вышло.

                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                    Самое читаемое