З істемние і локальні шини
В обчислювальній системі, що складається з безлічі підсистем, необхідний механізм для їх взаємодії. Ці підсистеми повинні швидко і ефективно обмінюватися даними. Наприклад, процесор, з одного боку, повинен бути пов'язаний з пам'яттю, з іншого боку, необхідна зв'язок процесора з пристроями введення / виводу. Одним з найпростіших механізмів, що дозволяють організувати взаємодію різних підсистем, є єдина центральна шина, до якої приєднуються всі підсистеми. Доступ до такої шині розділяється між всіма підсистемами. Подібна організація має дві основні переваги: низька вартість і універсальність. Оскільки така шина є єдиним місцем приєднання для різних пристроїв, нові пристрої можуть бути легко додані, і одні і ті ж периферійні пристрої можна навіть застосовувати в різних обчислювальних системах, які використовують однотипну шину. Вартість такої організації виходить досить низькою, оскільки для реалізації безлічі шляхів передачі інформації використовується єдиний набір ліній шини, що розділяється безліччю пристроїв.
Головним недоліком організації з єдиною шиною є те, що шина створює вузьке горло, обмежуючи, можливо, максимальну пропускну здатність введення / виведення. Якщо весь потік введення / виводу повинен проходити через центральну шину, таке обмеження пропускної здатності досить реально. У комерційних системах, де введення / виведення здійснюється дуже часто, а також в суперкомп'ютерах, де необхідні швидкості введення / виводу дуже високі через високої продуктивності процесора, одним з головних питань розробки є створення системи декількох шин, здатної задовольнити всі запити.
Одна з причин великих труднощів, що виникають при розробці шин, полягає в тому, що максимальна швидкість шини головним чином лімітується фізичними факторами: довжиною шини та кількістю під'єднані (і, отже, навантаженням на шину). Ці фізичні обмеження не дозволяють довільно прискорювати шини. Вимоги швидкодії (малої затримки) системи введення / ввивода і високої пропускної здатності є суперечливими. У сучасних великих системах використовується цілий комплекс взаємопов'язаних шин, кожна з яких забезпечує спрощення взаємодії різних підсистем, високу пропускну здатність, надмірність (для збільшення відмовостійкості) і ефективність.
Традиційно шини діляться на шини, що забезпечують організацію зв'язку процесора з пам'яттю, і шини введення / виводу. Шини введення / виведення можуть мати велику протяжність, підтримувати приєднання багатьох типів пристроїв, і зазвичай слідують одному з шинних стандартів. Шини процесор-пам'ять, з іншого боку, порівняно короткі, зазвичай високошвидкісні і відповідають організації системи пам'яті для забезпечення максимальної пропускної здатності каналу пам'ять-процесор. На етапі розробки системи, для шини процесор-пам'ять заздалегідь відомі всі типи і параметри пристроїв, які повинні з'єднуватися між собою, в той час як розробник шини введення / виводу повинен мати справу з пристроями, які відрізняються за затримки і пропускної здатності.
Як вже було зазначено, з метою зниження вартості деякі комп'ютери мають єдину шину для пам'яті і пристроїв введення / виводу. Така шина часто називається системною. Персональні комп'ютери, як правило, будуються на основі однієї системної шини в стандартах ISA, EISA або MCA. Необхідність збереження балансу продуктивності у міру зростання швидкодії мікропроцесорів призвела до дворівневої організації шин в персональних комп'ютерах на основі локальної шини. Локальної шиною називається шина, електрично виходить безпосередньо на контакти мікропроцесора. Вона зазвичай об'єднує процесор, пам'ять, схеми буферизації для системної шини і її контролер, а також деякі допоміжні схеми. Типовим прикладом локальної шини є VL-Bus.
Наступний термін, зазначений в таблиці, - кількість головних пристроїв шини (bus master). Головне пристрій шини - це пристрій, який може ініціювати транзакції читання або запису. ЦП, наприклад, завжди є головним пристроєм шини. Шина має кілька основних механізмів, якщо є кілька ЦП або коли пристрої введення / виводу можуть ініціювати транзакції на шині. За наявності кількох таких пристроїв, то потрібно схема арбітражу, щоб вирішити, хто наступний захопить шину. Арбітраж часто заснований або на схемі з фіксованим пріоритетом, або на більш "справедливою" схемою, яка випадковим чином вибирає, яке головне пристрій захопить шину.
Мал. 43. Основні можливості шин
Асинхронна шина, з іншого боку, не тактується. Замість цього зазвичай використовується старт-стопи режим передачі і протокол "рукостискання" (handshaking) між джерелом і приймачем даних на шині. Ця схема дозволяє набагато простіше пристосувати широке розмаїття пристроїв і подовжити шину без занепокоєння про перекосі сигналів синхронізації і про систему синхронізації. Якщо може використовуватися синхронна шина, то вона зазвичай швидше, ніж асинхронна, через відсутність накладних витрат на синхронізацію шини для кожної транзакції. Вибір типу шини (синхронної або асинхронної) визначає не тільки пропускну здатність, але також безпосередньо впливає на ємність системи введення / виводу в термінах фізичного відстані і кількості пристроїв, які можуть бути приєднані до шини. Асинхронні шини в міру зміни технології краще масштабуються. Шини вводу / виводу зазвичай асинхронні.
Зазвичай кількість і типи пристроїв введення / виводу в обчислювальних системах не фіксуються, що дозволяє користувачеві самому підібрати необхідну конфігурацію. Шина введення / виведення комп'ютера може розглядатися як шина розширення, що забезпечує поступове нарощування пристроїв введення / виводу. Тому стандарти відіграють величезну роль, дозволяючи розробникам комп'ютерів і пристроїв введення / виводу працювати незалежно. Поява стандартів визначається різними обставинами.
Іноді широке поширення і популярність конкретних машин стають причиною того, що їх шина введення / виводу стає стандартом де факто. Прикладами таких шин можуть служити PDP-11 Unibus і IBM PC-AT Bus. Іноді стандарти з'являються також в результаті певних досягнень по стандартизації в деякому секторі ринку пристроїв введення / виводу. Інтелектуальний периферійний інтерфейс (IPI - Intelligent Peripheral Interface) і Ethernet є прикладами стандартів, що з'явилися в результаті кооперації виробників. Успіх того чи іншого стандарту в значній мірі визначається його прийняттям такими організаціями як ANSI (Національний інститут по стандартизації США) або IEEE (Інститут інженерів з електротехніки та електроніки). Іноді стандарт шини може бути прямо розроблений одним з комітетів по стандартизації: прикладом такого стандарту шини є FutureBus.
На малюнку 44 представлені характеристики декількох стандартних шин. Зауважимо, що рядки цієї таблиці, що стосуються пропускної здатності, не вказані у вигляді однієї цифри для шин процесор-пам'ять (VME, FutureBus, MultibusII). Розмір пересилання, через різних накладних витрат шини, сильно впливає на пропускну здатність. Оскільки подібні шини зазвичай забезпечують зв'язок з пам'яттю, то пропускна здатність шини залежить також від швидкодії пам'яті. Наприклад, в ідеальному випадку при нескінченному розмірі пересилання і нескінченно швидкої пам'яті (час доступу 0 нсек) шина FutureBus на 240% швидше шини VME, але при пересиланні одиночних слів з 150-нсекундной пам'яті шина FutureBus тільки приблизно на 20% швидше, ніж шина VME .
Ширина шини
(К-ть сигналів)
Розмір пересилання (слів)
кількість глав-
них пристроїв
шини
Смуга пропуску
(Час доступу -
0 нс - 1 слово)
Смуга пропуску
(Час доступу -
150 нс - 1 слово)
Смуга пропуску
(Час доступу -
0 нс - неогр.
розмір блоку)
Смуга пропуску
(Час доступу -
150 нс - неогр.
розмір блоку)
Мал. 44. Приклади стандартних шин
Шина EISA передбачає централізоване управління доступом до шині за рахунок наявності спеціального пристрою - арбітра шини. Тому до неї може підключатися кілька основних механізмів шини. Покращена система переривань дозволяє підключати до кожної фізичної лінії запиту на переривання кілька пристроїв, що знімає проблему кількості ліній переривання. Шина EISA тактується частотою близько 8 МГц і має максимальну теоретичну швидкість передачі даних 33 Мбайт / с.
Шина MCA також забезпечує 32-розрядну передачу даних, тактується частотою 10 МГц, має засоби автоматичної конфігурації і арбітражу запитів. На відміну від EISA вона не сумісна з шиною ISA і використовується тільки в комп'ютерах компанії IBM серії PS / 2. Серія ця не отримала лдолжного поширення, хоча шина "мікроканал" була передовою розробкою свого часу, але несумісною з сущестовала стандартами.
У сучасному світі шина давно канула в Лету і замінена Акселерірованним графічним портом AGP, 64-бітових, 8-ми швидкісна версія якого підтримує потік даних до 2.1 Гбайт в секунду.
Порівняльні характеристики стандартів AGP
Шина PCI (Peripheral Component Interconnect) також, як і шина VL-bus, підтримує 32-бітову канал передачі даних між процесором і периферійними пристроями, працює на тактовій частоті 33 МГц і має максимальну пропускну здатність 120 Мбайт / с. При роботі з процесорами i486 шина PCI дає приблизно ті ж показники продуктивності, що і шина VL-bus. Однак, на відміну від останньої, шина PCI є процесорної незалежною (шина VL-bus підключається безпосередньо до процесору i486 і тільки до нього). Ee легко підключити до різних центральних процесорів. У їх числі Pentium, Alpha, R4400 і PowerPC.
Пізніше були прийняті розширення до шини PCI, в основному полягали в тому, що розрядність підвищувалася до 64-х біт, а частота шини піднімалася до 133 Мгц. Однозначно такі розширення прижилися в серверах.
Збільшення частоти і розрядності призводить до проблем в розводці високочастотних плат і посилення боротьби з перешкодами. Останніми розробками в цій обрости є шини, за якими інформація передається послідовно, диференціальними сигналами. Так, послідовна шина PCI-Express при зниженні розрядності показує набагато більшу швидкодію.
Шина VME набула великої популярності як шина введення / виводу в робочих станціях і серверах на базі RISC-процесорів. Ця шина високо стандартизована, є кілька версій цього стандарту. Зокрема, VME32 - 32-бітова шина з продуктивністю 30 Мбайт / с, а VME64 - 64-бітова шина з продуктивністю 160 Мбайт / с.
У однопроцесорних і багатопроцесорних робочих станціях і серверах на основі мікропроцесорів SPARC одночасно використовуються кілька типів шин: SBus, MBus і XDBus, причому шина SBus застосовується в якості шини введення / виводу, а MBus і XDBus - як шин для об'єднання великої кількості процесорів і пам'яті .
Шина SBus (відома також як стандарт IEEE-1496) має 32-бітову і 64-бітову реалізацію, працює на частоті 20 і 25 МГц і має максимальну швидкість передачі даних в 32-бітовому режимі рівну відповідно 80 або 100 Мбайт / с. Шина передбачає режим груповий пересилання даних з максимальним розміром пересилання до 128 байт. Вона може працювати в двох режимах передачі даних: режимі програмованого введення / виводу і в режимі прямого доступу до віртуальної пам'яті (DVMA). Останній режим особливо ефективний при передачі великих блоків даних.
Однією з найбільш популярних шин вводу-виводу в даний час є шина SCSI.
Під терміном SCSI - Small Computer System Interface (Інтерфейс малих обчислювальних систем) зазвичай розуміється набір стандартів, розроблених Національним інститутом стандартів США (ANSI) і визначають механізм реалізації магістралі передачі даних між системною шиною комп'ютера і периферійними пристроями. На сьогоднішній день прийнято два стандарти (SCSI-1 і SCSI-2). Стандарт SCSI-3 знаходиться в процесі доопрацювання.
Спочатку SCSI призначався для використання в невеликих дешевих системах і тому був орієнтований на досягнення хороших результатів при низькій вартості. Характерною його рисою є простота, особливо в частині забезпечення гнучкості конфігурації периферійних пристроїв без зміни організації основного процесора. Головною особливістю підсистеми SCSI є розміщення в периферійному обладнанні інтелектуального контролера.
Для досягнення необхідного високого рівня незалежності від типів периферійних пристроїв в операційній системі основної машини, пристрої SCSI представляються мають дуже просту архітектуру. Наприклад, геометрія дискового накопичувача представляється у вигляді лінійної послідовності однакових блоків, хоча в дійсності будь-який диск має більш складну багатовимірну геометрію, що містить поверхні, циліндри, доріжки, характеристики щільності, таблицю дефектних блоків і безліч інших деталей. У цьому випадку сам пристрій або його контролер несуть відповідальність за перетворення спрощеної SCSI моделі в дані для реального пристрою.
Однак оскільки в звичайному 50-жильному кабелі просто не вистачає жив, комітет SCSI вирішив розширити специфікацію другим 66-жильним кабелем (так званий B-кабель). B-кабель має додаткові лінії даних і ряд інших сигнальних ліній, що дозволяють реалізувати режим Fast-and-Wide.
Слід зазначити деяку плутанину в термінології. Часто стандартний 50-контактний роз'єм також називають роз'ємом SCSI-1, а новіший мікрораз'ем - роз'ємом SCSI-2. Стандарт SCSI визначає тільки кількість жив в кабелі, і взагалі не визначає тип роз'єму.
Останнім часом все більшу конкуренцію шині SCSI становить Serial ATA, в якій на відміну від звичайного паралельного інтерфейсу IDE, передача даних йде диференціальними сигналами, що дозволяє позбавиться від наведень і скоротити кількість жив в кабелі, одночасно підвищивши бистродейсвіе. Крім, вводиться система переупорядочивания команд, раніше притаманна тільки пристроїв SCSI. Загалом, швидкодія систем SATA перевищує швидкодію системи parallel ATA приблизно на 30%.