Программный ввод-вывод - Большая Энциклопедия Нефти и Газа, статья, страница 1
Когда ты по уши в дерьме, закрой рот и не вякай. Законы Мерфи (еще...)

Программный ввод-вывод

Cтраница 1


Программный ввод-вывод инициируется программой работы МП. Данный процесс задается использованием в соответствующих местах программы специальных команд: IN port - ввод данных из порта ввода и OUT port - вывод данных в порт вывода. Портами обычно являются регистры для подключения внешних устройств. Эти команды выполняются немедленно, если внешние устройства имеют свойство постоянной готовности к приему или передаче данных. Такими устройствами могут быть, например, светодиодные индикаторы на выходе порта или набор кнопок на входе порта. Если внешнее устройство таким свойством не обладает, то при выполнении команды необходимо проверить управляющий сигнал готовности устройства к передаче или приему данных. Если готовность устройства не подтверждается, то МП переходит в режим ожидания активного уровня сигнала готовности.  [1]

Программный ввод-вывод очень легко реализуется, но его существенный недостаток состоит в том, что центральный процессор занимается на все время операции ввода-вывода. Даже если один символ печатается очень быстро, поскольку все, что нужно сделать принтеру - это поместить этот символ в свой внутренний буфер, принтер обычно не рассчитан на прием символов с той скоростью, с которой их может выдать быстрый процессор. Поэтому большую часть времени центральный процессор проведет в ожидании готовности принтера, что является неэффективным использованием процессорного времени. Такой подход вполне допустим в примитивных встроенных системах, в которых у центрального процессора нет других задач; однако в более сложных, многозадачных системах такой подход неприемлем.  [2]

Программный ввод-вывод очень легко реализуется, но его существенный недостаток состоит в том, что центральный процессор занимается на все время операции ввода-вывода. Даже если один символ печатается очень быстро - поскольку все, что нужно сделать принтеру - это поместить этот символ в свой внутренний буфер, принтер обычно не рассчитан на прием символов с той скоростью, с которой их может выдать быстрый процессор. Поэтому большую часть времени центральный процессор проведет в ожидании готовности принтера, что является неэффективным использованием процессорного времени. Такой подход вполне допустим в примитивных встроенных системах, в которых у центрального процессора нет других задач; однако в более сложных, многозадачных системах такой подход неприемлем.  [3]

4 Печать строки при помощи DMA. программа, выполняемая при обращении к системному вызову ( а. процедура обработки прерываний ( б. [4]

Хотя программный ввод-вывод иногда бывает полезен, для большинства операций ввода-вывода прерывания являются неприятным, но необходимым фактом. Прерывания должны быть упрятаны как можно глубже во внутренностях операционной системы, чтобы о них знала как можно меньшая часть операционной системы. Лучший способ спрятать их заключается в блокировке драйвера, начавшего операцию ввода-вывода, вплоть до окончания этой операции и получения прерывания. Драйвер может заблокировать себя сам, выполнив на семафоре процедуру down, процедуру wait на переменной состояния, процедуру receive на сообщении, или что-либо подобное.  [5]

6 Печать строки при помощи DMA. программа, выполняемая при обращении к системному вызову ( а. процедура обработки прерываний ( б. [6]

Хотя программный ввод-вывод иногда бывает полезен, для большинства операций ввода-вывода прерывания являются неприятным, но необходимым фактом. Прерывания должны быть упрятаны как можно глубже во внутренностях операционной системы, чтобы о них знала как можно меньшая часть операционной системы. Лучший способ спрятать их заключается в блокировке драйвера, - начавшего операцию ввода-вывода, вплоть до окончания этой операции и получения прерывания. Драйвер может заблокировать себя сам, выполнив на семафоре процедуру down, процедуру wait на переменной состояния, процедуру receive на сообщении, или что-либо подобное.  [7]

Обычный метод обмена с жестким диском IDE - это программный ввод-вывод, РЮ ( Programmed Input / Output), при котором процессор, используя команды ввода-вывода, считывает или записывает данные в буфер жесткого диска, что отнимает какую-то часть процессорного времени. Ввод-вывод путем прямого доступа к памяти идет под управлением самого жесткого диска или его контроллера в паузах между обращениями процессора к памяти, что экономит процессорное время, но несколько снижает максимальную скорость обмена.  [8]



Страницы:      1