Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2. Архітектура ПЕОМ.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
237.56 Кб
Скачать

22.Види переривань: апаратні та програмні переривання

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

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

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

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

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

 Класифікація переривань

Залежно від джерела, переривання поділяються на

• апаратні - виникають як реакція мікропроцесора на фізичний сигнал від деякого пристрою (клавіатура, системний годинник, клавіатура, жорсткий диск і т.д.), за часом виникнення ці переривання асинхронні, тобто відбуваються у випадкові моменти часу;

• програмні - викликаються штучно за допомогою відповідної команди з програми (int), призначені для виконання деяких дій операційної системи, є синхронними;

• виключення - є реакцією мікропроцесора на нестандартну ситуацію, що виникла всередині мікропроцесора під час виконання деякої команди програми (розподіл на нуль, переривання по прапору TF (трасування)).

Загальна класифікація переривань

• зовнішні - викликаються зовнішніми стосовно микропроцессору подіями

   (по суті - це група апаратних переривань) вкладених переривань ні!

• внутрішні - виникають всередині мікропроцесора під час обчислювального процесу (по суті - це виняткові ситуації і програмні переривання).

 Зовнішні переривання виникають за сигналом якого-небудь зовнішнього пристрою.

Зовнішні переривання поділяються на необ ¬ маскіруемие і масковані.

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

Маскіруемие переривання генеруються контролером переривань за заявкою певних периферійних пристроїв. Контролер переривань (виконаний у вигляді спеціальної мікросхеми i8259A) підтримує вісім рівнів (ліній) пріоритету; до кожного рівня "прив'язана" одне периферійний пристрій. Саме маскіруемие переривання часто називають апаратними перериваннями.

У ПК, починаючи з IBM PC AT, побудованих на базі мікропроцесора i80286, використовуються два контролера переривань i8259A; вони з'єднуються послідовник ¬ но каскадним чином, що збільшує кількість зовнішніх джерел переривань до 15 (кожна по 8).

Звернемо увагу. Мікросхема i8259А є програмованою.

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

Система прерываний. Аппаратные и программные средства системы прерываний

 

Система прерываний - это совокупность программных и аппаратных средств, реализующих механизм прерываний.

 

К аппаратным средствам системы прерываний относятся:

      выводы микропроцессора - на них формируются сигналы, извещающие микропроцессор либо о том, что некоторое внешнее устройство «просит  уделить ему внимание» (INTR), либо о том, что требуется безотлагательная обработка некоторого события или катастрофическая ошибка (NMI)

      INTR - вывод для входного сигнала запроса на прерывание,

      NMI - вывод для входного сигнала немаскируемого прерывания

      INTA - вывод для выходного сигнала подтверждения получения сигнала прерывания микропроцессором (этот сигнал поступает на одноименный вход микросхемы конроллера 8259А;

      программируемый контроллер прерываний 8259А (предназначен для фиксирования сигналов прерываний от восьми различных внешних устройств; он выполнен в виде микросхемы; обычно используют две последовательно соединенные микросхемы, поэтому кол-во возможных источников внешних прерываний до 15 плюс одно немаскируемое прер.; именно он формирует номер вектора прерывания и выдает его шину данных);

      внешние устройства (таймер, клавиатура, магнитные диски и т.п.)

К программным средствам системы прерываний Реального режима относятся:

      таблица векторов прерываний.

Занимает первый килобайт ОП (адреса 00000h-003FFh).

Она содержит адреса (векторы - «векторы», т.к. два значения для указания адреса) обработчиков прерываний и состоит из 256 (0..255) элементов по 4 байта каждый:

- 2 байта - новое значение для регистра IP

     - 2 байта - новое значение для регистра CS.

Расположение таблицы векторов прерываний в процессорах i80286 и старше определяется значением регистра IDTR.

Таблица векторов прерываний инициализируется при запуске системы, но в принципе может быть изменена и перемещена.

Каждый вектор имеет свой номер и называется номером прерывания.

      два флага в регистре флагов flags/eflags:

      IF (Interrupt Flag) - флаг прерывания. Предназначен для маскирования (запрещения) аппаратных прерываний. Если IF=1, микропроцессор обрабатывает внешние прерывания, если = 0, то игнорирует;

      TF(Trace Flag) - флаг трассировки. Если он=1, то микропроцессор переходит в режим покомандной работы. В этом режиме в микропроцессоре генерируется внутреннее прерывание с номером 1;

      машинные команды микропроцессора: int, into (прерывание по переполнению), iret, cli, sti