Как реализован VirtualLink в графическом процессоре NVIDIA?

Разработка графических адаптеров во мно­гом об­ус­лов­ле­на спе­ци­фи­кой GPU. Поле для маневра у OEM-парт­не­ров про­из­во­ди­те­лей GPU ограничено питанием и тактированием. В этом смысле о ASUS TUF Gaming GeForce GTX 1660 c 6 ги­га­бай­та­ми соб­ст­вен­ной па­мя­ти ска­за­но до­ста­точ­но мно­го — разгон и про­из­во­ди­тель­ность этого адаптера напрямую свя­за­ны с ка­чест­вен­ной доводкой указанных схем, плюс еще и охлаждение. «Внутренний мир» чи­па NVIDIA GeForce GTX 1660 ос­та­ет­ся вне поля зрения — не силь­но он-то и ну­жен поль­зо­ва­те­лю, вы­ло­жив­ше­му круг­лую сумму за клас­сную видеокарту.

Тестовая лаборатория «Компостера» была одной из первых, кто ак­цен­ти­ро­вал внимание на фун­к­ци­о­наль­но­с­ти Vir­tu­al­Link в составе нового поколения графических про­цес­со­ров NVIDIA. VirtualLink — это про­при­е­тар­ное раз­ви­тие USB-шины, впервые обнаруженное нами в но­ут­бу­ке ASUS Zephyrus S. Знакомство с ASUS TUF Gam­ing GeForce GTX 1660 дол­ж­но дать ответ, масштабируется ли USB-контроллер в GPU от NVIDIA на все гра­фи­че­ские процессоры, или это то­ль­ко удел мобильных платформ?

Анализ конфигурационного пространства видеокарты ASUS TUF Gaming GeForce GTX 1660 выполнялся на системной плате ASUS TUF Gaming X570-Plus

 

Анализ PCI-пространства дает ответ на этот вопрос: контроллер USB xHCI об­на­ру­жи­ва­ет­ся в качестве одного из ло­ги­че­ских устройств в составе видео адаптера GeForce GTX 1660. Позитивно, что архитектура со­от­вет­с­т­ву­ет стан­дарт­ным кон­фи­гу­ра­ци­он­ным ме­ха­низ­мам, без использования Vendor-Specific моделей, на­сколь­ко мож­но су­дить об этом на ос­но­ва­нии ба­зо­вых спе­ци­фи­ка­ций PCI/PCIe в от­сут­ст­вии до­ку­мен­та­ции по со­дер­жи­мо­му ре­гист­ро­вых полей.

На системной плате ASUS TUF Gaming X570-Plus контроллер USB xHCI обнаруживается в качестве одного из логических устройств в составе видео адаптера ASUS TUF Gaming GeForce GTX 1660

 

Разведку этой структуры мы выполнили на стен­до­вой плат­фор­ме ASUS TUF Gaming X570-Plus, созданной на ба­зе сис­тем­ной ло­ги­ки от AMD. Очевидно, что PCIe-уст­рой­ст­во с кодом 1AECh — это и есть USB xHCI, что под­т­вер­ж­да­ет­ся ко­да­ми Base Class, Sub Class, Pro­gramm­ing In­ter­face (в данном случае 0Ch, 03h, 30h). Его де­тек­ти­ро­ва­ние можно счи­тать ус­пеш­ным, не­смот­ря на то, что кон­к­рет­ный Device ID = 1AECh от­сут­ст­ву­ет ба­зах дан­ных, от­сле­жи­ва­ю­щих появление но­вых уст­ройств. В итоге, можно даже определить тип кон­т­рол­ле­ра xHCI и ре­ви­зию шины USB. Группа из четырех ло­ги­че­ских уст­ройств, вхо­дя­щих в состав одного фи­зи­че­ско­го (гра­фи­че­ско­го чипа), может быть вы­де­ле­на по об­ще­му значению поля номера шины (Bus=01).

А если верить NVIDIA, то есть основания предположить, что «Con­tro­la­do­ra USB1 NVIDIA USB Type-C Port Policy Controller [10DE-1AED]» — это кон­фи­гу­ра­ци­он­ный ка­нал VirtualLink, т.е. Type-C реализация NVIDIA-вер­сии USB-конт­рол­ле­ра. Де­ло за малым — на­йти ему при­ме­не­ние, обес­пе­чив пе­ри­фе­ри­ей.