link0 link1 link2 link3 link4 link5 link6 link7 link8 link9 link10 link11 link12 link13 link14 link15 link16 link17 link18 link19 link20 link21 link22 link23 link24 link25 link26 link27 link28 link29 link30 link31 link32 link33 link34 link35 link36 link37 link38 link39 link40 link41 link42 link43 link44 link45 link46 link47 link48 link49 link50 link51 link52 link53 link54 link55 link56 link57 link58 link59 link60 link61 link62 link63 link64 link65 link66 link67 link68 link69 link70 link71 link72 link73 link74 link75 link76 link77 link78 link79 link80 link81 link82 link83 link84 link85 link86 link87 link88 link89 link90 link91 link92 link93 link94 link95 link96 link97 link98 link99 link100 link101 link102 link103 link104 link105 link106 link107 link108 link109 link110 link111 link112 link113 link114 link115 link116 link117 link118 link119 link120 link121 link122 link123 link124 link125 link126 link127 link128 link129 link130 link131 link132 link133 link134 link135 link136 link137 link138 link139

PersCom — Компьютерная Энциклопедия Компьютерная Энциклопедия

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 байт.