Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разделы 7-8.docx
Скачиваний:
8
Добавлен:
25.04.2019
Размер:
58.68 Кб
Скачать

8.4 Синхронная и асинхронная передача данных.

Передача данных по каналу связи осуществляется либо байтами, либо массивом байтов, называемым кадром. Передача данных осуществляется последовательно, бит за битом. Для того чтобы приемник устанавливал приходящие биты на временные позиции, соответствующие их отправке из передатчика, он должен "знать" моменты их прихода, т.е. синхронизоваться с приходящими битами данных. Для исключения этого явления средства, передающие биты на уровне канала, всегда поддерживают побитовую синхронизацию между приемником и передатчиком, а при передаче более длинных сообщений необходимо поддерживать также и синхронизацию по кадрам.

Асинхронная передача.

П ри плохом качестве линии связи (обычно это относится к телефонным коммутируемым каналам) для удешевления аппаратуры и повышения надежности передачи данных вводят средства синхронизации на уровне байт. При передаче данных отдельными байтами осуществляется только побитовая синхронизация, синхронизация по кадрам не ведется. Такой режим работы называется асинхронным или старт-стопным (клавиатура дисплея или другого терминального устройства). В асинхронном режиме каждый байт данных сопровождается специальными сигналами "старт" и "стоп". Назначение этих сигналов состоит в том, чтобы известить приемник о приходе данных и чтобы дать приемнику достаточно времени для выполнения некоторых функций, связанных с синхронизацией, до поступления следующего байта. Сигнал "старт" имеет продолжительность в один тактовый интервал, а сигнал "стоп" может длиться один, полтора или два такта. Асинхронным описанный режим называется потому, что каждый принятый байт может быть смещен во времени относительно переданного байта на случайный промежуток времени.

Синхронная передача.

П ри синхронном режиме передачи пользовательские данные собираются в кадр, который предваряется байтами синхронизации. Байт синхронизации - это байт, содержащий заранее известный код, например 0111110, который оповещает приемник о приходе кадра данных (флаг). При его получении приемник должен войти в байтовый синхронизм с передатчиком. Иногда применяется несколько синхробайт для обеспечения более надежной синхронизации приемника и передатчика. Так как при передаче длинного кадра у приемника могут появиться проблемы с синхронизацией бит, то в этом случае используются самосинхронизирующие коды.

Асинхронная передача является более простой, но заставляет сопровождать каждый байт сигналами "Старт - Стоп ", что снижает эффективность использования канала и, в конечном итоге, скорость передачи по каналу информационных битов.

Синхронная передача позволяет более эффективно использовать пропускную способность канала, но требует более сложной аппаратуры. Обычно она используется на хороших каналах для передачи данных с высокой скоростью - 64 кбит/с до 8192кбит/с и выше.

8.5 Передача данных с прерыванием программы.

В этом случае обмен может осуществляться в произвольных точках программы, определяемых внешним устройством. При поступлении от внешнего устройства запроса на обмен, микропроцессор прерывает выполняемую программу и переходит на реализацию специальной программы, предназначенной для обработки этого события. Конечно, микропроцессор предварительно должен выполнить операции, обеспечивающие возможность продолжения реализации прерванной программы после завершения, осуществления программы обработки запроса прерывания. Выполняемая по запросу прерывания программа должна завершаться командой возврата к прерванной программе. МП обладает возможностью запрещать прерывание, когда это необходимо.

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

В программе вывода текста в этом случае отсутствует ожидание готовности ВУ. Как только устройство печати готово принять очередной символ, контроллер вырабатывает требование прерывания, а затем продолжает ее выполнение. Простои процессора сокращаются, так как, пока ВУ не готово, процессор выполняет другие команды основной программы, т.е. процессор и ВУ в это время работают параллельно.

Ввод-вывод по прерываниям, однако, требует усложнения аппаратных средств – создания системы прерываний.