Стандарти системних і локальних шин
Шина - це канал пересилання даних, використовуваний спільно різними блоками системи. Шина може являти собою набір провідних ліній, витравлених на друкованій платі, проводу, припаяні до висновків роз'ємів, в які вставляються друковані плати, або плоский кабель. Компоненти комп'ютерної системи фізично розташовані на одній або кількох друкованих платах, причому їх число і функції залежать від конфігурації системи, її виробника, а часто і від покоління мікропроцесора.
Основними характеристиками шин є розрядність переданих даних і швидкість передачі даних.
Найбільший інтерес викликають два типи шин - системний і локальний.
Системна шина призначена для забезпечення передачі даних між периферійними пристроями і центральним процесором, а також оперативною пам'яттю.
Локальною шиною, як правило, називається шина, безпосередньо підключена до контактів мікропроцесора, тобто шина процесора.
1. Системні ШИНИ
У розпорядженні абонентів шини ISA-8 може бути до 6 ліній запитів переривань IRQ (Interrupt Request), для ISA-16 їх число досягає 11. Зауважимо, що при конфігурації BIOS Setup частина з цих запитів можуть відібрати пристрої системної плати або шина PCI.
Всі перераховані ресурси системної шини повинні бути безконфліктно розподілені між абонентами. Безконфліктність має на увазі наступне:
Призначену лінію запиту переривання IRQx абонент повинен тримати на низькому рівні в пасивному стані і переводити в високий рівень для активації запиту. Невикористовуваними лініями запитів абонент управляти не має права, вони повинні бути електрично откоммутіровани або підключатися до буферу, що знаходиться в третьому стані. Однією лінією запиту може користуватися тільки один пристрій. Така безглуздість (з точки зору схемотехніки ТТЛ) була допущена в перших PC і в жертву сумісності старанно тиражується вже багато років.
Завдання розподілу ресурсів в старих адаптерах вирішувалася за допомогою джамперів, потім з'явилися програмно-конфігуровані пристрої, які практично витіснені автоматично конфігуруються платами PnP.
З появою 32-бітових процесорів робилися спроби розширення розрядності шини, але всі 32-бітові шини ISA не є стандартизованими, крім шини EISA.
З появою 32-розрядних мікропроцесорів 80386 (версія DX) фірмами Compaq, NEC і рядом інших фірм, була створена 32-розрядна шина EISA, повністю сумісна з ISA.
Шина EISA (Extended ISA) - жорстко стандартизоване розширення ISA до 32 біт. Конструктивне виконання забезпечує сумісність з нею і звичайних ISA-адаптерів. Вузькі додаткові контакти розширення розташовані між ламелями роз'єму ISA і нижче таким чином, що адаптер ISA, що не має додаткових ключових прорізів у крайовому роз'ємі, не дістає до них. Установка карт EISA в слоти ISA неприпустима, оскільки її специфічні ланцюга потраплять на контакти ланцюгів ISA, в результаті чого системна плата виявиться непрацездатною.
EISA - дорога, але виправдовує себе архітектура, що застосовується в багатозадачних системах, на файл-серверах і скрізь, де потрібно високоефективне розширення шини вводу-виводу.
Шина MCA (MicroChannel Architecture) - микроканальная архітектура - була введена в пику конкурентам фірмою IBM для своїх комп'ютерів PS / 2 починаючи з моделі 50 в 1987 році. Забезпечує швидкий обмін даними між окремими пристроями, зокрема з оперативною пам'яттю. Шина MCA абсолютно несумісна з ISA / EISA і іншими адаптерами. Склад керуючих сигналів, протокол та архітектура орієнтовані на асинхронне функціонування шини і процесора, що знімає проблеми узгодження швидкостей процесора і периферійних пристроїв. Адаптери MCA широко використовують Bus-Mastering, всі запити йдуть через пристрій CACP (Central Arbitration Control Point). Архітектура дозволяє ефективно і автоматично конфігурувати всі пристрої програмним шляхом (в MCA PS / 2 немає жодного перемикача).
При всій прогресивності архітектури (щодо ISA) шина MCA не користується популярністю через вузькість кола виробників MCA-пристроїв і повної їх несумісності з масовими ISA-системами. Однак MCA ще знаходить застосування в потужних файл-серверах, де потрібне забезпечення високонадійного продуктивного введення-виведення.
2. Локальні ШИНИ
Якщо VL-bus є, по суті, розширенням шини процесора (згадаємо шину IBM PC / XT), то PCI зі своєї організації більш тяжіє до системним шинам, наприклад до EISA, і являє собою абсолютно нову розробку. Строго кажучи, PCI відноситься до класу так званих mezzanine-шин, тобто шин- "прибудов", оскільки між локальною шиною процесора і самої PCI знаходиться спеціальна мікросхема погодить "моста" (bridge).
Шини вводу-виводу ISA, MCA, EISA мають низьку продуктивність, обумовлену їх місцем у структурі PC. Сучасні програми (особливо графічні) вимагають істотного підвищення пропускної здатності, яке можуть забезпечити сучасні процесори. Одним з рішень проблеми підвищення пропускної спроможності було застосування в якості шини підключення периферійних пристроїв локальної шини процесора 80486. Шину процесора використовували як місце підключення вбудованої периферії системної плати (контролер дисків, графічного адаптера).
VLB - стандартизована 32-бітна локальна шина, практично представляє собою сигнали системної шини процесора 486, виведені на додаткові роз'єми системної плати. Шина сильно орієнтована на 486 процесор, хоча можливо її використання і з процесорами класу 386. Для процесорів Pentium була прийнята специфікація 2.0, в якій розрядність шини даних збільшена до 64, але вона поширення не отримала. Апаратні перетворювачі шини нових процесорів в шину VLB, будучи штучними "наростами" на Шинн архітектурі, не прижилися, і VLB подальшого розвитку не отримала.
Шину VLB зазвичай використовували для підключення графічного адаптера і контролера дисків. Адаптери локальних мереж для VLB практично не зустрічаються. Іноді зустрічаються системні плати, у яких в описі зазначено, що вони мають вбудований графічний і дисковий адаптер з шиною VLB, але самих слотів VLB немає. Це означає, що на платі встановлені мікросхеми зазначених адаптерів, призначені для підключення до шини VLB. Така неявна шина по продуктивності, природно, не поступається шині з явними слотами. З точки зору надійності і сумісності це навіть краще, оскільки проблеми сумісності карт і системних плат для шини VLB стоять особливо гостро.
Ця шина займає особливе місце в сучасній PC-архітектурі (mezzanine bus), будучи мостом між локальною шиною процесора і шиною вводу-виводу ISA / EISA або MCA. Ця шина розроблялася з розрахунку на Pentium-системи, але добре поєднується і з 486 процесорами, а також з не-Intel'овской процесорами. Шина PCI є чітко стандартизованої високопродуктивної шиною розширення вводу-виводу. PCI - мультиплексная 32-розрядна шина. Існує також 64-розрядної версії. Частота шини 20-33 МГц. Стандарт PCI 2.1 допускає і частоту 66 МГц. Теоретична максимальна швидкість 132/264 Мбайт / с для 32/64 біт при 33 МГц, і 528 Мбайт / с при 66 МГц. Слот PCI достатній для підключення адаптера (на відміну від VLB), на системній платі він може співіснувати з будь-якої з шин вводу-виводу і навіть з VLB (хоча в цьому і немає необхідності).
На одній шині PCI може бути не більше чотирьох пристроїв (слотів). Міст шини PCI (PCI Bridge) - це апаратні засоби підключення шини PCI до інших шинам. Host Bridge - головний міст - використовується для підключення PCI до системної шини (шині процесора або процесорів). Peer-to-Peer Bridge - спеціальний робочий міст - використовується для з'єднання двох шин PCI. Дві і більше шини PCI застосовуються в потужних серверних платформах - додаткові шини PCI дозволяють збільшити кількість пристроїв, що підключаються.
До складу шини PCI введені сигнали для тестування адаптерів по інтерфейсу JTAG. На системній платі ці сигнали не завжди задіяні, але можуть і організовувати логічний ланцюжок тестованих адаптерів.
Шина має версії з харчуванням 5 В, 3.3 В. Також існує універсальна версія (з переключенням ліній + V I / O c 5 В на 3.3 В). Ключами є пропущені ряди контактів 12, 13 і 50, 51. Для 5 В-слота ключ розташований на місці контактів 50, 51; для 3 В - 12, 13; для універсального - два ключа: 12, 13 і 50, 51. Ключі не дозволяють встановити карту в слот з невідповідним напругою живлення. 32-бітний слот закінчується контактами A62 / B62, 64-бітний - A94 / B94.
На відміну від адаптерів інших шин, компоненти карт PCI розташовані на лівій поверхні плат. З цієї причини крайній PCI-слот звичайно розділяє використання посадкового місця адаптера з сусіднім ISA-слотом (Shared slot).
Шина PCI була до останнього часу другий (після ISA) за популярністю застосування. У сучасних системах відбувається відмова від шин ISA, і шина PCI виходить на головні позиції. Деякі фірми для цієї шини випускають карти-прототипи, але, звичайно ж, доукомплектувати їх периферійним адаптером або пристроєм власної розробки набагато складніше, ніж карту ISA. Тут позначаються і більш складні протоколи, і більш високі частоти (8 МГц у шини ISA проти 33 або 66 МГц у шини PCI). Також шина PCI має погану помехоустойчивостью, тому для побудови вимірювальних систем і промислових комп'ютерів використовується все ще відносно рідко.
З самого розвитку і досі шина введення / виводу є вузьким місцем сучасних персональних комп'ютерів, що негативно позначається на загальних швидкісних характеристиках системи. З'являлися нові шини, збільшувалася розрядність, швидкодію шин, їх пропускна здатність. Але розробки нових стандартів шин тривають. Багато фірм об'єднують свої зусилля для розробки нових стандартів.
На прикладах існуючих стандартів видно, що у кожного стандарту шин є свої переваги, але є і свої недоліки. Одні шини дозволяють отримувати цілком задовільну швидкодію, але дуже дорогі і складні у виготовленні, і часто витрати не окупаються. Інші дешеві, але дуже вимогливі до системи в цілому.