2016-08-02 1 views

ответ

0

Причиной введения пакета рукопожатия NYET были соображения эффективности использования полосы пропускания.

Если устройство отвечает NYET, хост знает, что устройство, скорее всего, совершит NAK следующую транзакцию OUT, что означает, что все время передачи данных передается впустую: точно такие же данные нужно будет отправить еще раз.

Вот почему транзакция NAKing OUT OUT тратит много времени на фреймворк, так как транзакция OUT занимает автобус без цели и конкурирует с другими транзакциями и устройствами, принимая время от них.

Представьте протокол без установления связи NYET: Хост должен будет отправить один и тот же весь блок данных (то есть до 512 байт для массовых конечных точек) каждый раз, когда устройство NAK просто запросит, если устройство будет готово.

Если хост получает NYET вместо этого, он начнет PINGing устройства, спрашивая, готов ли устройство получать больше данных. Транзакция PING очень короткая по сравнению с транзакцией больших данных OUT. Следовательно, если устройство NAKs PING, хост может использовать остальную часть фрейма для других транзакций, а это приводит к лучшему использованию шины.

Смежные вопросы