USB

Накладные расходы и загрузка шины

К накладным расходам при передаче по последовательной шине относятся:

  • затраты на служебную информацию (пакеты маркеров и подтверждений, служебные поля пакетов данных);
  • затраты на вставку бит: 6 последовательных единиц в любых полях кадра влекут за собой передачу по шине дополнительного вставленного бита. Доля этих накладных расходов может быть в пределах 0–15% от объема полезных данных. Из-за неопределенности этой доли данные затраты в нижеприведенных таблицах не учтены;
  • задержки распространения сигналов в кабелях и хабах;
  • внутренние задержки устройств при ответах на транзакции;
  • затраты на повторы транзакций в случае ошибок приема и неготовности устройства.

Накладные расходы на каждую транзакцию зависят от ее типа; наиболее выгодные — изохронные (нет подтверждения), самые ресурсоемкие — управляющие трехстадийные. Число байт накладных расходов на каждую транзакцию, отнесенное к числу байт полезных данных для полной и высокой скорости, приведено в табл. 1 (низкую скорость в «соревнованиях» не рассматриваем). В таблице приведена и эффективность использования пропускной способности шины во время указанных транзакций. Большие накладные расходы на высокой скорости объясняются большим влиянием задержек распространения: на полной скорости время оборота «поглощает» до двух байт, а на высокой — до 90 (поскольку битовый интервал около 2 нс много меньше допустимых задержек распространения).

Таблица 1. Накладные расходы на одну транзакцию и максимальная эффективность использования шины

Скорость FS HS
Тип Накладные расходы/Размер данных — Эффективность
Изохронные 9/1023 — 99% 38/1024 — 96%
Прерывания 13/64 — 83% 55/1024 — 95%
Передача массивов 13/64 — 83% 55/512 — 90%
Управление (3 стадии) 45/64 — 59% 173/64 — 27%

 

Очевидно, что с точки зрения уменьшения доли накладных расходов шины выгодно использовать транзакции с пакетами данных максимальной длины. Однако такие транзакции занимают слишком много времени в микрокадре, оставляя мало места для других. Теоретически за каждый кадр (1 мс) на полной скорости (12 Мбит/с) по шине может быть передано 12 000 бит (вместе со вставленными) — 1,5 Кбайт, хотя реально это число меньше из-за задержек распространения и ответов. На высокой скорости (480 Мбит/с) в микрокадре (125 мкс) передается 60 000 бит — 7,5 кбайт.

В следующих таблицах приводятся параметры пропускной способности для разных типов передач в зависимости от размера поля данных. В этих таблицах приняты следующие обозначения: D — размер поля данных, VEP — достижимая скорость для конечной точки, KF — доля времени микрокадра, занимаемая транзакцией; VBUS — максимальная пропускная способность шины с пакетами указанной длины.

Оценить возможность сочетания различных транзакций в микрокадре можно сложением занимаемых долей кадра (результат не должен превышать 100%). Из следующих таблиц видно, что низкоскоростные устройства при малой пропускной способности расходуют значительную часть времени шины. В USB 1.x с этим мирятся (ради простоты), а в USB 2.0 полоса высокоскоростной шины экономится за счет применения расщепленных транзакций (что требует существенного усложнения хабов).

 

Таблица 2. Пропускная способность транзакций на низкой скорости

D VEP, Кбайт/с
KF N VBUS, Кбайт/с VEP, Кбайт/с KF N VBUS, Кбайт/с
  Управляющие передачи Прерывания
1 1 26% 3 3 1 11% 9 9
2 2 27% 3 6 2 11% 8 16
4 4 28% 3 12 4 12% 8 32
8 8 30% 3 24 8 14% 6 48

 

Таблица 3. Пропускная способность транзакций на полной скорости

D VEP, Кбайт/с
KF N VBUS, Кбайт/с VEP, Кбайт/с KF N VBUS, Кбайт/с
  Изохронные передачи Передача массивов и прерывания
1 1 1% 150 150 1 1% 107 107
2 2 1% 136 272 2 1% 100 200
4 4 1% 115 460 4 1% 88 352
8 8 1% 88 704 8 1% 71 568
16 16 2% 60 960 16 2% 51 816
32 32 3% 36 1152 32 3% 33 1056
64 64 5% 20 1280 64 5% 19 1216
128 123 9% 10 1280 не дост.   
256 256 18% 5 1280
512 512 35% 2 1024
1023 1023 69% 1 1023

 

Таблица 4. Пропускная способность транзакций на высокой скорости

D VEP, Кбайт/с
KF N VBUS, Кбайт/с VEP, Кбайт/с
KF N VBUS, Кбайт/с
  Изохронные передачи Передача массивов и прерывания
1 8 1% 192 1536 8 1% 133 1064
2 16 1% 187 2992 16 1% 131 2096
4 32 1% 178 5696 32 1% 127 4064
8 64 1% 163 10432 64 1% 119 7616
16 128 1% 138 17664 128 1% 105 13440
32 256 1% 107 27392 256 1% 86 22016
64 512 1% 73 37376 512 2% 63 32256
128 1024 2% 45 46080 1024 2% 40 40960
256 2048 4% 25 51200 2048 4% 24 49152
512 4096 7% 13 53248 4096 8% 13 53248
1024 8192 14% 7 57344 8192 14% 6 49152
20481 16384 28% 3 49152 16384 28% 3 49152
30721 25576 41% 2 49152 25576 42% 2 49152

1 - Для широкополосной конечной точки строки относятся к двум-трем транзакциям в микрокадре, в каждой из которых длина поля данных не превышает 1024 байт.



Sitelinkx by eXtro-media.de
Яндекс.Метрика