Обслуговування – переривання – Велика Енциклопедія Нафти та Газа, стаття, сторінка 1

Обслуговування – переривання

Закінчивши обслуговування переривання та виконавши команду RTI, процесор продовжить роботу за основною програмою з відновленим значенням PSW. Після того, як у CSR принтера буде встановлений прапор готовності, знову відбудеться переривання виконання основної програми вже в новому місці і буфер принтера буде переданий код чергового символу тексту. Хоча фактично робота процесора ґрунтується на виконанні послідовних дій, виведення повідомлення на принтер, з погляду користувача, відбуватиметься паралельно з виконанням основної програми. Після чергового переривання, коли буде виявлено ознаку кінця тексту - нульовий байт, перед виходом з підпрограми принтеру буде заборонено переривати процесор і вміст COUNT буде відновлено. Далі роботу з основної програми буде продовжено. [2]

Після обслуговування переривання ЦП видає сигнал скидання, який повертає у вихідний стан усі розряди у регістрі переривань. [3]

Підпрограма обслуговування переривань, що починається міткою PRINT і закінчується командою RTI повернення з переривання, розміщується за основною програмою. Підпрограма починається з перевірки байта, який вказує осередок COUNT. Якщо вміст байта відмінно від нуля, він передається в регістр даних принтера, значення COUNT збільшується на одиницю (при цьому він вказуватиме на наступний байт рядка тексту) і відбувається вихід з переривання. [4]

Логіка обслуговування переривання (як і всього диспетчера) помітно ускладнюється, якщо глибина переривання повинна бути більше одиниці. І тут допускається багаторазове переривання одних завдань іншими будь-де їх робочих програм. Тому всі завдання йдуть з дозволеним перериванням,а у блоку обслуговування переривання з'являється новий бік взаємодії з диспетчером. [6]

Програма обслуговування переривань , написана користувачем, може застосовуватися і в присутності монітора, але тоді необхідно зберігати комірки 10 і 12, а перед виходом відновлювати їх, щоб не втратити шлях у мониторную програму обробки. [7]

Підпрограма обслуговування переривання - набір команд, які обробляють інформацію, що відноситься до пристрою, що перериває. [9]

Підпрограма обслуговування переривання опитує ці пристрої та визначає те, в якому встановлено ознаку переривання. У багаторівневій однопріоритетній системі є одна лінія сигналу переривання та ряд ліній ідентифікації пристрою. Коли зовнішній пристрій видає сигнал у загальну лінію переривання, він також встановлює свій унікальний код лінії ідентифікації. Така система більш складна в плані її реалізації, що забезпечує прискорену реакцію, У однорівневій багатопріоритетній системі лінії переривань різних пристроїв підключені до єдиного входу переривань процес-сорй через логічну схему, що забезпечує маскування переривань низькопріоритетних пристроїв перериваннями пристроїв з більш високим пріоритетом. Процесор опитує пристрої у порядку їх пріоритету та визначає те з них, яке ініціювало переривання. У багаторівневій багатопріоритетній системі є засоби маскування переривань відповідно до пріоритету та негайної ідентифікації за сигналами відповідних ліній. [10]

При обслуговуванні переривань з опитування мікропроцесор блокує свій вхід INT, оскільки ініціатором обслуговування він сам. У цьому випадку за кожним сигналом RD, що надходить після подачі команди Обслуговування за результатами опитування, за наявності запитів зчитуєтьсякод номера запиту, що має найвищий на даний момент рівень пріоритету. [11]

При обслуговуванні переривань за опитуванням мікропроцесор блокує свій вхід INT, оскільки в цьому випадку ініціатором обслуговування є мікропроцесор. [12]

Цей порядок обслуговування переривань може бути змінений шляхом встановлення кожної програми відповідної маски. За наявності у відповідній масці заборони на переривання будь-якого класу переривання з замаскованої причини не буде реалізовано. [13]

Налаштування блоку обслуговування переривань полягає в уточненні номерів підключених зовнішніх пристроїв, що надсилають свої запити по каналу переривання, та заповнення таблиці характеристик завдань, що запитуються. Таким чином, крім таймера та пристроїв введення-виведення, каналом переривання можуть надсилати свої запити ще п'ять зовнішніх пристроїв. [14]