Реферат
Спряження зовнішніх пристроїв з ПК за допомогою шин та ISA та PCI
1. Будова шини ISA
Шина ISA (Industrial Standart Arhitecture) є фактично стандартною шиною для персональних комп'ютерів типа IBM PC/AT і сумісних з ними. На основі ISA створено більш сучасні шини (EISA, PCI), які мають подібні принципи роботи.
При описі шини доцільно представити комп'ютер як материнську плату (motherboard) і зовнішні плати, які взаємодіють між собою і ресурсами материнської плати через шину ISA. Всі пристрої шини можна поділити на пасивні і активні (власники шини). У кожний момент часу у шини може бути тільки один власник (центральний процесор, контролер прямого доступу до пам’яті, контролер регенерації пам’яті або зовнішня плата).
Рис.1. Основні пристрої, що під’єднуються до ISA
Центральний процесор (ЦП, 8, 16, 32 розрядні дані) - є основним задатчиком на шині (за замовчуванням). Контролер ПДП і контролер регенерації пам'яті можуть стати задатчиками на шині, тільки заздалегідь заборонивши роботу ЦП. Процес заборони роботи ЦП полягає у виробленні сигналу запиту на ПДП і прийому сигналу підтвердження ПДП.
Зовнішня плата (8 або 16 розрядні дані) - взаємодіє з рештою пристроїв через роз'єм на шині ISA, 16 розрядна плата може ставати задавачем (власником) на шині для доступу до пам'яті або пристроїв введення/виведення. Якщо ЦП є задатчиком на шині, то зовнішня плата може функціонувати тільки в режимі пам'яті або пристрою вводу/виводу.
До шини ISA під’єднується такий пристрій, як „Перестановник байтів даних”, який дозволяє обмінюватися даними 16-розрядним і 8-розрядним пристроям.
Особливість шини ISA в тому, що її тактовий сигнал (8 МГц) не співпадає з тактовим сигналом процесора, тому швидкість обміну по ній значно нижча за швидкість обміну процесор-пам’ять.
ISA – це 16-розрядна системна магістраль середньої швидкодії з розділеними шинами даних і адреси, обмін здійснюється 8 і 16 розрядними даними.
Адресний простір при зверненні до пам'яті
Максимальний адресний простір при зверненні до пам'яті, підтримуване шиною ISA, 16 Мб (24 лінії адреси), але не всі слоти підтримують повністю цей адресний простір. Коли задатчик на шині здійснює доступ до пам'яті на материнській платі або до пам'яті, встановленої в слот, він повинен дозволяти сигнали -MEMR або -MEMW; апаратно на материнській платі додатково дозволяються сигнали -SMEMR і -SMEMW, якщо необхідна адреса знаходиться в межах першого мегабайта адресного простору. До 8-розрядних слотів підведені тільки лінії -SMEMR і -SMEMR, SD<7...0> і SA<19...0>.
Адресний простір для пристроїв вводу/виводу
Максимально адресний простір для пристроїв введення/висновку, підтримуване шиною ISA складає 64 Кб (16 адресних ліній). Всі слоти підтримують 16 адресних ліній. Перші 256 адрес зарезервовані для пристроїв, розташованих, як правило, на материнській платі - регістри контролера ПДП, контролера переривань, годинника реального часу, таймера-лічильника і інших пристроїв, потрібних для сумісності різних комп'ютерів.
Не дивлячись на те, що для вибору адреси ПВВ (пристрою вводу/ виводу) доступні всі 16 сигналів адреси, традиційно для адрес ПВВ в комп'ютерах серії IBM PC/XT/AT використовувалися тільки перші 10 розрядів адреси. Тому для зовнішньої плати слід використовувати "вікна" в існуючому зараз розподілі адрес стандартних ПВВ для комп'ютерів IBM PC/AT.
Апаратно шина має 2 роз’єми: 62-контактний і 36 контактний.
На материнській платі звичайно розміщується від 2 до 8 роз’ємів ISA.
Рис.2. Конструктивне виконання плат, що вставляються в роз’єм ISA
Загальне число встановлюваних в роз'єми шини плат обмежується як здатністю навантаження шини, так і конструктивним виконанням материнської плати. Як правило, допускається встановлювати не більш 8 (п'ять 16-розрядних і три 8-розрядних) зовнішніх плат на шину. Таке обмеження викликане також і відносно невеликою кількістю вільних ліній запитів на ПДП і запитів на переривання, що є на шині.
Зовнішня плата може функціонувати в 5 різних режимах:
задатчика шини;
пам'яті і пристроїв введення/виведення прямого доступу;
пам'яті і пристроїв введення/виведення;
регенерації пам'яті;
скидання.
Плата може підтримувати будь-яку комбінацію з перших чотирьох режимів; сигналу скидання повинна підкорятися вся плата одночасно.
Структура переривань
Лінії запиту на переривання безпосередньо заведені на контролери переривань типа Intel 8259A. Контролер переривань реагуватиме на запит по такій лінії у випадку, якщо сигнал на ній перейде з низького рівня у високий. Шина ISA не має ліній, підтверджуючих прийом запиту на переривання, що тому зовнішній пристрій повинен сам визначати підтвердження прийому свого запиту по реакції ЦП.
Для кращого розуміння функціонування шини доцільно розбити всі сигнали на 7 груп: АДРЕСИ, ДАНІ, СІНХРОСИГНАЛИ, КОМАНДНІ СИГНАЛИ, СИГНАЛИ РЕЖИМУ ПДП, ЦЕНТРАЛЬНІ СИГНАЛИ УПРАВЛІННЯ, СИГНАЛИ ПЕРЕРИВАННЯ, ЖИВЛЕННЯ. Інформація про спрямованість сигналів (вхід, вихід або двонаправлений) приводиться щодо задатчика на шині. Основні сигнали ISA наступні:
SA19... SA0 – фіксовані сигнали адреси, дійсні протягом всього циклу обміну. Сигнали SA19...0 дозволяють здійснювати доступ до пам'яті тільки в молодшому мегабайті адресного простору (й для ПВВ). Група сигналів адреси включає адреси, що виробляються поточним задатчиком на шині.
LA23... LA17 – нефіксовані адресні сигнали, дійсні на початку циклу обміну. використовуються для адресації пам’яті більше мегабайта.
BALE (Bus Address Latch Enable - дозвіл фіксації адреси) – сигнал стробування адресних сигналів.
Сигнал AEN (Address Enable - Дозвіл адреси) дозволяється тоді, коли контролер ПДП стає задатчиком на шині і повідомляє всі ресурси на шині про те, що на шині виконуються цикли ПДП. Цей сигнал забороняється, якщо задатчиком на шині є центральний процесор або контролер регенерації.
ОСОБЛИВОСТІ ДЛЯ ЗОВНІШНЬОЇ ПЛАТНІ
Якщо зовнішня платня, виконуючи процедуру захоплення шини, виробляє сигнал -MASTER, сигнал AEN забороняється контролером ПДП для того, щоб дозволити зовнішній платні доступ до пристроїв введення/висновку.
Для роботи з ПВВ використовують сигнали SA9...0.
SD<7...0> і SD<15...8>
Лінії SD<7...0> і SD<15...8>, як правило, ще називають шиною даних, причому по лінії SD15 передається старший значущий біт, а по лінії SD0 - молодший значущий біт. Лінії SD<7...0> - молодша половина шини даних, SD<15...0> - старша половина шини даних. Все 8-ми розрядні ресурси можуть обмінюватися даними тільки по молодшій половині шини даних. Підтримка обміну даними між 16-ти розрядним задатчиком на шині і 8-ми розрядним ресурсом здійснюється перестановщиком байтів на материнській платі.
Для роботи з ПВВ використовують сигнали SD7...0.
2. Командні сигнали
Сигнали цієї групи управляють як тривалістю, так і типами циклів доступу, виконуваних на шині. Група складається з шести командних сигналів, двох сигналів готовності і трьох сигналів, які визначають розміри і тип циклу.
Командні сигнали визначають вид пристрою (пам'ять або ПВВ) і напрям пересилання (запис або читання).
Сигнали готовності управляють тривалістю циклу доступу, укорочувавши його або, навпаки, подовжуючи.
-MEMR [8/16] і -SMEMR [8]
Сигнал -MEMR (Memory Read - Читання пам'яті) дозволяється задатчиком на шині для читання даних з пам'яті за адресою, визначуваною сигналами по лініях LA<23...17> і SA<19...0>. Сигнал -SMEMR (System Memory Read - Системне читання пам'яті) функціонально ідентичний -MEMR, за винятком того, що сигнал -SMEMR дозволяється при читанні пам'яті, що знаходиться в межах першого мегабайта адресного простору. Сигнал -SMEMR виробляється на материнській платі з сигналу -MEMR і, тому, затримується щодо сигналу -MEMR на 10 або менше наносекунд.
ОСОБЛИВОСТІ ДЛЯ ЗОВНІШНЬОЇ ПЛАТНІ
Якщо зовнішня платня стає задатчиком на шині, то вона може дозволяти тільки сигнал -MEMR, оскільки сигнал -SMEMR може дозволятися тільки материнською платою при читанні з пам'яті в першому мегабайті адресного простору.
-MEMW [8/16] і -SMEMW [8]
Сигнал -MEMW (Memory Write - Запис в пам'ять) дозволяється задатчиком на шині для запису даних в пам'ять за адресою, визначуваною сигналами по лініях LA<23...17> і SA<19...0>. Сигнал -SMEMW (System Memory Write - Системний запис в пам'ять) функціонально ідентичний -MEMW, за винятком того, що сигнал -SMEMW дозволяється при записі в пам'ять, що знаходиться в межах першого мегабайта адресного простору. Сигнал -SMEMW виробляється на материнській платі з сигналу -MEMW і, тому, затримується щодо сигналу -MEMR на 10 нс або менш.
ОСОБЛИВОСТІ ДЛЯ ЗОВНІШНЬОЇ ПЛАТНІ
Якщо зовнішня платня стає задатчиком на шині, то вона може дозволяти тільки сигнал -MEMW, оскільки сигнал -SMEMW може дозволятися тільки материнською платою при записі в пам'ять в першому мегабайті адресного простору.
-I/OR [8/16] (інверсний)
Сигнал -I/OR (I/O Read - Читання пристрою введення/висновку, строб читання з ПВВ) дозволяється задатчиком на шині для читання даних з пристрою введення/висновку за адресою, визначуваною сигналами SA<15...0>.
ОСОБЛИВОСТІ ДЛЯ ЗОВНІШНЬОЇ ПЛАТНІ
Якщо зовнішня платня дозволяє сигнал -REFRESH, то вона повинна перевести свій вихід по сигналу -I/OR в третій стан.
-I/OW [8/16] (інверсний)
Сигнал -I/OW (I/O Write - Запис в пристрої введення/висновку, строб запису у ПВВ) дозволяється задатчиком на шині для запису даних в пристрій введення/висновку за адресою, визначуваною сигналами SA<15...0>.
I/O CH RDY [8] [8/16]
Сигнал I/O CH RDY (I/O Channel Ready - Готовність каналу введення/виводу) є асинхронним сигналом, що виробляється тим пристроєм, до якого здійснюється доступ на шині. Якщо цей сигнал заборонений, то цикл доступу подовжується, оскільки в нього будуть додані такти очікування на час заборони. Коли задатчиком на шині є центральний процесор або зовнішня платня, то кожен такт очікування по тривалості - половина періоду частоти SYSCLK (для тактової частоти SYSCLK=8 Мгц тривалість такту очікування - 62.5нс). Якщо задатчиком на шині є контроллер ПДП, то кожен такт очікування - один період SYSCLK (для SYSCLK=8 Мгц - 125 нс). При зверненні до пам'яті на зовнішній плати ЦП завжди автоматично вставляє один такт очікування (якщо сигнал -0WS заборонений), тому, якщо зовнішній платні досить часу циклу з одним тактом очікування, то забороняти сигнал I/O CH RDY не вимагається.
-REFRESH [8] [8/16]
Сигнал -REFRESH (Refresh - регенерація) дозволяється контроллером регенерації для інформування всіх пристроїв на шині про те, що виконуються цикли регенерації пам'яті.
ОСОБЛИВОСТІ ДЛЯ ЗОВНІШНЬОЇ ПЛАТНІ
Якщо зовнішня платня є задатчиком на шині, то вона повинна дозволяти сигнал -REFRESH для запиту на регенерацію пам'яті. При цьому цикл регенерації буде виконаний навіть не дивлячись на те, що контролер регенерації не є задатчиком на шині.
3. Центральні сигнали управління
Група центральних сигналів управління складається з сигналів різних частот, сигналів управління і помилок.
-MASTER
Сигнал -MASTER (Master - Ведучий) повинен вироблятися тільки тією зовнішньою платнею, яка бажає стати задатчиком на шині.
УВАГА! Якщо сигнал -MASTER дозволений на якийсь час більше 15 мкс, то зовнішня платня повинна запитати цикл регенерації пам'яті, дозволивши сигнал -REFRESH.
-I/O CH CK [8] [8/16]
Сигнал -I/O CH CK (I/O Channel Check - Перевірка Каналу Введення/висновку) може бути дозволений будь-яким ресурсом на шині як повідомлення про фатальну помилку, яка не може бути виправлена. Типовий приклад такої помилки - помилка парності при доступі до пам'яті. Сигнал - I/O CH CK повинен бути дозволений на якийсь час не менше 15 нс. Якщо у момент вироблення цього сигналу задатчиком на шині був контроллер ПДП або контроллер регенерації, то сигнал -I/O CH CK буде записаний в регістр на материнській платі, а оброблений тільки після того, як центральний процесор стане задатчиком на шині.
Цей сигнал, як правило, сполучений з входом немаскованого переривання ЦП і його виробітку приводить до припинення нормальної роботи комп'ютера.
RESET DRV [8] [8/16]
Сигнал RESET DRV (Reset Driver - Скидання Пристрою) виробляється центральним процесором для початкової установки всіх ресурсів доступу на шині після включення живлення або падіння його напруги. Мінімальний час дозволи цього сигналу - 1 мс.
ОСОБЛИВОСТІ ДЛЯ ЗОВНІШНЬОЇ ПЛАТНІ
Зовнішня платня на весь час вироблення цього сигналу повинна перевести свої виходи в третій стан.
SYSCLK [8] [8/16]
Сигнал SYSCLK (System Clock - системна частота) в даній книзі приймається рівною 8Мгц, хоча, як правило, ця частота така ж, як і тактова частота центрального процесора на материнській платі, але з 50% (по тривалості) рівнем логічної "1". (меандр зі шпаруватістю 2). Всі цикли шини пропорційні SYSCLK, але всі сигнали на шині, за винятком -0WS, не синхронізовані з SYSCLK.
OSC [8] [8/16]
Сигнал OSC виробляється материнською платою завжди фіксованою частотою 14.3818Мгц з 45-55% (по тривалості) рівнем логічної "1". Сигнал OSC не синхронізований ні з SYSCLK ні з яким-небудь іншим сигналом на шині і тому не може бути використаний для застосувань, що вимагають синхронізації з іншими сигналами. Історично цей сигнал з'явився для підтримки перших контроллерів кольорових моніторів для персональних комп'ютерів серії IBM PC. Цей сигнал зручний для використовування зовнішньою платнею, оскільки він однаковий для всіх моделей комп'ютерів, сумісних з IBM PC/AT.
4. Сигнали переривання
Група сигналів переривання використовується для запиту на переривання центрального процесора; IRQ (Interrupt Request – запит на переривання).
ПРИМІТКА: Звичайно сигнали запиту на переривання приєднані до контроллера переривань типа Intel 8259A. Не дивлячись на те, що доступ до контроллерів переривань (як до ПВВ) має будь-який задатчик на шині, для сумісності програмного забезпечення тільки центральний процесор може обслуговувати контролер переривань.
IRQ<15,14,12,11,10> [8/16] IRQ<9,7...3> [8]
Переривання може бути запитане ресурсами як на материнській платі, так і на зовнішній платні дозволом відповідного сигналу IRQ. Сигнал повинен залишатися дозволеним до підтвердження переривання центральним процесором, яке, як правило, полягає в доступі ЦП до ресурсу, що запитав переривання.
Ці сигнали підтримують цикли пересилки даних при прямому доступі в пам'ять.
ПРИМІТКА: Канали ПДП <3...0> підтримують тільки пересилки 8-розрядних даних. Канали ПДП <7...5> підтримують пересилки тільки 16-розрядних даних.
DRQ<7...5,0> [8] [8/16] DRQ<3,2,1> [8]
Сигнали DRQ (DMA Request - запит на ПДП) дозволяються ресурсами на материнській платі або зовнішньою платнею для запиту на обслуговування контролером ПДП або для захоплення шини. Сигнал DRQ повинен бути дозволений до тих пір, поки контролер ПДП не дозволить відповідний сигнал -DACK.
-DACK<7...5,0> [8] [8/16] -DACK<3,2,1> [8]
Сигнали -DACK (DMA Acknowledge - підтвердження ПДП) дозволяються контролером ПДП як підтвердження сигналів запитів DRQ<7...5,3...0>. Дозвіл відповідного сигналу -DACK означає, що або цикли ПДП будуть початі, або зовнішня платня захопила шину.
T/C [8] [8/16]
Сигнал T/C (Terminal Count - Закінчення рахунку) дозволяється контроллером ПДП тоді, коли по якому-небудь з каналів ПДП буде закінчений рахунок числа пересилок даних, тобто всі пересилки даних виконані.
Живлення
Для живлення зовнішньої платні на шині ISA використовуються 5 напруг живлення постійного струму: +5 У, -5 В, +12 У, -12 В, 0 В (корпус - Ground). Всі лінії живлення заведені на 8-розрядний роз'єм, окрім однієї лінії по +5 У і однієї лінії корпусу на додатковому роз'ємі.
Максимально допустимі струми споживання для зовнішньої платні по кожній напрузі живлення приведені в табл. 1.
Таблиця 1. Максимальні струми споживання зовнішньою платнею
Напруга | [8] | [8/16] |
+5 В | 3,0 А | 4,5 А |
+12 В | 1,5 А | 1,5 А |
-5 В | 1,5 А | 1,5 А |
-12 В | 1,5 А | 1,5 А |
УВАГА! Дані, приведені в табл. 1, не означають, що кожна зі встановленої в слоти зовнішньої платні може споживати такі струми. Таблиця інформує тільки про те, які струми дозволяється пропускати через роз'єм (роз'єми) зовнішньої платні. Загальні допустимі струми споживання для всієї зовнішньої платні як правило, обмежуються джерелом живлення комп'ютера (100- 300 Вт).
3. Електричні характеристики ISA
Вихідні каскади пристроїв вводу-виводу повинні забезпечувати струм низького рівня більше 24 мА і високого рівня більше 3 мА.
Вхідні каскади приймачів ПВВ повинні споживати струм низького рівня менше 0,8 мА, а високого – 0,04 мА. Максимальна довжина провідника від роз’єму ISA до мікросхеми на платі менша 65 мм, ємність кожного контакту менше 20 пФ.
Для ISA діапазон адрес знаходиться у межах 100 – 3FF h.
Для пристроїв вводу-виводу системні адреси розподілені наступним чином:
378-37F: паралельний порт LPT1
278-27F: паралельний порт LPT2
300-31F: прототипні плати
360-36F: резервні адреси
3F8-3FF: послідовний порт COM1
Цикли шини ISA завжди асинхронні по відношенню до SYSCLK. Різні сигнали дозволяються і забороняються у будь-який час; усередині допустимих інтервалів сигнали відгуку можуть також бути вироблені у будь-який час.
На шині існують 4 індивідуальні типи циклів:
1) Доступ до Ресурсу, ПДП, Регенерація, Захоплення Шини.
Рис. Часові діаграми циклів запису і зчитування
Цикл запису в пам’ять, ПВВ
Цикл зчитування з пам’яті, ПВВ
Цикл Доступу до Ресурсу виконується, якщо центральний процесор або зовнішня платня як задатчиків обмінюються даними з різними ресурсами на шині. Цикл ПДП виконується, якщо контроллер ПДП є задатчиком на шині і виконує цикли передачі даних між пам'яттю і УВВ. Цикл Регенерації виконується тільки контроллером регенерації для регенерації мікросхем динамічної пам'яті. Цикл Захоплення Шини виконується зовнішньою платнею для того, щоб стати задатчиком на шині.
Структурно цикли відрізняються по типу задатчика на шині і видами ресурсів доступу на ній. Усередині типу циклу існують різні види його, обумовлені різною тривалістю кожного вигляду.
Існують три типи циклу Доступу до Ресурсу:
цикл з 0 тактів очікування - цей цикл найкоротший зі всіх можливих;
нормальний цикл - при виконанні такого циклу ресурс доступу не забороняє сигнал готовності I/O CH RDY - далі цикл такого вигляду називатиметься просто нормальним;
подовжений цикл - при виконанні такого циклу ресурс доступу забороняє сигнал готовності I/O CH RDY на якийсь час, необхідне ресурсу для прийому або передачі даних - далі цикл такого вигляду називатиметься подовженим.
У циклах ПДП і Регенерація теж існують два види: нормальний і подовжений, виходячи з таких же, описаних вище за умови.Нижче всі типи циклів будуть детально описані і, окрім цього, в гл. 6 приведені тимчасові діаграми всіх типів циклів.
Цикл Доступу до Ресурсу
Центральний процесор починає цикл Доступу до Ресурсу виробленням сигналу BALE, що повідомляє всі ресурси про істинність адреси на лініях SA<19...0>, а також для фіксації ресурсами адреси по лініях LA<23...17>. Ресурси повинні повідомляти ЦП дозволом сигналу -MEM CS16 або -I/O CS16 про те, що цикл повинен бути 16- розрядним; інакше цикл буде завершений як 8-розрядний. ЦП також виробляє команди -MEMR, -MEMW, -IORC і -IOWC визначаючі тип ресурсу (пам'ять або УВВ), а також напрям передачі даних. Якщо доступ до пам'яті в першому мегабайті адресного простору, то також дозволятиметься сигнал -SMEMR або -SMEMW. Ресурс доступу, якому необхідно змінити час циклу, повинен відповідати сигналом -0WS або I/O CH RDY для інформування ЦП про тривалість циклу доступу.