Представления о времени и синхронизации

 

Теперь обсудим требования, которые могут предъявляться ко времени и темпу выполнения транзакций: асинхронные, синхронные и изохронные передачи данных. Сразу заметим, что связь типов интерфейсов (асинхронных и синхронных) и типов передач не является жестко однозначной.

В асинхронных передачах данных и интерфейсах участники не имеют друг перед другом никаких особых обязательств по времени: инициатор в любой момент может начать транзакцию, а целевое устройство, как правило, может ее приостановить в случае своей неготовности. Темп инициатора и целевого устройства согласуется с помощью механизмов квитирования2 или (и) управления потоком3. В тех интерфейсах, где имеется квитирование, отдельная задача управления потоком, как правило, не возникает (квитирование обеспечивает и согласование темпов). В последовательных интерфейсах без управления потоком в общем случае не обойтись; в COM-порте имеется даже два варианта протокола управления потоком. Асинхронная передача применима для всех устройств, не связанных с реальным временем: принтеров, сканеров, устройств хранения и т.п.
В синхронных интерфейсах участники транзакций по времени связаны жестко. В них присутствует постоянный тактовый сигнал синхронизации, к которому привязаны все события интерфейса: передача бит в последовательных и байт (слов) в параллельных интерфейсах. Тактовый сигнал, как правило, имеет постоянную (и точно поддерживаемую) частоту, хотя есть ряд синхронных интерфейсов и с произвольными периодами тактового сигнала (например, SPI). Сигнал синхронизации имеется и у передатчика, и у приемника; для передачи сигнала синхронизации используется либо специальная линия интерфейса, либо сигнал синхронизации с помощью так называемых самосинхронизирующихся кодов «упаковывается» в общий сигнал вместе с передаваемыми данными. Отдельная линия интерфейса для синхронизации удорожает интерфейс, да и при высоких скоростях возникнет та же проблема перекоса, которая ограничивает скорость параллельных интерфейсов. В современных последовательных интерфейсах (USB, FireWire), как и в сетях передачи данных, используются различные схемы самосинхронизирующегося кодирования, что позволяет добиваться высоких скоростей без оглядки на дальность. Синхронные интерфейсы позволяют обеспечивать как синхронные, так и асинхронные передачи данных; асинхронные интерфейсы для синхронных передач непригодны.

Синхронная передача данных — это передача с постоянной мгновенной скоростью. Она требуется, например, для мультимедийных данных, в частности — для передачи оцифрованного звука в формате ИКМ (он же PCM — передача отсчетов сигнала через равные промежутки времени). В телефонии отсчеты (8 бит) передаются с частотой 8 кГц (итого — скорость 64 кбит/с), а для высококачественного звуковоспроизведения в аудио-CD — с частотой 44,1 кГц по 16 бит на стереоканал (около 1,4 Мбит/с). Нарушение синхронности приведет к потере данных — искажениям, помехам, провалам звука. Синхронная передача данных требует выделенного синхронного интерфейса для каждого подключаемого устройства (или сложных систем мультиплексирования).

Изохронная передача данных — это передача с постоянной средней скоростью: за определенный (фиксированный) интервал времени должно быть передано определенное число данных, но сама скорость (мгновенная), на которой данные передаются, не оговаривается. Конечно, мгновенная скорость должна быть, по крайней мере, не ниже средней. Обычно мгновенная скорость (пропускная способность интерфейса) выбирается намного выше требуемой средней скорости. Это позволяет использовать один интерфейс для подключения множества устройств и организовывать множество одновременных изохронных каналов передачи (с суммарной скоростью несколько меньшей, чем пропускная способность интерфейса). В одном интерфейсе изохронные передачи спокойно уживаются и с асинхронными. Вопросами распределения полосы пропускания интерфейса занимается диспетчер изохронных ресурсов — отдельная функция программной поддержки. Изохроные передачи используются мультимедийными устройствами — аудио- и видеоаппаратурой. В устройствах имеется буферная память, в которую складываются поступающие пакеты изохронных передач, а «расходование» этих данных (например, на звуковоспроизведение) внутри устройств происходит уже с постоянной мгновенной скоростью (обратная передача происходит похожим образом). Изохронные передачи удобны и в мультимедийных приложениях с переменной скоростью (когда используется сжатие данных, скорость их поступления может колебаться, но, конечно, известен ее верхний предел). Изохронные передачи поддерживаются шинами USB, FireWire, радиоинтерфейсом Bluetooth; изохронный трафик могут нести и обычные сети передачи данных с достаточно высокой пропускной способностью. Точная синхронизация изохронных устройств имеет свои особенности: устройствам приходится использовать собственные (очень точные!) тактовые генераторы, поскольку непосредственной синхронизации (как в синхронных интерфейсах) у них нет. Для решения задачи синхронизации используются, например, механизмы обратной связи, позволяющие устройствам корректировать уход своих «часов».

2 Квитирование — это взаимное подтверждение отдельных шагов протокола обоими участниками транзакции. Квитирование широко применяется в параллельных интерфейсах (в том же LPT-порте, шинах расширения), для чего используются специальные интерфейсные линии.

3 Управление потоком — это уведомление источника (передатчика) данных о возможностях их приема противоположной стороной: если приемник не успевает обрабатывать приходящие данные, он «просит» передатчик приостановить передачу на определенное время или до особого разрешения.








Дата добавления: 2016-06-13; просмотров: 602;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.012 сек.