Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Тема : Настройка роботи контролера



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

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

Так і в комп'ютерній системі, можлива така ситуація, коли кілька периферійних пристроїв послали сигнал переривання або запит на переривання. У комп'ютерній літературі цей сигнал позначається IRQ (Interrupt Request).

Переривання мають певний пріоритет, який дозволяє контролеру переривань віддавати перевагу в даний момент часу одного пристрою, а не іншому. У сучасному комп'ютері існує до 16 зовнішніх і периферійних пристроїв, що генерують переривання. Ось ці пристрої:

-IRQ 0, системний таймер;

-IRQ 1, клавіатура;

-IRQ 2, використовується для запитів пристроїв, підключених каскадом;

-IRQ 8, годинник реального часу;

-IRQ 9, зарезервовано;

-IRQ 10, зарезервовано;

-IRQ 11, зарезервовано;

-IRQ 12, ps/2-мишь;

-IRQ 13, співпроцесор;

-IRQ 14, контролер «жорсткого» диска;

-IRQ 15, зарезервовано;

-IRQ 3, порти COM2, COM4;

-IRQ 4, порти COM1, COM3;

-IRQ 5, порт LPT2;

-IRQ 6, контролер дисководу;

-IRQ 7, порт LPT1, принтер;

Тут сигнали наведені в порядку убування пріоритетів. Можна помітити, що після IRQ 2, слід IRQ 8. Справа в тому, що свого часу контролер переривань складався з двох мікросхем, одна була підключена до іншої. Ось ця друга мікросхема і підключається до лінії IRQ 2, утворюючи каскад. Вона обслуговує лінії IRQ8-IRQ 15. А потім слідують лінії першої мікросхеми.

Роботу контролера переривання ми розглянемо на основі мікросхем фірми Intel 8259A, які застосовувалися в тепер уже дуже старих комп'ютерах з процесорами до 386 серії. У цих комп'ютерах зазвичай було 2 мікросхеми 8259A, підключених каскадно, те-є одна до іншої. Одна з мікросхем, підключена по лінії запиту на переривання безпосередньо до процесора є провідною або майстром. Решта, підключаються до провідної через аналогічні висновки, називаються веденими.

На малюнку зображена схема підключення контролерів переривань і їх взаємодія з центральним процесором. Сигнали на переривання від периферійних пристроїв або ведених контролерів надходять на входи IR0-IR7 головного контролера. Внутрішня логіка головного контролера обробляє запити з точки зору пріоритету. Якщо пріоритет запиту пристрої достатній, то на виході INT контролера виробляється сигнал, що поступає на вхід INTR процесора. В іншому випадку, запит блокується.

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

Дозвіл на переривання процесор передає контролеру переривань через контролер шини. Сигнал RD призначений для того, щоб контролер переривань помістив на шину даних вміст внутрішніх регістрів. За сигналом WR контролер переривань, навпаки, приймає дані з однойменної шини і записує їх у внутрішні регістри. Відповідно, це впливає на режим роботи контролера переривань.

Вхід CS підключається до шини адреси і по цьому сигналу відбувається ідентифікація конкретного контролллера переривань. Вхід A0 вказує на порт контролера переривань у просторі введення-виведення.

Входи IR0-IR7 призначені для прийому запитів на переривання від периферійних пристроїв і ведених контролерів.

Виходи CAS0-CAS2 призначені для ідентифікації конкретного відомого контролера.

На наведеній вище схемі показані сигналів приходять не тільки на ведений і ведучий контролери переривань, але і на інші відомі. Однак на вашому комп'ютері або ноутбуці насправді 2 контролера переривань, як вище вказувалося: ведучий і ведений. Але можна створювати свої комп'ютерні системи, використовуючи таким чином до 64 ведених контролерів переривань.

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





Дата публикования: 2014-11-26; Прочитано: 292 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...