Опрос и прерывание

Anonim

В определенные моменты главный процессор перестает работать и проверяет, есть ли у какого-либо контроллера сообщение для него, если оно есть, обрабатывает сообщение и возобновляет работу. Это называется опросом. Кроме того, ясно, что основной процессор выполняет свою работу, и устройства выполняют свою работу. Если устройство завершает свое задание или возникает ошибка, устройство сообщает основному процессору запрос прерывания.

Что такое опрос?

В системах, где более внешние логические схемы обмениваются данными через множественные соединения U / I с одним микропроцессором, используется опрос U / I. Микрокомпьютер периодически вызывает каждую внешнюю логическую схему и проверяет, запросила ли она услугу. Если внешняя логическая схема не требует обслуживания, микрокомпьютер исследует следующую внешнюю логическую схему и т. Д. Если один из них требует обслуживания, микрокомпьютер переключается на выполнение обслуживающей программы соответствующей внешней логической схемы. Передаточная функция U / I включена в программу. Другими словами, опрос - это процесс клиентского вызова (компьютеры или терминалы), который может отправлять данные после их вызова (если они есть). Если у клиента есть данные, он отправляет их после опроса, а если нет данных, клиент отвечает отрицательно, а сервер вызывает следующий клиент. Некоторым устройствам может потребоваться обслуживание от контроллера (например, когда какое-либо устройство завершает измерение или когда возникает ошибка). Запрос отправляется контроллеру, устанавливая линию SRQ на низкий уровень. После того, как контроллер получает запрос на обслуживание, он вызывает все устройства на шине, чтобы найти устройство, которое отправило этот запрос.

Что такое прерывание?

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

Разница между опросом и прерыванием

Фон опроса и прерывания

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

Механизм опроса и прерывания

Прерывания - это специально организованные механизмы для связи периферийных устройств. Устройства уведомляют CPU, если требуется действие. Опрос - это протокол - центральный процессор регулярно запрашивает устройства, если требуется действие.

Обслуживание опроса и прерывания

При опросе услуг микроконтроллера необходимо обратить внимание устройства, а затем перейти к следующему устройству для мониторинга. В случае прерывания, когда принимается сигнал для прерывания, CPU останавливается с текущей деятельностью и обслуживает устройство. Службы или обработанное прерывание называют процедурой обслуживания прерываний (ISR) или обработчиком прерываний.

ЦПУ

В процессе опроса CPU находится в режиме ожидания и проверяет, нуждается ли какое-либо устройство в обслуживании. Это излишне тратит время. С другой стороны, в случае прерывания CPU нарушается только при необходимости.

Внешний вид опроса и прерывания

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

Преимущества опроса и прерывания

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

Недостатки опроса и прерывания

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

Опрос против прерывания: сравнительная таблица

Резюме опроса Vs. Прерывание

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