Програмно-керований пріоритет перериваючих програм

 

Відносний ступінь важливості програм, їх частота повторення, відносний ступінь терміновості в ході обчислювального процесу можуть змінюватись, вимагаючи встановлення нових пріоритетних відношень. Тому в багатьох випадках пріоритет між перериваючими програмами не може бути зафіксований раз і назавжди. Необхідно мати можливість змінювати при необхідності пріоритетні відношення програмним шляхом, іншими словами, пріоритет між перериваючими програмами повинен бути динамічним, тобто програмно керованим.

В ЕОМ широко застосовуються два способи реалізації програмно керованого пріоритету перериваючих програм, в яких використовуються відповідно поріг переривання (в малих та мікро-ЕОМ) та маски переривання (в ЕОМ загального призначення).

Поріг переривання. Цей спосіб дозволяє в ході обчислювального процесу програмним шляхом змінювати рівень пріоритету процесора (а отже, і програми, що опрацьовується в даний момент на процесорі) відносно пріоритетів запитів джерел переривань (в основному периферійних пристроїв), іншими словами, задавати поріг переривання, тобто мінімальний рівень пріоритету запитів, якими дозволяєтсья переривати програму, що виконується процесором.

Поріг переривання задається командою програми, що встановлює в регістрі порогу переривання код порогу переривання. Спеціальна схема виділяє найбільш пріори­тетний запит переривання, порівнює його пріоритет з поро­гом переривання та, якщо він виявляється вищим за поріг, виробляє загальний сигнал переривання, та починається процедура переривання.

Маска переривання — це подвійний код, розряди якого представлені згідно із запитами або класами перери­вання. Маска завантажується командою програми в регістр маски. Стан 0 в даному розряді регістра маски дозволяє, а стан 1 — забороняє (маскує) переривання поточної програми від відповідного запиту. Таким чином, програма, змінюючи маску в регістрі маски, може встановлювати довільне пріоритетне відношення між програмами без перекомутації ліній, по яких поступають запити переривання. Кожна перериваюча програма може встановлювати свою маску. При формуванні маски одиниці встановлюються в розряди, відповідні до запитів (перериваючих програм) з більш високим, ніж у даної програми пріоритетом.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: