Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Типи переривань.

Узагальнена процедура обробки переривання.

Типи переривань.

3. Каскадні переривання.

5. Особливості системи переривань.

6. Процедура обробки переривань в захищеному режимі.

7. Процедура обробки переривань при перемиканні на нову задачу.

У мікропроцесорах сімейства i80x86 система переривань побудована таким чином, щоб, з одного боку, забезпечити можливість створювати ефективні і надійні мультипрограмні операційні системи, що повинні функціонувати в захищеному режимі, а з іншого боку — забезпечити можливість виконувати програми, розроблені для реального режиму. Розглянемо коротко обидва режими.

1. Робота системи переривань у реальному режимі роботи процесора.

У реальному режимі роботи система переривань використовує поняття вектора переривання.Термін «вектор переривань» використовується тому, що для вказівки адреси використовується не одне значення, а два, тобто ми маємо справу не зі скалярною величиною, а з «векторною».

Отже, кожен вектор переривань складається з 4 байтів чи 2 слів: перші два містять нове значення для регістра IP, а наступні два — нові значення регістра CS. Таблиця векторів перериваньзаймає 1024 байта. У такий спосіб у ній може бути задано 256 векторів переривань. У процесорі і8086 ця таблиця розташовується на адресах 00000H-003FFH. Розташування цієї таблиці в процесорах і80286 і старше визначається значенням регістра IDTR - Interrupt Descriptor Table Register. При включенні чи скиданні процесора і80x86 цей регістр обнуляется. Однак при необхідності можна в регістрі IDTR вказати зсув і, таким чином, перейти на нову таблицю векторів переривань.

Таблиця векторів переривань заповнюється (ініціалізується) при запуску системи, але в принципі може бути змінена чи переміщена.

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

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

 

У IBM PC, як і в інших обчислювальних системах, переривання бувають двох видів: внутрішні і зовнішні.

Внутрішні переривання,як ми вже знаємо, виникають у результаті роботи процесора. Вони виникають у ситуаціях, що мають потребу в спеціальному обслуговуванні, чи при виконанні спеціальних інструкцій — INT чи INTO. Це наступні переривання:

· переривання при діленні на нуль, номер переривання — 0;

· переривання по флазі TF (trap flag). В цьому випадку переривання зазвичай використовується спеціальними програмами налагодження типу DEBUG. Номер переривання – 1;

· інструкції INT (interrupt - виконати переривання з відповідним номером) і INTO (interrupt if overflow — переривання по переповненню). Ці переривання називаються програмними.

У якості операнда команди INT указується номер переривання, яке потрібно виконати, наприклад INT 10H. Програмні переривання як засіб переходу на відповідну процедуру були введені для того, щоб виконання цієї процедури здійснювалося в привілейованому режимі, а не в звичайному користувацькому.

Зовнішні перериваннявиникають по сигналі якого-небудь зовнішнього пристрою. Існують два спеціальних зовнішніх сигнали серед вхідних сигналів процесора, за допомогою яких можна перервати виконання поточної програми і тим самим переключити роботу центрального процесора. Це сигнали NMI (nо mask interrupt, немасковане переривання) і INTR (interrupt request, запит на переривання). Відповідно, зовнішні переривання підрозділяються на немасковані і масковані.

Масковані перериваннягенеруються контролером переривань за заявкою визначених периферійних пристроїв.Контролер переривань (його позначення — і8259A) підтримує вісім рівнів (ліній) пріоритету; до кожного рівня «прив'язаний» один периферійний пристрій. Масковані переривання часто називають ще апаратними перериваннями. У ПК, починаючи з IBM PC AT, побудованих на базі мікропроцесора i80286, використовуються два контролери переривань S8259A; вони з'єднуються каскадним образом. Схема послідовного з'єднання цих контролерів зображена на мал. 3.12.

Таким чином, на IBM PC AT передбачено 15 ліній IRQ (interrupt request), частина яких використовується внутрішніми контролерами системної плати, а інші зайняті стандартними адаптерами або не використовуються. Нижче перераховані лінії запиту на переривання, які ми приводимо тому, що кожен фахівець по обчислювальній техніці повинен знати основні стандарти ПК. Отже, лінії IRQ:

0 - системний таймер;

1 - контролер клавіатури;

2 - сигнал повернення по кадрі (EGA/VGA), на AT з'єднаний з IRQ 9;

3 - звичайно СОМ2/СОМ4;

4 - звичайно СОМ 1/СОМЗ;

5- контролер HDD (па перших комп'ютерах IBM PC XT), звичайно вільний на IBM PC AT і використовується звуковою картою;

6 - контролер FDD;

7 - LPT1, багатьма LPT-контролерами не використовується;

8- годинник реального часу з автономним харчуванням (RTC — real time clock);

9 - рівнобіжна IRQ 2;

10 - не використовується, тобто вільно;

11 - вільно;

12 - звичайно контролер миші типу PS/2;

13 - математичний співпроцесор;

14 - звичайно контролер IDEO (перший канал);

15 - звичайно контролер IDE1 (другий канал).

Мал. 8.1 Каскадування контролерів переривання.


Читайте також:

  1. Пристрій обслуговування переривань.




Переглядів: 4302

<== попередня сторінка | наступна сторінка ==>
Мал. 7.11 Формат дескриптора шлюзу. | Узагальнена процедура обробки переривання.

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.004 сек.