
- •Передмова
- •Intel 430lx
- •Intel 430nx
- •Intel 430fx
- •Intel 430hx
- •Intel 430vx
- •Intel 430tx
- •Intel 450gx/kx
- •Intel 440fx
- •Intel 440lx agPset
- •Intel 440ex
- •Intel 440bx agPset
- •Заняття 1. Поняття про систему переривання пеом
- •Принципи організації системи переривання програм
- •Слово стану процесора (програми)
- •Характеристики системи переривання
- •Організація переходу до перериваючої програми та пріоритетне обслуговування запитів переривання
- •Процедура переривання з опитуванням джерел (прапорців) переривання
- •Програмно-керований пріоритет перериваючих програм
- •Методи використання механізму переривань
- •Класи переривань пеом
- •Призначення контролера апаратних переривань пеом
- •Опис основних елементів і8259а
- •Стани програмованого контролера переривань
- •Заняття 5. Керування режимами роботи пкп
- •Void main (void){
- •Int mask;
- •Заняття 6. Керування пріоритетами переривань
- •Install proc near
- •Заняття 8. Особливості практичного використання апаратних та програмних переривань
- •Volatile long ticks;
- •Void main(void) {
- •Void _interrupt _far timer(void) {
- •Int8 proc near cli
- •Int09 proc near
- •Розділ 3. Підсистема таймера та годинника реального часу
- •Заняття 3. Системні засоби програмного доступу до ресурсів таймера
- •Void tm_delay(int ticks) {
- •Void main (void){
- •Void main(void){
- •Заняття 4. Приклади використання функціональних можливостей таймера в прикладних задачах
- •Void main(void){ int Frac; char k;
- •Void tm_sound(int freq, int time) {
- •Void tm_delay(int ticks) {
- •Void tm_sound(int freq, int time){
- •Void main(){
- •Void main() { int I,j; clrscr();
- •Заняття 5. Архітектура та принципи функціонування годинника реального часу
Методи використання механізму переривань
Програмне переривання зручно застосовувати для організації доступу до окремих спільних для всіх програмних модулів. Наприклад, програмні модулі ОС доступні прикладним програмам саме через переривання, та немає необхідності при виклику цих модулів знати їх поточну адресу в пам'яті. Прикладні програми можуть встановлювати свої оброблювачі переривань для їх наступного використання іншими програмами. Для цього вмонтовувані оброблювачі переривань мають бути резидентними в пам'яті. Апаратні переривання викликаються фізичними пристроями та приходять асинхронно.
Інколи бажано зробити систему не чуттєвою до всіх або окремих переривань. Для цього використовуються масковані переривання. Слід зазначити, що оброблювачі переривань можуть самі викликати програмне переривання, наприклад, для отримання доступу до сервісу 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А.
Засвоїти послідовність дій, що складають процедуру формування запиту та обробки маскованого апаратного переривання.
Вивчити режими обслуговування джерел переривань, їх призначення та характеристики.