Составители:
52
Несомненным достоинством асинхронного обмена с программной
проверкой готовности является то, что программа способна определять степень
готовности устройства самостоятельно и учитывать факты отказа (их частоту,
длительность неготовности и т.п.) в своих дальнейших действиях.
Рис. 20. Рекомендуемый способ асинхронного обмена с устройствами
При этом очевидными «минусами» являются:
• Наличие программных усилий по определению готовности. Инструкции
по опросу отнимают процессорное время, в течение которого могли бы
выполняться другие части алгоритма. Если бы процедура опроса
выполнялась параллельно с основным алгоритмом (скажем, аппаратно),
то это бы позволило существенно ускорить работу всей программы.
• Неэффективность при обмене
с большим количеством устройств и/или
высокой частоте процедуры обмена. Из-за того, что опрос готовности
осуществляется программой, накладные расходы на опрос при большом
количестве обращений становятся очень высокими и снижают
производительность всей системы.
На рисунке приведен типичный вариант программного полинга (опрос
флагов прерывания ПУ). Первым проверяется флажок готовности ПУ1
с
наибольшим приоритетом. Если оно не запрашивало обслуживание,
опрашивается следующее ПУ и т.д.
Когда встречается первое устройство готовое к операциям ввода-вывода
(ВВ), управление передается подпрограмме обслуживания этого устройства.
При завершении обслуживания в полинге может быть запрограммировано одно
из следующих действий:
• Управление возвращается в основную программу без проверки
готовности остальных ПУ. Здесь гарантируется обязательная проверка в
каждом цикле полинга ПУ с высоким приоритетом, так как
обслуживание их блокирует обслуживание устройств с меньшим
приоритетом.
• Управление возвращается к программе полинга, т.е. в точку проверки
прерывания следующего ПУ (на рисунке ниже это показано цифрой).
Страницы
- « первая
- ‹ предыдущая
- …
- 51
- 52
- 53
- 54
- 55
- …
- следующая ›
- последняя »
