Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект_2сем(цифровая электроника).doc
Скачиваний:
26
Добавлен:
12.05.2015
Размер:
9 Mб
Скачать

5.3. Переривання програми

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

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

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

Виявивши запит на переривання, МП відкладає виконання поточної програми й починає виконувати програму переривання. Програма переривання, як правило, закінчується командою повернення, після якої триває виконання перерваної програми.

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

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

Існує два основних методи усунення цієї проблеми.

  1. Розробляється головна програма обробки переривань, яка при надходженні запиту перевіряє стан кожного пристрою і знаходить пристрій, що вимагає обслуговування. Таку схему часто називають системою переривань із програмним опитуванням.

  2. Розробляється апаратура яка ідентифікує пристрій, що надіслав запит. Таку систему переривань називають векторною пріоритетною системою.

5.3.1. Переривання із програмним опитуванням

У схемі переривань із програмним опитуванням всі запити на переривання надходять по одній керуючій лінії. Ця лінія є виходом вентиля АБО, на входи якого надходять запити від індивідуальних пристроїв. Кожному пристрою виділяється порт стану, а в ньому приділяється один біт, що зберігає запит на переривання. Коли по загальній лінії в МП надходить запит від будь-якого пристрою, виконання поточної команди завершується і, якщо переривання не заблоковані, відбувається передача управління з фіксованою адресою. З цієї комірки починається головна програма обробки переривання, яка послідовно вводить вміст портів стану й тестує біти запитів на переривання. Виявивши пристрій, що запросив обслуговування, головна програма передає управління програмі, що обслуговує даний пристрій.

Рис. 5.6. . Схема організації обслуговування переривань із програмним опитуванням.

Коли запити надходять одночасно від двох або більше пристроїв, виникають конфліктні ситуації. Їхнє розв’язання виконує головна програма обробки переривань. Один зі способів рішення конфлікту - коли першим обслуговується той пристрій, який раніше попадається в порядку опитування.

Головний недолік системи переривань із програмним опитуванням пов'язаний з часом, що затрачується програмою на опитування стану окремих пристроїв.