Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга. Гуржій. 1.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.53 Mб
Скачать

Методи використання механізму переривань

Програмне переривання зручно застосовувати для організації доступу до окремих спільних для всіх програмних модулів. Наприклад, програмні модулі ОС доступні приклад­ним програмам саме через переривання, та немає необхідності при виклику цих модулів знати їх поточну адресу в пам'яті. Прикладні програми можуть встановлювати свої оброблювачі переривань для їх наступного використання іншими програ­мами. Для цього вмонтовувані оброблювачі переривань мають бути резидентними в пам'яті. Апаратні переривання виклика­ються фізичними пристроями та приходять асинхронно.

Інколи бажано зробити систему не чуттєвою до всіх або окремих переривань. Для цього використовуються масковані переривання. Слід зазначити, що оброблювачі переривань можуть самі викликати програмне переривання, наприклад, для отримання доступу до сервісу BIOS або DOS. Складання власних програм обробки переривань та заміна стандартних оброблювачів DOS та BIOS є відповідальною та складною роботою. Необхідно враховувати всі тонкощі роботи апаратури та взаємодії програмного та апаратного забезпечення. При налагодженні можливе руйнування ОС з непередбачуваними наслідками.

Класи переривань пеом

Система переривань ПЕОМ є сукупністю апаратних та програмних засобів, які базуються на відкритій архітекту­рі та принципі ієрархічної організації системи переривання базового мікропроцесора. Ця якість дозволяє реалізувати гнучкий механізм програмного доступу до ресурсів ПЕОМ системних та користувальницьких програм. У системах, побудованих на базі МП сім'ї і80х86, переривання можуть генеруватись мікропроцесором (внутрішні апаратні), апара­турою ПЕОМ (зовнішні апаратні), а також програмами (програмні).

1. Апаратні переривання МП і80х86 (виняткові ситуації) призначені для обробки помилок, що виникають у процесі виконання власне команд процесора та тих, що перешкоджають виконанню як поточної, так і наступної команди (помилка ділення на 0, порушення межі сегмен­та при адресації до пам'яті і т. п.).

2. Апаратні переривання зовнішні, що сигналізують мікропроцесору про події, які відбулися в апаратурі комп'ю­тера (наприклад: відсутність паперу в принтері, завершен­ня роботи дисковода, натиснення клавіші клавіатури та ін.). Апаратні переривання оптимізують системну продук­тивність ПК, оскільки зовнішні пристрої задіюють ресурси процесора тільки по мірі необхідності їх обслуговування.

Апаратні зовнішні переривання розбиті на два підкласи: масковані (можуть бути відмінені програмним способом) ініціюються сигналом INTR на вході МП; немасковані (запити поступають на вхід NMI мікропроцесора).

3. Програмні переривання, що застосовуються для приведення в дію вмонтованих програм ROM BIOS (наприк­лад: для виводу повідомлень на екран дисплея). Одним з головних призначень цих переривань є забезпечення коректного (з точки зору сумісності) доступу до апаратури з боку операційної системи та користувальницьких програм.

4. Програмні переривання DOS. Роль цих переривань полягає в забезпеченні доступу користувальницьких про­грам до системних ресурсів.

5. Переривання прикладних програм — це такі пере­ривання, які потрібні користувачу для створення власних оброблювачів переривань. Визначаються характером при­кладної програми.

Таблиця векторів переривань ПЕОМ

Для зв'язку початкової адреси програми оброблювача переривань з номером переривання застосовується таблиця векторів переривань, що займає перший кілобайт основної пам'яті (ОП) (логічні адреси [DS : SI] 0000:0000 — 0000.03FF). Таблиця складається з 256 елементів FAR адрес

оброблювачів переривань, кожний з яких займає в таблиці чотири байти. В першому слові елемента таблиці записується зміщення (вміст регістра IP — два байти), а в другому — логічна базова адреса сегмента, в якому зберігається прог-рама-оброблювач переривань (вміст регістра CS — два байти). Наприклад, адреса оброблювача переривання з номером 00h міститься в таблиці векторів переривання за адресою 0000 : 0000, а переривання з номером 01h — 0000 : 0004 і т. п. Номери та призначення векторів переривання наведені в таблиці 2.1.

Таблиця 2.1 Номери та призначення векторів переривання ПЕОМ

Номер вектора

Призначення векторів переривань

00h

Помилка ділення. Викликається автоматично після вико­нання команд DIV або IDIV, якщо в результаті ділення відбувається переповнення. DOS звичайно при обробці цього переривання виводить повідомлення про помилку та зупи­няє виконання програми

01h

Переривання покрокового режиму. Виробляється після виконання кожної машинної команди, якщо в слові прапорів є біт покрокового трасування TF=1. Застосовується для нала­годження програм

02h

Апаратне немасковане переривання. Звичайно виробляється при помилці за паритетом в оперативній пам'яті та при запиті переривання від співпроцесора

03h

Переривання для трасування. Генерується при виконанні однобайтної команди CCh та звичайно застосовується нала-годжувачем для встановлення точки переривання в прог­рамі

04h

Переповнення. Генерується машинною командою INTO, якщо встановлений прапорець OF. Якщо прапорець не вста­новлений, то команда INTO виконується як NOP. Застосо­вується для обробки помилок або виконання арифметичних операцій

05h

Друк копії екрана. Генерується при натисканні на клавіатурі клавіші PrtScr. Застосовується для друку зразка екрана. Для процесора і 286 генерується при виконанні машинної команди BOUND, якщо значення, що перевіряється, ви­йшло за межі заданого діапазону

06h

Невизначений код операції або довжина команди більша 10-ти байт ( для процесора І286 )

07h

Особливий випадок відсутності співпроцесора

08h

IRQO — переривання інтервального таймера, виникає 18,2 рази в секунду

09h

IRQ1 — переривання від клавіатури. Генерується при натис­канні та відтисканні клавіші. Застосовується для читання даних з клавіатури

OAh

IRQ2 — застосовується для каскадування контролерів апа­ратних переривань у машинах IBM PC/AT

OBh

IRQ3 — переривання асинхронного порту COM2

OCh

IRQ4 — переривання асинхронного порту СОМІ

ODh

IRQ5 — переривання від контролера твердого диска для ма­шин XT. У машинах IBM PC/AT зарезервовано

OEh

IRQ6 — генерується контролером гнучкого диска після за­вершення операції читання/запису

OFh

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

lOh

Обслуговування відеоадаптера

11h

Визначення конфігурації пристроїв у системі

12h

Визначення розміру оперативної пам'яті в системі

13h

Обслуговування дискової системи

14h

Послідовний ввід/вивід

15h

Розширений сервіс для АТ-комп'ютерів

16h

Обслуговування клавіатури

17h

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

18h

Запуск BASIC в ПЗП, якщо він є

19h

Завантаження операційної системи

lAh

Обслуговування годинника

lBh

Оброблювач переривань CTRLBreak

ICh

Переривання виникає 18,2 рази за секунду, викликається програмно оброблювачем переривань таймера

lDh

Адреса відеотаблиці для контролера відеоадаптера 6845

lEh

Покажчик на таблицю параметрів дискети

lFh

Покажчик на графічну таблицю для символів з кодами ASCII 128—255

2Oh-6Fh

Використовується DOS або зарезервовано для DOS

60h-67h

Переривання, зарезервовано для користувачів

68h-6Fh

Не використовується

70h

IRQ8 — переривання від годинників реального часу

71h

IRQ9 — переривання від контролера EGA

72h

IRQ10 — зарезервовано

73h

IRQ11 — зарезервовано

74h

IRQ12 — зарезервовано

75h

IRQ13 — переривання від математичного співпроцесора

76h

IRQ14 — переривання від контролера НТМД

77h

IRQ15 — зарезервовано

8h-7Fh

Не використовуються

80h-F0h

Використовується інтерпретатором BASIC

Flh-FFh

Не використовуються

Вправа

За заданим номером переривання обчислити логічні адреси зберігання початкових адрес оброблювачів перери­вання в таблиці векторів (усіх оброблювачів, наведених у таблиці 1).

Приклад розв'язання

Дано: номер вектора переривання lAh. Розв'язання: lAh * 4 = 68h — зміщення; логічна адреса вектора переривання — OOOOh: 0068h.

Практикум

За допомогою програми Checkit у середовищі DOS або емуляції DOS проглянути вміст таблиці векторів перери­вання та визначити початкові логічні адреси оброблювачів. Порядок виконання завдання.

1. Запустіть на виконання програму Checkit у середо­вищі DOS або емуляції DOS.

2. Увійдіть у вікно Sys Info.

3. Виберіть опцію Memory Map та увійдіть до неї.

4. У вікні Summary View виберіть опцію «І» у колонці KEY та увійдіть до неї.

5. За допомогою клавіш «стрілка вниз/вверх» у вікні Detail View прогляньте логічні початкові адреси оброблю­вачів переривання.

6. Вийдіть з програми Checkit.

Питання для самоконтролю знань

1. Дайте визначення стану процесора (програми).

2. Назвіть основні принципи організації системи пере­ривання програм.

3. Перелічіть основні функції системи переривання.

4. Назвіть основні характеристики системи перери­вання.

5. Які способи впорядкування запитів на переривання використовуються в сучасних ПЕОМ?

6. Суть програмно керованого пріоритету перерива­ючих програм.

7. Призначення функцій маскування переривань.

8. Які класи переривань реалізовані в системі переривань ПЕОМ?

9. Розкажіть про призначення основних векторівпереривання ПЕОМ.

10. Таблиця адрес векторів переривання ПЕОМ IBM PC/AT, її призначення.

Резюме

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

використовувати в прикладних програмах програм­ні модулі BIOS або DOS;

більш ефективно використовувати обчислювальні ресурси процесора за рахунок суміщення обробки кількох рознесених у часі подій;

переривати встановлену послідовність виконання програм та встановлювати її без руйнування всього обчис­лювального процесу;

знання принципів побудови та функціонування системи переривань дозволяє створювати ефективні додат­ки різного призначення.

Ваш наступний крок

Тепер, після короткого ознайомлення з основними визна­ченнями та принципами побудови систем переривання ПЕОМ, Ви готові до більш детального вивчення архітектури та принципів її функціонування. У наступному занятті Ви дізнаєтесь про архітектуру апаратного забезпечення системи переривання (контролера переривань), вивчите основні функції мікросхеми І8259А, її призначення та характеристики.Заняття 2. Контролер переривання — апаратне забезпечення системи переривання ПЕОМ

Тема заняття

Призначення та архітектура контролера переривань ПЕОМ.

Принципи функціонування контролера переривань.

Мета заняття

Зрозуміти призначення контролера апаратних переривань ПЕОМ.

Вивчити основні функції, що реалізуються мікросхемою І8259А.

Вивчити призначення та опис основних функціональних елементів мікросхеми І8259А.

Вивчити призначення та характеристики вхідних та вихідних сигналів І8259А.

Засвоїти послідовність дій, що складають процеду­ру формування запиту та обробки маскованого апаратного переривання.

Вивчити режими обслуговування джерел перери­вань, їх призначення та характеристики.