Види конфліктів при установці устаткування, способи їх

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

v канали запитів переривань (IRQ);

v канали прямого доступу до пам'яті (DMA);

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

Для кожної плати адаптера потрібен свій набір ресурсів. Так, послідовних портів для роботи необхідні канали IRQ і унікальні

У міру установки додаткових плат в комп'ютері значно підвищується ймовірність виникнення конфліктів, пов'язаних з

Деяким пристроям для роботи необхідний буфер для тимчасового

зберігання використовуваних даних. Необхідно стежити, щоб ці області не перетиналися для різних пристроїв.

Канали запитів переривання (IRQ), або апаратні переривання,

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

Канали переривань є провідники на системній платі і

відповідні контакти в роз'ємах. Умовно схема обробки переривання виглядає наступним чином:

процесор отримує сигнал переривання і його номер;

процесор припиняє поточну роботу і переключається на виконання обробника (в загальному випадку це деякий драйвер);

драйвер отримує доступ до пристрою і перевіряє причину виникнення переривання;

запускаються запитані дії - ініціалізація, конфігурування пристрою, обмін даними та ін.

драйвер завершує роботу, і процесор повертається до перерваної задачі ..

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

Переривання шини PCI

Локальна шина PCI була спроектована з урахуванням спільного

використання переривань. Кожен пристрій PCI має коректно працювати на одній лінії переривання з іншими PCI-пристроями. Це зроблено в такий спосіб: факт наявності сигналу на лінії переривання визначається не

по фронту, тобто зміни рівня напруги, а по самому факту наявності

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

У комп'ютера IBM PC AT була тільки одна шина, по якій пристрої могли спілкуватися з процесором і пам'яттю - ISA. Більшість ліній переривань були закріплені за стандартними ISA-пристроями, що залишилися, були зарезервовані на майбутнє. Коли це майбутнє настало, з'ясувалося, що

нової універсальної шини PCI дісталося всього чотири вільних переривання. Тому і був придуманий хитрий механізм спільного використання переривань (IRQ Sharing) і динамічного перевизначення номерів (IRQ Steering або Mapping), для розподілу переривань введіна система ACPI.

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

APIC (Advanced Programmable Interrupt Controller) - вдосконалений програмований контролер переривань. Для багатопроцесорних систем це

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

IRQ Sharing - система дозволяє двом пристроям одночасно перебувати на одному перериванні. Фізично виходить так, що на одній лінії IRQ може висіти декілька пристроїв, при цьому менеджмент між ними

забезпечується операційною системою. IRQ Sharing - неоднозначна система, так як використання е # 1104; необхідно для нормальної роботи ПК, але при цьому можливі найрізноманітніші проблеми і глюки.

Суть механізму управління переривань PCI-пристроїв в наступному. У загальному випадку існує чотири фізичні лінії PCI-переривань,

званих PIRQ0, PIRQ1, PIRQ2 і PIRQ3. Вони підключені до контролера переривань. Кожне PCI-пристрій зі свого боку як би має чотири роз'єми, звані INT A, INT B, INT C і INT D. Підключати лінії до роз'ємів можна в будь-якому порядку. Наприклад, для першого PCI-слота можна зробити таке розведення: PIRQ0 - INT A, PIRQ1 - INT B, PIRQ2 - INT C, PIRQ3 - INT D. А для другого - по-іншому: PIRQ0 - INT B, PIRQ1 - INT C, PIRQ2 - INT D,

PIRQ3 - INT A. Зазвичай пристрій вимагає тільки одну лінію переривання, підключену до INT A. Будучи встановленим в перший слот, пристрій

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

Шина AGP, будучи по суті спеціалізованої модифікацією PCI, теж

використовує одну з ліній PIRQ - зазвичай PIRQ0.

Лінії PIRQ підключаються до контролера переривань. Їм, як і інших лініях, призначаються логічні IRQ-номери. Якщо на одній фізичній лінії знаходяться більше одного пристрою (а це допустимо), то всі вони будуть мати один і той же номер IRQ. Якщо пристрої перебувають на різних фізичних лініях, вони все одно можуть отримати однакові номери IRQ. нормальні драйвери

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

Для сучасних систем чотирьох ліній виявляється недостатньо, тому в нових чіпсетах часто застосовуються вісім ліній PIRQ, які точно так же в різних комбінаціях підключаються до слотів PCI і вбудованим в плату пристроїв.

Номери лініях PIRQ призначаються автоматично завдяки механізму PlugPlay. Але ж є і ISA-пристрої, що підтримують PlugPlay. Вони теж мають можливість автоматично отримати номер IRQ. Але їхня лінія переривання належить їм монопольно, і якщо такий же номер отримає одна з ліній

PIRQ, виникне нерозв'язний конфлікт.

Отже, ми з'ясували, що пристрої PCI повинні бути позбавлені проблем з конфліктами IRQ. Якщо вони, звичайно, правильно працюють, а так буває не

завжди. До того ж драйвери повинні підтримувати механізм спільного

використання переривань. Пристрої ISA не вміють ділитися лініями переривань і тому є провокаторами конфліктів. Отже, завдання усунення конфліктів зводиться до правильного розподілу номерів

(Джерело проблем - ISA-пристрої і "криві" драйвери) або до розведення по різних фізичних лініях ( "криві" PCI-контролери).

У більшості нових систем допускається використання одного переривання декількома пристроями PCI. Всі системні BIOS, що задовольняють специфікації Plug and Play, а також операційні системи, починаючи з Windows 95b (OSR 2), підтримують функцію управління переривань. У таких комп'ютерах всю турботу про переривання бере на себе

Схожі статті