
- •Архітектура пеом
- •1. Інтервальний таймер і8253/і8254 на платі івм рс: принцип будови та функціонування
- •2.Програмування інтервального таймера на рівні портів
- •3.!Читання конcтант перерахунку каналів інтервального таймера і8253/і8254
- •4.! Читання байту стану каналів 0-2 інтервального таймера: спосіб 1, 2.
- •5.! Системний час в івм рс: таймер bios (таймер ос).
- •6.Засоби bios та ос для роботи з таймером bios.
- •7.Реальний час в івм рс: годинник реального часу (rtc)
- •8.Функціональна схема годинника реального часу та порти доступу (rtc) на платі ibm pc.
- •9. Керуючі та регістри стану годинника реального часу (rtc).
- •10.Сигнальне переривання від годинника реального часу (rtc).
- •11. Періодичне переривання від годинника реального часу (rtc).
- •12.Програмування годинника реального часу (rtc).
- •13.Апаратна реалізація порту послідовної передачі даних на платі ibm pc, принцип побудови уапп.
- •14. Порти асинхронного адаптера та їх призначення
- •16. Контролер прямого доступу до пам’яті (dma). Призначення і основні функції
- •17.! Регістри каналів контролера прямого доступу до пам’яті (dma).
- •18.!Алгоритм ініціалізації контролера прямого доступу до пам’яті (dma).
- •19.! Реалізація прямого доступу до пам’яті (пдп) в івм рс ат
- •20.! Контролер переривань на платі івм рс (і8259): принцип будови та функціонування
- •21.Загальна схема переривань в івм рс ат
- •22.Види переривань: апаратні та програмні переривання
- •23.Особливості обробки апаратних переривань, пріоритети обслуговування запитів на переривання та їх зміна.
- •24. Суть і призначення векторів переривань. Таблиця векторів переривань та зміна її елементів.
- •25.! Порти доступу до контролера переривань на платі івм рс
- •27.Керування пам`яттю. Сегментація пам`яті.
- •28.Дескрипторні таблиці. Селектори сегментів.
- •29.Сторінкова організація пам`яті, сторінкове перетворення адреси.
- •30.Алгоритм сегмента сторінкової адресації.
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