Розподіл системних ресурсів. Поняття Plug and Play. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Розподіл системних ресурсів. Поняття Plug and Play.



Для того чтобы программы могли взаимодействовать со своими устройствами, не мешая другим (и не получая от них помех), все системные ресурсы — адреса памяти и ввода-вывода, запросы прерываний и каналы DMA — должны быть бесконфликтно распределены между устройствами, подключенными к системной шине.

Для адресов памяти и портов ввода-вывода бесконфликтность означает, что диапазоны соответствующих адресов всех имеющихся устройств не должны перекрываться. Это в первую очередь касается адресов, по которым выполняется чтение. Если устройства, конфликтующие по чтению, находятся на одной физической шине, то результат чтения из-за электрического конфликта оказывается неопределенным. Если конфликтующие устройства находятся на разных шинах, то будет прочитаны данные только одного устройства, но какого именно — зависит от настройки мостов, соединяющих шины.

Для линий запросов прерываний бесконфликтность трактуется несколько сложнее. В классической системе ISA одну линию запроса может использовать только одно устройство, все остальные варианты — конфликтные. В системах PnP ISA (имеющих PnP BIOS, более гибко программируемый контроллер прерываний и устройства ISA PnP) при корректных настройках устройства PnP аппаратно могут использовать разделяемые (общие для нескольких устройств) линии прерываний. На обычные карты (устройства) ISA эта возможность, как правило, не распространяется. Однако и для устройств PnP возможны конфликты программ, работающих с этими устройствами, если в них не заложена возможность разделяемости прерываний.

Для каналов DMA (контроллеров 8237А) бесконфликтным, как правило, является лишь монопольное использование канала одним устройством (хотя бывают редкие исключения). На устаревших устройствах каналы выбираются двумя джамперами — один для линии DRQx, другой для DACKx#. Естественно, они должны устанавливаться согласованно, на один и тот же номер канала.

Периферийные устройства могут быть встроены в системную плату, а также устанавливаться в слоты шин расширения. Системные ресурсы должны распределяться между всеми этими устройствами. В распределении всегда имеются относительно неизменная часть (устройства системной платы, установленные ее изготовителем) и переменная часть, определяемая составом карт, установленных пользователем.

Plug&Play

Сучасні мікросхеми BIOS підтримують так званий стандарт Plug&Play ("Підключай і працюй"). В BIOS, що підтримують цей стандарт, включено 13 додаткових системних функцій, що використовуються операційною системою PC.

Стандарт PlugPlay (рис), розроблений корпорацією Intel, дозволяє системам і адаптерам, що підтримує його, автоматично настроювати один одного.

 

Всі пристрої PC (карти розширення, клавіатура, миша та ін) використовують певний адресний простір, вимагають для себе лінії переривань (IRQ), канали прямого доступу (DMA) та адреси введення / виводу (I / O). У міру збільшення кількості пристроїв помітно ускладнюється завдання грамотного розподілу ресурсів PC. Стандарт PlugPlay розроблений для автоматичного розпізнавання і узгодження всіх змін у конфігурації PC, тоді користувачеві не треба встановлювати заново джампери і вручну розподіляти ресурси. У реалізації стандарту PlugPlay беруть участь:

 Апаратні засоби

 BIOS

 Операційна система

Апаратні засоби, що підтримують стандарт PlugPlay, інформують BIOS і операційну систему про необхідні їм ресурси і, у свою чергу, самонастроюється на підставі отриманої інформації.

В BIOS можливості PlugPlay реалізуються в процесі виконання про грами перевірки системи (POST). BIOS розпізнає встановлені апаратні засоби, підключені до материнської плати і адаптерам PC, аналізує розподіл ресурсів цих пристроїв, зчитує інформацію, що міститься в ROM підключених пристроїв, налаштовує адаптери Plug&Play.

Операційна система, що підтримує технологію PlugPlay (наприклад, Windows 95/98), бере на себе управління всіма зовнішніми пристроями, завантажуючи відповідні драйвери. Крім того, операційна система повідомляє про конфлікти пристроїв, які не були усунені BIOS. З по міццю операційної системи можна налаштувати параметри адаптерів вручну (з екрана монітора) або після зміни положення джамперів на картах розширення. Стандарт PlugPlay підтримують операційні системи Windows 95/98, Windows NT і ін.

3. 6. Апаратні і програмні переривання. Джерела переривань і їхня обробка.

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

Переривання діляться на апаратні і програмні.

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

Апаратні переривання використовуються для організації взаємодії з зовнішніми пристроями. Запити апаратних переривань надходять на спеціальні входи мікропроцесора. Вони бувають:

масковані, які можуть бути замасковані програмними засобами комп'ютера;

немасковані, запит від яких таким чином замаскований бути не може. (див. далі)

Програмні переривання викликаються наступними ситуаціями:

особливий випадок, що виник при виконанні команди і перешкоджає нормальному продовження програми (переповнення, порушення захисту пам'яті, відсутність потрібної сторінки в оперативній пам'яті і т.п.);

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

Залежно від джерела виникнення сигналу переривання поділяються на:

Асинхронні або зовнішні (апаратні) — події, які створені зовнішніми джерелами (наприклад, периферійними пристроями) та можуть відбутися в довільний момент: сигнал від таймера, мережевої карти або дискового накопичувача, натискання клавіш клавіатури, рух миші;

Синхронні або внутрішні — події в самому процесорі як результат порушення якихось умов при виконанні машинного коду: поділ на нуль або переповнення, звернення до неприпустимих адрес або неприпустимий код операції;

Програмні (частковий випадок внутрішнього переривання) — ініціюються виконанням спеціальної інструкції в коді програми. Програмні переривання, як правило використовуються для звернення до функцій вбудованого програмного забезпечення (firmware), драйверів й операційної системи.

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

При надходженні запиту переривання комп'ютер виконує наступну послідовність дій:

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

визначення типу обраного запиту;

збереження поточного стану лічильника команд і регістра прапорів;

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

виконання програми - обробника переривання;

відновлення збережених значень лічильника команд і регістра прапорів перерваної програми;

продовження виконання перерваної програми.

Етапи 1-4 виконуються апаратними засобами ЕОМ автоматично при появі запиту переривання. Етап 6 також виконується апаратно по команді повернення з обробника переривання.

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



Поделиться:


Последнее изменение этой страницы: 2016-07-14; просмотров: 499; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.154.208 (0.008 с.)