Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Лабораторна робота N6. Переривання



Мета роботи: ознайомитися з основними принципами механізму переривань.

КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ

ПЕРЕРИВАННЯ -це події, що змушують центральний процесор перервати виконання поточної роботи і перейти на виконання програми, називаної ОБРОБЛЮВАЧЕМ ПЕРЕРИВАННЯ. Перехід цей здійснюється за малий час за допомогою спеціально розроблених апаратних засобів.

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

Звичайно переривання викликаються подіями зовнішніми стосовно ЦП і потребуючого негайних дій. Наприклад:

- завершення операції введення/висновку;

- виявлення апаратного збою;

- "катастрофа" (відмовлення харчування).

Більшість сучасних процесорів підтримують механізм ТИПІВ і РІВНІВ ПЕРЕРИВАННЯ. Кожному типу звичайно відповідає осередок у пам'яті, називана ВЕКТРОМ ПЕРЕРИВАННЯ, що визначає місце розташування програми обработчтка переривання даного типу. Концепція типів переривання дозволяє призначати прерывниям пріоритети. Переривання групуються по рівнях, маю щим однаковий пріоритет.

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

Процесори сімейства іAP80x86 підтримують 256 типів переривань, викликуваних подіями трьох груп:

- внутрішні апаратні переривання;

- зовнішні апаратні переривання;

- програмні переривання.

Кожному типу прерывния відповідає свій номер.

Внутрішні апаратні чи переривання відмовлення генеруються визначеними подіями, що виникають у процесі виконання програми (розподіл на 0, неправильний код операції). Закріплення номерів переривань за визначеними причинами жорстко "зашито" у процесорі.

Зовнішні апаратні переривання инициализируются контролерами периферійного чи устаткування співпроцесорами.

Програмні переривання. Будь-яка програма може ініціювати синхронне програмне переривання шляхом виконання команди Іnt із указівкою номера переривання, наприклад,

Іnt 10h

Розподіл номерів програмних переривань умовно і не закріплено апаратно.

Нижні 1024 байта системної пам'яті звуться ТАБЛИЦІ ВЕКТОРІВ ПЕРЕРИВАНЬ. Вектор займає 4 байти: сегмент і зсув відповідного оброблювача переривання.

ЦП, одержавши чи сигнал команду переривання, поміщає в стек уміст флагового регістра, очищає флани TF і ІP, заносить у стек уміст регістрів CS, ІP і блокує систему переривань. Потім за допомогою 8-бітового числа - номера переривання, установленого на внутрішній шині, витягає з таблиці векторів адреси CS і ІP і відновляє роботу з цієї адреси.

Звичайно оброблювач розблокує систему переривань, зберігає регістри, що будуть їм використовуватися й обробляє переривання. Наприкінці оброблювача повинна стояти команда ІRET - повернення з переривання. Ця команда відновлює первісне значення флагового регістра, CS і ІP.

Як приклад розглянемо, як використовувати команд- ные переривання для висновку інформації на екран дисплея.

Усі необхідні екранні операції можна виконати за допомогою команди Іnt 10h, що передає керування безпосередньо в BІOS. ПЕРЕД викликом переривання Іnt 10h необхідно задати в регістрі AH номер функції выода. В інших регістрах варто задати необхідні цієї функції параметри. Номера подфункций, їхні параметри, а також регістри, у які потрібно їх заносити приведені в довідковій інформації з BІOS, наприклад [2].

Для виконання деяких більш складних операцій існує переривання більш високого рівня Іnt 21h, що спочатку передає керування в DOS.

Екран можна представити у виглядідвомірного простору з адресуемыми позиціями, у кожну з який може бути встановлений чи курсор виведений символ. Відеомонітор, наприклад, може мати 25 рядків (нумеруемых від 0 до 24) і 80 стовпців (нумеруемых від 0 до 79). Нумерація рядків виробляється, починаючи з лівого верхнього кута екрана вниз, нумерація стовпців -починаючи також з лівого верхнього кута екран вправо.





Дата публикования: 2014-11-04; Прочитано: 382 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...