USB 3.1 и PCI Express: потребности и возможности

В современных персональных платформах,USB-контроллер традицион­но входит в состав системной логики. Но вспоминая, как происходило внедрение новых поколений универсальной последовательной шины, от стандарта USB ревизии 2.0 до 3.0, нельзя не обратить внимание на характерный момент – поддержка новых скоростных USB-режимов в микросхемах чипсета всегда появляется с некоторым запаздыванием. Разработчики платформ, желая как можно раньше вывести на рынок передовые продукты, предлагают дискретные контроллеры, подключа­е­мые к различным внутренним шинам системной платы. Начавшееся внедрение стандарта USB3.1, реализующего передачу данных в режиме SuperSpeedPlus со скоростью 10 гигабит в секунду не является исключением. Возникает вполне закономерный вопрос: как влияет такое решение на произво­ди­тель­ность подсистемы USB?

Попробуем пойти от частного к общему и рассмотрим конкретный пример с подключением контроллера Asmedia ASM1142, обеспечивающего два порта SuperSpeedPlus, к интерфейсу PCI Express Gen2 x2.

О производительности PCI express

Производительность PCI Express соединения, как в общем-то и любой другой шины определяется произведением количества информационных линий на пропускную способность одной линии, определяемую тактовой частотой при передаче сигналов. Для второго поколения шины PCI Express (Gen2) каждая сигнальная линия, а точнее дифференциальная пара, обеспечивает пропускную способность 5 гигабит в секунду.

Так как в нашем примере используется две линии (x2), умножаем на 2 и получаем 10 гигабит в секунду. Для обеспечения устойчивой передачи информации применяется избыточное кодирование, для Gen2 это режим 8b/10b при котором 10 бит, физически переданные по линии несут 8 полезных бит, поэтому реальная пропускная способность будет равна 8 гигабит в секунду.

Интерфейс PCI Express использует раздельные линии для приема и передачи информации, называемые Rx (Receive) и Tx (Transmit) соответственно. Таким образом, в нашем примере контроллер располагает каналами приема и передачи данных пропускной способностью по 8 гигабит в секунду каждый.

Принципы кодирования 8b/10b
Рис 1Принципы кодирования 8b/10b

О производительности USB 3.1

Режим SuperSpeedPlus предполагает передачу данных со скоростью 10 гигабит в секунду. Напомним, по сравнению с протоколом USB3.0 пропускная способность удвоилась. Применяется избыточное кодирование в режиме 128b/132b, это означает, что 132 бита, физически переданные по линии несут 128 полезных бит. Получаем 10*(128/132) = 9.6 гигабит в секунду.

Как и в случае PCI Express, для приема и передачи данных используются физически раздельные линии. Данное нововведение шина USB приобрела, начиная с поколения 3.0. Таким образом, один USB3.1 порт потенциально может создавать трафик около 9.6 гигабит полезных данных в секунду в каждом направлении. Хотя здесь уместно вспомнить, что типовые периферийные устройства, такие как жесткий диск или Flash-накопитель, не способны выполнять чтение и запись информации одновременно.

Блок-схема формирователя сигнала данных USB3.1
Рис 2Блок-схема формирователя сигнала данных USB3.1

Резюме

Итак, сравним потребности и возможности:

  • Два порта USB3.1 это около 9.6 * 2 = 19.2 гигабит в секунду, или 19.2 / 8 = 2.4 гигабайта в секунду суммарно для двух портов.
  • Соединение PCI Express Gen2 x2 это около 8 гигабит в секунду, или 8 / 8 = 1.0 гигабайт в секунду.

Трафик одного порта USB3.1 примерно соответствует возможностям выбранного режима работы PCI Express соединения. При экстремальном сценарии, а именно использовании двух портов для одновременной передачи данных с максимальной скоростью, шинная топология станет существенным ограничивающим фактором.

Акцентируем внимание на одной особенности. В силу того, что каналы приема и передачи данных в PCI Express физически разделены, падение производительности может оказаться менее заметным, если устройства подключенные к двум портам передают данные в разных направлениях.

Что осталось за кадром

Мы рассмотрели наиболее распространенный вариант подключения контроллера Asmedia ASM1142 к интерфейсу PCI Express – режим Gen2 x2. Микросхема также поддерживает режим Gen3 x1, расчет параметров для которого можно выполнить по аналогии, используя документ PCI Express Base Specification Revision 3.0.

Заметим, что при использовании плат-адаптеров, устанавливаемых в разъемы PCI Express, иногда возникают разночтения, связанные с тем, что устройство может использовать меньшую ширину шины, чем предусматривает конструктивное исполнение разъема, поэтому для уточнения следует обращаться к документации или показаниям различных информационно-диагностических утилит.

Теги: 

USB 3.1 и PCI Express: потребности и возможности