Хелпикс

Главная

Контакты

Случайная статья





Табл. 8.4. Розподіл адрес пристроїв введення/виводу.



 

                      Лекція. Простір вводу-виводу.Простір оперативної памяті. Розподіл ресурсів комп'ютера Крім архітектури апаратних засобів і параметрів системної шини специфіка будь-якого комп'ютера визначається прийнятим стандартним розподілом всіх його ресурсів. Дотримувати правила, встановлені цим розподілом, повинні і програмісти (як системні, так і такі, що займаються розробкою прикладних програм), і розробники додаткового устаткування, і навіть ті користувачі, які просто хочуть встановити в комп'ютер нову плату розширення. У разі щонайменшого порушення цих правил можливі як непередбачувані збої в роботі комп'ютера, неможливість його початкового завантаження, так і повний вихід комп'ютера з ладу. Під розподілом ресурсівв даному випадку розуміється:
  • розподіл адресного простору системної пам'яті, відведення окремих областей пам'яті під особливі цілі;
  • розподіл адресного простору пристроїв введення/виводу, зокрема для системних засобів комп'ютера;
  • розподіл каналів запиту переривань, зокрема для системних пристроїв;
  • розподіл каналів запиту прямого доступу до пам'яті.
Зрозуміло, що якщо програміст захоче використовувати ті адреси пам'яті, які відведені для системних потреб (наприклад, для пам'яті дисплея або системних таблиць), то працездатність комп'ютера порушиться. Якщо виконувана програма спробує записати яку-небудь інформацію по тих адресах системної пам'яті, які стандартом відведені під постійну пам'ять (ROM), то записувана інформація буде просто втрачена, і програма працювати не буде. Якщо писати інформацію по тих адресах пам'яті, які відведені під відеопам'ять, то спотворюватиметься зображення на екрані відеомонітора. Якщо плата розширення, що вставляється в комп'ютер, використовує неправильні (зайняті іншими пристроями) адреси в адресному просторі пам'яті, то її робота буде неможлива, і не виключений навіть вихід з ладу апаратури комп'ютера (оскільки при циклах читання з адрес, що перекриваються, пам'яті два пристрої виставлятимуть свої дані на шину одночасно, що може стати причиною вигорання буферних мікросхем). Якщо розробник плати розширення з пристроєм введення/виводу або користувач, що підключає нову плату розширення, встановлять адресу свого пристрою так, що він співпадатиме з адресою системного пристрою або адресою іншої плати розширення, то можливі конфлікти при зверненні до даного пристрою. При цьому в циклі запису інформація записуватиметься не в одне, а в два або більш за пристрої, а в циклі читання на шину даних одночасно виставлятимуть свої дані не одне, а декілька пристроїв. Тобто в циклі запису можливе порушення встановлених режимів роботи системних пристроїв (наприклад, контроллера переривань або контроллера ПДП) або неправильна робота нової плати розширення, а в циклі читання — навіть вихід з ладу одного з пристроїв, що виставляють свої дані на магістраль одночасно. Якщо при підключенні до комп'ютера нової плати розширення встановити для неї неправильний канал запиту переривання, це може привести до того, що дане переривання просто не обслуговуватиметься. Може також перестати обслуговуватися переривання від системного пристрою, з яким конфліктує нова плата. У гіршому разі це може викликати вихід з ладу нової плати розширення або ж системного пристрою. Так само при неправильному виборі номера каналу запиту прямого доступу до пам'яті може перестати обслуговуватися запит ПДП системного пристрою, а може вийти з ладу системний пристрій або нова плата розширення. Тобто дотримання правил стандартного розподілу ресурсів комп'ютера — це не чиясь примха, а життєва необхідність. Правда, останнім часом набула поширення що знімає дані проблеми технологія автоматичного розподілу ресурсів Plug-and-Play (PNP, P&P), що можна перевести як «Вставляй і працюй». При цьому користувачеві досить просто підключити свою плату до комп'ютера, а всі операції по розподілу ресурсів комп'ютер виконає самостійно, і будь-які конфлікти будуть автоматично усунені. Але для цього необхідне обов'язкове виконання двох умов. По-перше, технологію PNP повинні підтримувати даний комп'ютер і його програмне забезпечення. По-друге, цю технологію повинен підтримувати пристрій, що підключається до комп'ютера. Визначити це задоволено просто: якщо на платі є перемички, що переставляються, або механічні перемикачі для завдання параметрів плати (адрес портів введення/виводу, номера використовуваного переривання, базової адреси пам'яті, номера каналу ПДП), то можна сміливо стверджувати, що вибір конфігурації, облік стандартного розподілу ресурсів комп'ютера лягає на користувача. Комп'ютер тут не помічник. Звичайно ж, перед установкою в комп'ютер нових плат розширення слід уважно прочитати інструкцію і точно слідувати їй. Докладніше про роботу режиму PNP буде розказано нижче. А зараз розглянемо прийнятий в персональних комп'ютерах стандартний розподіл ресурсів. Про стандартний розподіл пам'яті вже мовилося в попередньому розділі. Трохи докладніше розподіл адрес пам'яті описаний в табл. 8.3. З таблиці видно, що для пам'яті, що входить до складу пристроїв введення/виводу, відводиться зона всього лише в 92 Кбайта (адреси С8000.DFFFF). У цьому просторі може розташовуватися як оперативна пам'ять, так і постійна пам'ять пристроїв введення/виводу. Іноді пам'ять пристроїв введення/виводу захоплює також і зону адрес С0000.С7FFF.
Табл. 8.3. Розподіл адрес пам'яті (адреси дані в шістнадцятиричному коді).
Адреси пам'яті Призначення
000000...0003FF Таблиця векторів переривань
000000...09FFFF Пам'ять DOS і призначених для користувача програм
0А0000...0АFFFF Пам'ять дисплея EGA або VGA
0B0000...0B7FFF Пам'ять монохромного дисплея MDA
0B8000...0BFFFF Пам'ять дисплея CGA
0C0000...0C3FFF ПЗП BIOS для EGA/VGA
0C8000...0DFFFF Пам'ять пристроїв введення/виводу
0E0000...0EFFFF Резерв ПЗУ Вios на материнській платі
0F0000...0FFFFF ПЗП BIOS на материнській платі

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

Стандартний розподіл адрес в адресному просторі пристроїв введення/виводу персонального комп'ютера приведений в табл. 8.4.

Як вже наголошувалося, стандарт допускає адресацію 64К пристроїв введення/виводу (тобто можна використовувати 16 розрядів адреси). Проте переважна більшість плат розширення для спрощення апаратури використовують тільки 10 молодших розрядів, що відповідає всього 1К (або 1024) адрес (від 000 до 3FF в шістнадцятиричному коді). При цьому 16-розрядні порти введення/виводу мають парні адреси, тобто їх може бути всього 512.

Табл. 8.4. Розподіл адрес пристроїв введення/виводу.

Адреси Призначення
000...01F Контроллер ПДП 1
020...03F Контроллер переривань 1
040...05F Програмований таймер
060...06F Контроллер клавіатури
070...07F Годинник реального часу
080...09F Регістр сторінки ПДП
0A0...0BF Контроллер переривань 2
0С0...0DF Контроллер ПДП 2
0F0...0FF Математичний співпроцесор
170...177 Накопичувач на жорсткому диску (другий)
1F0...1F7 Накопичувач на жорсткому диску (перший)
200...207 Ігровий порт (джойстик)
278...27F Паралельний порт LPT2
2С0...2DF Адаптер EGA 2
2F8...2FF Послідовний порт COM2
300...31F Прототипні плати
320...32F Накопичувач на жорсткому диску XT
360...36F Резервні адреси
   
370...377 Накопичувач на гнучкому диску (другий)
378...37F Паралельний порт LPT1
380...38F Контроллер бісинхронного обміну SDLC2
3A0...3AF Контроллер бісинхронного обміну SDLC1
3B0...3DF Адаптер VGA
3B0...3BF Адаптер дисплея MDA і принтера
3C0...3CF Адаптер EGA 1
3D0...3DF Адаптер Сga
3F0...3F7 Накопичувач на гнучкому диску (перший)
3F8...3FF Послідовний порт COM1

Як видно з таблиці, значна частина можливих адрес вже зайнята системними пристроями, вільні адрес не так багато. Резервні адреси — це ті, які зарезервовані під подальше розширення системи.

У табл. 8.5 представлений стандартний розподіл номерів апаратних переривань і відповідних ним номерів в таблиці векторів переривань (INT).

Як видно з таблиці, більшість входів IRQ зайняті системними ресурсами комп'ютера. Вільні (зарезервовані) тільки чотири канали: 10, 11, 12, 15, причому вони знаходяться на 16-розрядній частині роз'єму магістралі ISA. Правда, іноді в комп'ютерах застосовується тільки один паралельний порт або (набагато рідше) тільки один послідовний порт, і тоді вільними виявляються ще IRQ3 і IRQ5. Сигнали IRQ0...IRQ2, IRQ8 і IRQ13 задіяні на системній платі і недоступні платам розширення.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.