- •5 Задача 44
- •1. Відкрита архітектура пеом
- •2. Функціональна схема базової моделі мікропроцесора. Схеми напівсуматора і суматора. Дії над двійковими та двійково-десятковими числами.
- •Додавання
- •Віднімання
- •3. Логічна структура мікропроцесора
- •Сегментные регистры
- •Регистры общего назначения
- •Флаги состояния
- •Флаг направления
- •Системные флаги
- •Регистр управления
- •4. Адресація пам’яті
- •Сегментная адресация памяти
- •Параграфы
- •Понятия команды и формата команды
- •5. Сторінкова організ оп пам’яті. Таблиці, дескриптори
- •Понятие о страничной модели памяти
- •6. Структура таблиц idt. Дескриптор шлюза.
- •Дескриптор шлюза
- •7. Формування фізичної адреси з логічної адреси для сегментної та сторінкової схем організації пам’яті Страничная организация
- •8. Принципи роботи vmm
- •Обзор Администратора виртуальной памяти (vmm)
- •9. Використання регістрів загального призначення
- •10. Організація стеку. Адресація стекової пам’яті
- •11. Архітектура регістру ознак (flags)
- •12. Апаратно-програмні засоби певм.
- •13. Механізм переривань
- •14. Апаратні переривання, їх призначення. Архітектура мікросхеми 8859. Обробка апаратних переривань.
- •15. Контролер apic
- •16. Принцип роботи сопроцесора
- •17. Загальні поняття про канали та порти
- •18. Мікросхема паралельного інтерфейсу
- •19. Структура cmos-memory
- •20. Архітектура мікросхеми таймера
- •1 Задача
- •2 Задача
- •Програма може бути якась така:
- •5 Задача
- •6 Задача
14. Апаратні переривання, їх призначення. Архітектура мікросхеми 8859. Обробка апаратних переривань.
Апаратні переривання ( IRQ ) використовують різні пристрої для повідомлення процесору про необхідність прийняти і обробити певний запит .
Канали переривань представляють собою контакти в роз'ємах і відповідні провідники на материнській платі. Після отримання IRQ -запиту система запускає спеціальну процедуру його обробки , першим етапом якої є занесення в стек вмісту регістрів процесора. Далі робиться запит до таблиці векторів переривань , яка містить перелік адрес пам'яті із співвідношенням номерами переривань. Залежно від номера отриманого IRQ запускається програма, яка відноситься до даного каналу .
Покажчики , збережені в таблиці векторів , служать для визначення адрес пам'яті , за якими записані програми -драйвери для обслуговування плати , що відправила запит. Наприклад , для контролера жорсткого диска вектор переривань вказує на код BIOS , призначений для обслуговування контролера .
Після завершення необхідних інструкцій з обслуговування плати або пристрою , що відправив запит на переривання , процедура обробки IRQ відновлює значення регістрів процесора ( шляхом вилучення з стека ) і передає управління системою того додатком , яке працювало до виникнення переривання.
За допомогою переривань комп'ютер здатний своєчасно реагувати на виникнення зовнішніх подій . Апаратні переривання мають систему пріоритетів : чим більше номер переривання , тим нижче пріоритет . Переривання , що мають більший пріоритет , володіють перевагою і можуть відкладати обробку інших переривань.
По шині ISA запити IRQ відправляються у вигляді перепадів логічних рівнів , причому кожен з них використовує окрему лінію , підведену до всіх роз'ємів . За кожним провідником закріплений свій номер переривання . Материнська плата не здатна визначити , в який роз'єм вставлена послала переривання плата , тому є ймовірність виникнення конфліктних ситуацій в тому випадку , якщо дві плати використовують один канал. Щоб уникнути таких конфліктів , система виставляє налаштування таким чином , щоб кожен адаптер (пристрій ) використовував свій канал переривання.
Апаратні переривання можуть виникати в довільні моменти часу і є асинхронними по відношенню до виконуваної програмі .
За допомогою апаратних переривань здійснюється взаємодія процесора з периферійними пристроями , а також повідомляється про різні помилки апаратури (наприклад, помилка пам'яті, помилка передачі по шині і т. п.) або про аварійне відключення живлення . У другому випадку іноді такі переривання називають винятковими ситуаціями ( exceptions ) .
Реагуючи на апаратне переривання , процесор повинен ідентифікувати його джерело , зберегти мінімальний контекст переривається програми і перемикатися на спеціальну програму - обробник переривання ( interrupt handler ) , який може бути оформлений як процедура або завдання .
Дії обробника переривання , звані обслуговуванням переривання , полягає в тому , щоб правильно відреагувати на переривання конкретного джерела (наприклад , помістити символ натиснутою клавіші в буфер , справити інкремент системних годин і т. п.).
Після завершення обслуговування переривання процесор повертається до виконання перерваної програми , і вона повинна продовжитися таким чином, начебто переривання не було.
Обробка переривань.
Сигнали переривань надходять від пристроїв не прямо на спец. процесор , а на спец. контролер переривань.
Всього існує 16 переривань від 0 - 15
0 - Найбільш пріоритетне пов'язано з системним таймером і не як не може бути використано іншим пристроєм.
1 - Закріплено за контролером клавіатури.
2 - Має технічне значення завдяки якому початкове число переривань було збільшено з 8 до 16.
3 - Використовується другим послідовним портом , однак якщо цей порт не потрібен , то його можна відключити.
4 - Використовується першим послідовним портом.
5 - Спочатку є вільним і може використовуватися різними пристроями за бажанням користувача або ОС.
6 - Закріплено за контролером FDD. Не може бути використане іншими пристроями.
7 - Використовується паралельним портом комп'ютера. Це переривання при відключеному порте можна закріпити за іншим пристроєм.
8 - Закріплено за годинником реального часу. Це переривання ніколи не використовується іншими пристроями.
9 - Спочатку є вільним , може використовуватися платами розширення за бажанням користувача або ОС. Контролер USB порту.
10 - Вільне , плати розширення .
11 - Спочатку є вільним , але зазвичай використовується видео адаптерами .
12 - Жорстко закріплено за мишею PS / 2
13 - Жорстко закріплено за вбудованим або зовнішнім математичним співпроцесором .
14 - Жорстко закріплено за першим каналом контролера. Не доступно для інших IDE пристроїв.
15 - Жорстко закріплено за другим каналом IDE.
З кожним пристроєм введення - виведення пов'язана область пам'яті звана векторами переривань.
Виконує програму процесор може при необхідності призупинити процес , щоб обробити інформацію, що надходить .
При обробці сигналу відбувається необхідну дію , а потім продовжується робота призупиненої програми .
Для того щоб упорядкувати обробку переривань для кожного з них встановлюється пріоритет.
