Краткое описание инструмента и ремесла программирования. Степанов А.Г - 21 стр.

UptoLike

21
ПРОБЛЕМА СИНХРОНИЗАЦИИ
Операции ввода-вывода требуются процессору в строго определенное
время, определяемое логикой выполнения программы. Пересылаемая в регистр
данных информация для устройства, (например, число, соответствующее коду
печатаемой буквы), должна быть передана принтеру точно в тот момент
времени, когда он готов ее обработать (расшифровать символ и построить его
графическое отображение на бумаге), т.е. тогда, когда имеется сигнал
готовности в регистре данных. Аналогично, информация от устройства ввода в
регистре данных (например, номер нажатой клавиши на клавиатуре) появляется
только тогда, когда клавиша действительно была нажата и об этом
свидетельствует появление сигнала готовности в регистре данных.
Процессор и устройство ввода-вывода (вместе с контроллером)
представляют собой
самостоятельные физические объекты. Для физически
реализуемых объектов характерно наличие инерционных свойств. Так,
например, ни один физический объект не может передвигаться со скоростью,
превышающей скорость света или мгновенно изменять свое положение в
пространстве. На основании этого можно сделать вывод, что как бы технически
не были бы реализованы процессор и устройство ввода-вывода, для
выполнения их действий всегда потребуется некое конечное время. Поскольку
процессор и устройство ввода вывода выполняют свои действия независимо
друг от друга, то возможны всего две ситуации:
процессор работает быстрее устройства ввода-вывода;
процессор работает медленнее устройства ввода-вывода.
В первом случае процессор должен ждать окончания операций устройства
ввода вывода, во втором устройство ввода-вывода должно ожидать окончания
операций процессора. Все выше изложенное приводит к необходимости
синхронизации работы устройств ввода-вывода с работой процессора.
Синхронизацией называется процесс обеспечения одновременной
работы нескольких независимых устройств.
Необходимость в синхронизации независимых процессов возникает в самых
разнообразных случаях, в связи с чем это понятие является достаточно общим
(рис. 1.10.).
ОБМЕН В ПРОГРАММНОМ РЕЖИМЕ
Синхронизация работы процессора и устройства ввода-вывода
осуществляется двумя способами. Первый способ называется режимом
программного опроса. В этом случае процессор выполнят программу,
заключающуюся в считывании содержимого регистра состояния. Если число,
находящееся в регистре состояния, не соответствует значению, определенному
для готовности устройства к обмену, то операция считывания повторяется. В
некоторых случаях на основании считанной информации может делаться
заключение типа «Кончилась бумага в принтере», «Устройство отсутствует».
Если устройство готово к обмену, проводится пересылка в регистр данных
(вывод) или чтение регистра данных (ввод). Заметим, что в этом случае
процессор занят программой обмена и не может выполнять никаких других
программ.