Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Module_1_answers_with_practice.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.55 Mб
Скачать

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.

З кожним пристроєм введення - виведення пов'язана область пам'яті звана векторами переривань.

Виконує програму процесор може при необхідності призупинити процес , щоб обробити інформацію, що надходить .

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

Для того щоб упорядкувати обробку переривань для кожного з них встановлюється пріоритет.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]