Информатика и вычислительная техника




Организация управления периферийными устройствамиСистема прерывания программ - часть 4


184

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

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

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

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


Содержание  Назад  Вперед