40 ОРГАНІЗАЦІЯ ЛІНІЙ ІНТЕРФЕЙСІВ
40 ОРГАНІЗАЦІЯ ЛІНІЙ ІНТЕРФЕЙСІВ
З'єднання між собою декількох пристроїв виконується за допомогою індивідуальних ліній для кожної пари пристроїв або загального для всіх пристроїв середовища інтерфейсу на основі розділення часу.
У другому випадку для попередження конфліктних ситуацій, які виникають під час спроб кількох пристроїв одночасно використовувати загальне середовище, виділяють спеціальну схему управління інтерфейсом, яку називають арбітром.
У загальному випадку можуть бути реалізовані такі види обміну:
передача від одного пристрою тільки одному іншому;
від одного пристрою всім іншим (трансляційний обмін);
від одного пристрою кільком довільно призначеним пристроям (груповий обмін).
Апаратні інтерфейси СВВ звичайно реалізують тільки перший вид обміну – між двома пристроями.
Організація інтерфейсу повинна надавати можливість пристрою:
займати загальне середовище інтерфейсу на час передачі повідомлення; процес надання середовища інтерфейсу одному пристрою називається арбітражем і виконується схемами арбітра;
звертатись до іншого пристрою за його адресою; цей процес називається адресацією;
ідентифікувати пристрій, який ініціює обмін; цей процес нерозривно пов'язаний з процедурою арбітражу і його основою є послідовне опитування пристроїв.
Організація адресації і опитування, а також структура схеми управління інтерфейсом у значній мірі визначається способом з'єднання пристроїв. За цією ознакою розрізняють радіальний, магістральний, ланцюговий і комбінований інтерфейси.
Радіальний інтерфейс. Центральний пристрій (Пц) з'єднаний з підключеними пристроями П1, …, Пn за допомогою індивідуальних ліній, які монопольно належать кожному з них (рис. 40.1).
Управління інтерфейсом повністю зосереджене у пристрої Пц. За необхідності передати або одержати квант інформації від Пі за ініціативою центрального пристрою (Пц) на регістр РгА заноситься адреса пристрою Пі і відповідно з ним перемикач К з'єднує лінії Лц з лініями Лі. При цьому пристрої Пц і Пі з'єднуються між собою, а всі інші пристрої відключаються і в обміні участі не беруть.
Якщо ініціатива обміну виходить від периферійного пристрою Пі, то він передає сигнал по своїй лінії запиту (на рис. 40.1 показані штрихами), який надходить в і-й розряд регістра запиту РгЗ. Як тільки Пц звільняється від попереднього обміну, його пристрій управління інтерфейсом ПУ послідовно опитує розряди регістра РгЗ і за допомогою перемикача К з'єднує лінії Лц з відповідними лініями Лі пристрою Пі.
Порядок опитування розрядів РгЗ визначає пріоритет обслуговування пристроїв Пі.
Рисунок 40.1 – Структура радіального інтерфейсу
Характерними особливостями радіального способу підключення є:
сконцентроване в центральному пристрої управління інтерфейсом, яке призначене для узгодження моментів прийому і передачі повідомлення;
наявність індивідуальних інформаційних ліній, які потребують значних затрат на приймально-передавальну апаратуру і кабелів зв'язку;
використання мінімального числа ліній управління;
можливість порівняно просто пристосувати ПП до вимог інтерфейсу, а також проводити фізичне підключення і відключення пристроїв без порушення безперервної роботи інших.
Цей спосіб характерний для інтерфейсів нижніх рангів, особливо під час послідовного способу передачі інформації. Йому віддають перевагу через необхідність підключення до ЕОМ достатньо простих ПП, наприклад, пристроїв технологічної автоматики і контрольно-вимірювальної апаратури.
Магістральний інтерфейс. Центральний пристрій Пц з'єднаний з підключеними пристроями П1, …, Пn за допомогою єдиної магістралі, яка використовується ними на основі розподілу часу (рис. 40.2).
Сигнал на будь-якій лінії магістралі фізично доступний кожному пристрою, тому для організації обміну між пристроєм Пц і одним з підлеглих пристроїв необхідно логічно відключити всі інші.
Всім пристроям Пі, що підключені до магістралі, привласнені адреси (номери), які фіксуються у вигляді власної адреси пристрою на спеціальних регістрах, що розташовані у всіх Пі. Адреси пристроїв однієї магістралі не повторюються; запис адреси в регістр пристрою Пі виконується вручну під час підключення його до магістралі.
Рисунок 40.2 – Структура магістрального інтерфейсу
Припустимо, що обмін виконується з ініціативи пристрою Пц. Тоді він проводить цикл адресації, який полягає в передачі адреси пристрою, що запитується по магістралі. Адреса надходить до всіх пристроїв Пі, де проводиться порівняння переданої адреси з власною адресою. Якщо власна і адреса, що запитується, збігаються, то пристрій Пі виявляє сигнал готовності до прийому інформації від Пц.
Якщо обмін в інтерфейсі проводиться з ініціативи підлеглого пристрою Пі, то спочатку виключається можливість використання магістралі будь-яким іншим пристроєм. З цією метою в магістралі передбачають спеціальну лінію запитів (лінія ТРБ), на яку пристрій Пі незалежно від інших може виставляти сигнал запиту (або вимоги ТРБ). Сигнал запиту означає для Пц, що на магістралі є один або декілька пристроїв Пі, що запитують обмін. Виявивши сигнал запиту (цю функцію виконує схема аналізу ТРБ), пристрій Пц повинен дати дозвіл на заняття магістралі тільки одному із пристроїв Пі, що запитують для виконання передачі даних. Для цього проводиться опитування пристроїв Пі, тобто пристрій Пц послідовно виконує адресацію всіх Пі до тих пір, доки не отримає підтвердження запиту. Пристрій Пц, отримавши підтвердження від Пі, припиняє дальше формування адрес, тобто призупиняє опитування, а пристрій Пі, який у процесі опитування розпізнав свою адресу і підтвердив збігання адрес, логічно підключається до магістралі для передачі даних.
У разі магістрального способу підключення управління інтерфейсом розподілене між центральним пристроєм Пц, який містить схему аналізу запитів і засобів формування послідовностей адрес, і підлеглими П1 …, Пn пристроями, які містять регістр власної адреси, схему збігання адрес і схему запиту обміну.
За такого способу організації інтерфейсу зменшується об'єм приймально-передавальної апаратури і кабельних з'єднань, але ускладнюється схема управління в Пі. Сигнали на лініях магістралі доступні одночасно всім пристроям, тому передача адрес і даних не потребує значних витрат часу, однак процедура опитування дуже довга через послідовне перебирання адрес Пі. Тому через це в реальні інтерфейси, що побудовані за магістральним способом з паралельними колективними лініями, додають елементи радіального або ланцюгового підключення.
Ланцюговий інтерфейс. У випадку ланцюгового інтерфейсу підлеглі пристрої П1, …, Пn підключаються до центрального послідовно, утворюючи ланцюг (рис. 40.3).
У ланцюговому інтерфейсі всім пристроям П1, …, Пn привласнюються адреси, що не повторюються. Тоді, якщо обмін ініціюється пристроєм Пц, адреса пристрою (Пі), що запитується, передається на лінії Л1 і потрапляє в пристрій П1. Адреса, що запитується в пристрої П1, порівнюється з власною адресою П1. Якщо адреси не збіглися, то комутатор К з'єднує лінії Л1 з лініями Л2. Таким чином, адреса пристрою, що запитується, потрапляє в П2 і процедура повторюється.
Рисунок 40.3 – Структура ланцюгового інтерфейсу
Якщо значення адрес збіглися, то пристрій, який упізнав свою адресу, логічно підключається до Пц, процедура адресації виконується послідовно.
Нехай обмін ініціюється одним з пристроїв П1, …, Пn, наприклад П2. При цьому пристрій відключає за допомогою комутатора К всі пристрої більш низького пріоритету (П3, …, Пn), тобто розмикає лінії Л3. Потім пристрій П2 передає свою адресу по лінії Л2. Ця адреса або передається пристроєм П1 на лінії Л1, якщо П1 не веде обміну, для чого комутатор К в П1 підключає лінії Л2 до ліній Л1, або блокується, якщо пристрій П1 веде обмін з Пц. Процедура опитування не потребує послідовного перебору адрес П1, …, Пn, що значно її прискорює.
Однак в описаному вигляді ланцюгове підключення пристроїв не використовується. Це пояснюється значними затратами часу на процедуру адресації через її послідовний характер, значними витратами на комутуючу апаратуру і неможливістю фізичного відключення пристроїв без порушення роботи інших.
Комбіновані інтерфейси. В комбінованих інтерфейсах використовується магістральний принцип паралельної передачі інформацій, а для прискорення ідентифікації використовуються управляючі лінії, які з'єднують пристрої за радіальним (магістрально-радіальний інтерфейс) або ланцюговим (магістрально-ланцюговий інтерфейс) принципом.
На рис. 40.4 приведена структура магістрально - радіального інтерфейсу.
Всі види інформації передаються по паралельній магістралі М. За необхідності зв'язатися з будь-яким пристроєм Пі центральний пристрій Пц передає йому сигнал по індивідуальній лінії управління (дозвіл роботи). Цей сигнал служить для підключення пристроїв до магістралі М з допомогою комутатора К, всі інші пристрої від магістралі відключені, але мають можливість передачі сигналів запиту по своїх індивідуальних лініях управління в блок управління магістраллю (арбітр), що розташований в Пц.
Рисунок 40.4 – Структура магістрально - радіального інтерфейсу
Таким чином, кожний з пристроїв П1, …, Пn з'єднаний з Пц двома індивідуальними лініями: лінією запиту і лінією дозволу. Пристрій Пц аналізує запити, що надходять по системі індивідуальних ліній в регістр запитів, і залежно від прийнятої системи пріоритетів видає сигнал на одну з ліній дозволу роботи, тим самим забезпечується зв'язок по магістралі М центрального пристрою Пц з одним із пристроїв П1, …, Пn.
Магістрально – ланцюгова структура є найбільш розповсюдженою в апаратурних інтерфейсах систем вводу/виводу (СВВ). Всі види інформації передаються по загальній магістралі; адресація виконується так само, як і в магістральному інтерфейсі, але для прискорення передбачена лінія управління, яка з'єднує пристрої П1, …, Пn за ланцюговим принципом (рис. 40.5).
Рисунок 40.5 – Структура магістрально – ланцюгового інтерфейсу
Магістрально-ланцюгова структура дозволяє будувати інтерфейси, в яких можливий обмін між фіксованим і довільно вибраним пристроєм або між двома довільними пристроями.
Пристрій, що запитує обмін, називається ведучим (або майстром ЗДТ), а другий пристрій, який бере участь в обміні, – веденим (або виконавцем). Розв'язанням конфліктів керує арбітр (АРБ). Схема арбітра може бути зосередженою і розподіленою. В першому випадку ланцюгова лінія інтерфейсу служить для передачі сигналу дозволу (вибірки ВБР) від арбітра всім при-строям, які можуть ініціювати обмін. Для узгодження роботи арбітра і пристроїв передбачаються лінії запиту (ТРБ) і вказівки зайнятості магістралі (ЗАН).
Якщо ініціюється обмін з боку пристроїв П1, …, Пn, то кожний з них може виставляти сигнал запиту на лінію ТРБ. Отримавши цей сигнал, пристрій Пц з метою селекції пристрою, що запитує, починає процедуру опитування, тобто видає сигнал на лінію ВБР. Сигнал ВБР надходить на пристрій П1. У випадку, якщо обмін ініційований пристроєм П1, лінії магістралі з допомогою комутатора К підключаються до П1, пристрій формує сигнал ЗАН, а сигнал ВБР на наступний пристрій П2 не передає.
Якщо сигнал ТРБ був сформований будь-яким іншим пристроєм, то пристрій П1 передає сигнал ВБР по ланцюговій лінії на пристрій П2, де проводиться такий же аналіз, і т.д. Для своєї ідентифікації пристрій Пi на початку повідомлення передає власну адресу.
Сукупність трактів, що зв'язують між собою основні пристрої ОМ (центральний процесор, пам'ять і модулі вводу/виводу), утворює структуру взаємозв'язків обчислювальної машини. Структура взаємозв'язків повинна забезпечувати обмін інформацією між:
центральним процесором і пам'яттю;
центральним процесором і модулями вводу/виводу;
пам'яттю і модулями вводу/виводу.
Інформаційні потоки, що характерні для основних пристроїв ОМ, показані на рис. 40.6.
Взаємозв'язок частин ОМ і її «спілкування» із зовнішнім середовищем забезпечуються системою шин. Більшість машин містять декілька різних шин, кожна з яких оптимізована під певний вид комунікацій. Частина шин прихована всередині інтегральних мікросхем або доступна тільки в межах друкованої плати.
Деякі шини мають доступні ззовні роз'єми, з тим щоб до них легко можна було підключити додаткові пристрої, причому більшість таких шин не просто доступні, але і відповідають певним стандартам, що дозволяє під'єднувати до шини пристрої різних виробників.
Рисунок 40.6 – Інформаційні потоки в обчислювальній машині
Щоб охарактеризувати конкретну шину, потрібно описати:
сукупність сигнальних ліній;
фізичні, механічні та електричні характеристики шини;
використовувані сигнали арбітражу, стану, управління і синхронізації;
правила взаємодії підключених до шини пристроїв.
Шину утворює набір комунікаційних ліній, кожна з яких здатна передавати сигнали, що представляють двійкові цифри 1 і 0. По лінії може пересилатися розгорнена в часі послідовність таких сигналів. При сумісному використанні декілька ліній можуть забезпечити одночасну (паралельну) передачу двійкових чисел. Фізично лінії шини реалізуються у вигляді окремих провідників як смужки провідного матеріалу на монтажній платі або як алюмінієві чи мідні провідні доріжки на кристалі мікросхеми.
Операції на шині називають транзакціями. Основні види транзакцій − транзакції читання і транзакції запису. Якщо в обміні бере участь пристрій вводу/виводу, можна говорити про транзакції вводу і виводу, по суті еквівалентних транзакціям читання і запису відповідно. Шинна транзакція включає дві частини: пересилання адреси і прийом (або пересилання) даних.
Коли два пристрої обмінюються інформацією по шині, один з них повинен ініціювати обмін і управляти ним. Такого роду пристрої називають ведучими (bus master). У комп'ютерній термінології «ведучий» – це будь-який пристрій, здатний узяти на себе володіння шиною і управляти пересилкою даних. Ведучий не обов'язково використовує дані сам. Він, наприклад, може захопити управління шиною на користь іншого пристрою. Пристрої, що не володіють можливостями ініціювання транзакції, носять назву ведених (bus slave). В принципі до шини може бути підключено декілька потенційних ведучих, але у будь-який момент часу активним може бути тільки один з них: якщо декілька пристроїв передають інформацію одночасно, їх сигнали перекриваються і спотворюються. Для запобігання одночасної активності декількох ведучих в будь-якій шині передбачається процедура допуску до управління шиною тільки одного з претендентів (арбітраж). У той же час деякі шини допускають широкомовний режим запису, коли інформація одного ведучого передається відразу декільком веденим (тут арбітраж не потрібний). Сигнал, направлений одним пристроєм, доступний решті всіх пристроїв, підключених до шини.
Англійський еквівалент терміну «шина» – «bus».
Важливим критерієм, що визначає характеристики шини, може служити її цільове призначення. По цьому критерію можна виділити:
шини «процесор-пам'ять»;
шини вводу/виводу;
системні шини.
Взаємозв'язок шин і основних пристроїв у типовому комп'ютері на основі процесорів Pentium III показаний на рис. 40.7.
Шина «процесор-пам'ять» забезпечує безпосередній зв'язок між центральним процесором (ЦП) обчислювальної машини і основною пам'яттю (ОП). У сучасних мікропроцесорах таку шину часто називають шиною переднього плану і позначають абревіатурою FSB (Front-Side Bus). Інтенсивний трафік між процесором і пам'яттю вимагає, щоб смуга пропускання шини, тобто кількість інформації, що проходить по шині в одиницю часу, була найбільшою. Роль цієї шини іноді виконує системна шина (див. нижче), проте в плані ефективності значно вигідніше, якщо обмін між ЦП і ОП ведеться по окремій шині. До даного виду можна віднести також шину, що пов'язує процесор з кеш-пам'яттю другого рівня, відому як шина заднього плану, - BSB (Back-Side Bus). BSB дозволяє вести обмін з більшою швидкістю, ніж FSB, і повністю реалізувати можливості швидкіснішої кеш-пам'яті.
Оскільки у фон-нейманівських машинах саме обмін між процесором і пам'яттю багато в чому визначає швидкодію ОМ, розробники приділяють зв'язку ЦП з пам'яттю особливу увагу. Для забезпечення максимальної пропускної спроможності шини «процесор-пам'ять» завжди проектуються з урахуванням особливостей організації системи пам'яті, а довжина шини – по можливості мінімальною.
Рисунок 40.7 – Підключення шин у комп'ютерах з процесором Pentium III
Шина вводу/виводу служить для з'єднання процесора (пам'яті) з пристроями вводу/виводу. Враховуючи різноманітність таких пристроїв, шини вводу/виводу уніфікуються і стандартизуються. Зв'язки з більшістю пристроїв вводу/виводу (але не з відеосистемами) не вимагають від шини високої пропускної спроможності. Під час проектування шин вводу/виводу враховується вартість конструктиву і з'єднувальних роз'ємів. Такі шини містять менше ліній в порівнянні з варіантом «процесор-пам'ять», але довжина ліній може бути дуже великою. Типовими прикладами подібних шин можуть служити шини PCI і SCSI.
РСІ була розроблена фірмою Intel для процесора Pentium. Розробники її відмовились від традиційної концепції, ввівши ще одну шину між процесором і шиною вводу/виводу. Вона не підключається безпосередньо до шини процесора, яка дуже чутлива до зовнішніх втручань. Було розроблено новий комплект мікросхем контролерів для розширення шини. Підключення пристроїв до шини РСІ подано на рис. 40.8.
Ця шина доповнює традиційну конфігурацію розташування шин ще одним рівнем. При цьому звичайна шина вводу/виводу не використовується, а фізично створюється ще одна високошвидкісна системна шина з розрядністю, що дорівнює розрядності процесора.
У материнських платах тактова частота шини РСІ задається як половина тактової частоти системної шини (при тактовій частоті системної шини 66 МГц шина РСІ працює на 33 МГц, при 75 МГц – на частоті 37, 5 МГц). Висока пропускна спроможність шини досягається за рахунок її паралельної роботи з шиною процесора, РСІ не звертається зі своїми запитами до неї. В той час, як шина РСІ обмінюється інформацією з іншими пристроями, процесор працює з даними, що містяться в кеш-пам'яті.
Рисунок 40.8 – Структурна схема підключення пристроїв до локальної шини РСІ
Основним принципом, покладеним в основу локальної шини РСІ, є застосування мостів (Bridges), які здійснюють зв'язок між шиною РСІ та іншими шинами.
У шині РСІ реалізовано принцип Bus Mastering, який відображає здатність зовнішнього пристрою під час передачі даних керувати шиною без участі процесора. Пристрій, що підтримує Bus Mastering, захоплює шину і стає головним. За такого підходу процесор під час передачі даних звільняється для виконання інших задач. Щодо пристроїв IDE (стандарт для підключення жорстких дисків до шини ISA РС – сумісних комп'ютерів) Bus Mastering вимагає наявності відповідних схем на материнській платі, які дають змогу здійснювати передачу даних з жорсткого диска поза процесором. Це важливо під час використання багатозадачних операційних систем.
Для підключення адаптерів шини РСІ використовуються спеціальні роз'єми. Їх можна розпізнати по тому, що вони встановлюються окремо від звичайних роз'ємів шин ISA, MCA чи EISA. Плати РСІ можуть бути такі самі за розміром, як і плати для звичайної шини вводу/виводу. Шина РСІ стала стандартом серед шин вводу/виводу.
Прискорений графічний порт (AGP) призначений для підвищення ефективності роботи з відео- і тривимірною графікою. Він подібний до РСІ, але має деякі доповнення і розширення. AGP не залежить від шини РСІ ні логічно, ні електрично, ні фізично. Роз'єм AGP подібний до роз'єму РСІ, але має контакти для додаткових сигналів і відповідно іншу розводку контактів. AGP – по суті високоефективне з'єднання, розроблене спеціально для відеоадаптера. В системі для одного адаптера допускається тільки один роз'єм AGP. Шина AGP працює на частоті 66 МГц, нею можна передавати дані зі швидкістю приблизно 533 Мбайт/с. В табл. 40.1 наведено дані всіх режимів AGP.
Таблиця 40.1 – Параметри режимів роботи AGP
У специфікації AGP 2.0 можливий режим 4-x, за якого дані передаються зі швидкістю 1066 Мбайт/с за рахунок 4-х передач за цикл. Місце порту AGP як каналу передачі даних між відеокартою і RAM у структурі пристроїв комп'ютера показано на рис. 40.9.
Рисунок 40.9 – Структура пристроїв комп'ютера з портом AGP
Під час використання відеоадаптера AGP шина РСІ вивільняється для виконання традиційних функцій вводу/виводу (для контролерів IDE/ATA, SCSI чи USB, звукових плат та ін.). Крім підвищення ефективності роботи відеоадаптера порт AGP дає змогу отримати швидкий доступ безпосередньо до оперативної пам'яті.
Однією з головних особливостей стандарту AGP є здатність розподілити RAM між процесором і чипсетом відеокарти. Обробка тривимірних зображень виконується RAM центрального процесора і відеопроцесором.
Механізм доступу відеокарти до пам'яті називають безпосереднім виконанням у пам'яті DIME (Direct Memory Execute).
Іншими характерними особливостями шини AGP є:
конвеєрна передача даних, яка полягає в тому, що цією шиною спочатку передається послідовність адрес, а потім – пакет даних. На шині РСІ, на відміну від AGP, адреси з даними чергуються;
в AGP використовується режим адресування бічною смугою (Sideband addressing) за допомогою спеціальних сигналів SBA (Side Band Addressing).
З метою зниження вартості деякі ОМ мають загальну шину для пам'яті і пристроїв вводу/виводу. Така шина часто називається системною. Системна шина служить для фізичного і логічного об'єднання всіх пристроїв ОМ. Оскільки основні пристрої машини, як правило, розміщуються на загальній монтажній платі, системну шину часто називають об'єднувальною шиною (backplane bus), хоча ці терміни не можна вважати строго еквівалентними.
Системна шина може містити декілька сотень ліній. Сукупність ліній шини можна підрозділити на три функціональні групи: шину даних, шину адреси і шину управління. До останньої зазвичай відносять також лінії для подачі напруги живлення на модулі, що підключаються до системної шини.
Функціонування системної шини можна описати таким чином. Якщо один з модулів хоче передати дані в інший, він повинен виконати дві дії: отримати в своє розпорядження шину і передати по ній дані. Якщо якийсь модуль хоче отримати дані від іншого модуля, він повинен отримати доступ до шини і за допомогою відповідних ліній управління і адреси передати в інший модуль запит. Далі він повинен чекати, поки модуль, що отримав запит, пошле дані.
Фізично системна шина є сукупністю паралельних електричних провідників. Цими провідниками служать металеві смужки на друкарській платі. Шина підводиться до всіх модулів, і кожен з них під'єднується до всіх або деяких її ліній. Якщо ОМ конструктивно виконана на декількох платах, то всі лінії шини виводяться на роз'єми, які потім об'єднуються провідниками на загальному шасі.
Серед стандартизованих системних шин універсальних ОМ найбільш відомі шини Unibus, Fastbus, Futurebus, VME, NuBus, Multibus-II. Персональні комп'ютери, як правило, будуються на основі системної шини в стандартах ISA, EISA або MCA.
Шина ISA. Протягом багатьох років шина ISA була стандартом у галузі РС – комп'ютерів. Вона є однією з перших у сімействі шин, але використовується до цього часу. Це зумовлено тим, що для багатьох пристроїв, зокрема миші, клавіатури, модемів, ручних сканерів та інших, швидкодія цієї шини більш ніж достатня. Свого часу, коли частота ISA перевищила 8 МГц, здійснювались спроби відділити шину ISA від шини процесора, яка була тоді основною. Раніше вони працювали на одній частоті. Згодом, щоб шини не роз-діляти, було розроблено розширений варіант шини ISA з новою назвою – VESA Local Bus (чи VL–Bus). Так відбувся поворот до архітектури локальних шин.
Фірма Intel сумісно з Microsoft розробила стратегію поступової відмови від шини ISA (згідно із специфікацією РС98 і РС99). За специфікації РС99 надалі в комп'ютері повинні використовуватись тільки дві шини – PCI i AGP. 16–розрядну шину ISA інколи називають AT BUS. Її слот складається з двох частин, одна з яких повністю відповідає слоту 8 – розрядної шини ISA, а на контакти другої частини виведено лінії для додаткових адрес вводу/виводу, переривань та каналів DMA (Direct Memory Access). Тому короткі 8–розрядні карти можна встановити в 16–розрядний слот. Додатковий слот має 36 контактів.
Передача байта даних шиною ISA відбувається так: на адресній шині виставляється адреса комірки RAM чи порту пристрою вводу/виводу, в який необхідно передати байт. Потім на шину даних виставляється байт даних, і однією з ліній шини керування передається сигнал запису WR, який є стробом. Контроль запису не здійснюється, тому тактова частота шини ISA вибрана 8,33 МГц. Це зроблено для того, щоб навіть найповільніші пристрої встигали здійснювати обмін даними чи командами шиною.
Основним недоліком шини ISA є те, що вже у разі частоти процесорів і386 та і486 дані не можуть передаватися шиною з тією самою швидкістю, з якою їх обробляє процесор. Тому в очікуванні даних він вимушений простоювати. Це стало причиною появи нових стандартів.
Шина МСА. Шина МСА була розроблена фірмою IBM в 1987 році і встановлена в комп'ютерах класу РS/2. У ній було підвищено пропускну здатність до 20 Мб/с за рахунок збільшення тактової частоти до 10 МГц і розрядності до 32 біт. Відпала необхідність вручну конфігурувати зовнішні пристрої, встановлені в слоти розширення МСА. Але шина МСА не знайшла значного поширення. Причиною цього була повна її несумісність із шиною ISA і необхідність заміни материнської плати і карт розширення.
Шина EISA є подальшим вдосконаленням шини ISA. Вона була розроблена фірмами Epson, Hewlett–Packard, NEC, Compaq i Wyse і має такі переваги:
повна сумісність слота ЕISA із слотом ISA, що дає можливість встановлювати карти ISA в слоті ЕISA, а це, в свою чергу, відкидає необхідність замінювати всі карти розширення;
шина ЕISA є 32–розрядною, що дає можливість використання відповідних карт – мережних, графічних, жорсткого диска;
шина ЕISA (як і МСА) є інтелектуальною, тобто конфігурація карт розширення виконується не апаратно за допомогою DIP – перемикача і джамперів, а програмно.
У слоті ЕISA “перший поверх” роз'єму залишається без змін стосовно шини ЕISA. Для недопущення електричного контакту роз'єму карт ISA з контактами “другого поверху” слота ЕISA встановлюється заглушка.
Шина ЕISA не отримала значного поширення через високу вартість і відсутність у достатній кількості карт розширення ЕISA та нижчу пропускну спроможність порівняно з локальною шиною VESA.
Шина VESА була розроблена для зв'язку процесора зі швидкодіючими периферійними пристроями. Вона є розширенням шини ІSA для обміну відеоданими. Обмін інформацією з процесором здійснюється під керуванням контролерів, розташованих на картах, що встановлюються в слот VESA (VLB) в обхід стандартної шини вводу/виводу. Ця шина 32–розрядна і працює на тактовій частоті процесора, яка не повинна перевищувати 40 МГц, але вона працює і на частоті процесора 50 МГц, встановленого на материнській платі. На ній є два слоти VLB, а також відповідні контролери VLB, у тому числі і для вінчестера.
Шина VESA широко застосовувалась для процесорів і486, але на сьогодні вона повністю витіснена продуктивнішою шиною РСІ.
Для підключення внутрішніх пристроїв зберігання та читання інформації (накопичувачі на магнітних і оптичних дисках) використовувалися інтерфейси IDE (Integrated Disc Electronic), SCSI (Small Computer System Interface), які зараз витісняються замінили їх інтерфейсами SATA (Serial Advanced Technology Attachment) і SAS (Serial Attached SCSI, розвиток SCSI).
У сучасних комп'ютерах пристрої для запису даних і програм на магнітні диски (їх часто називають жорсткими дисками чи "вінчестерами") є основним засобом довгострокового збереження інформації, тому базові принципи роботи дискових пристроїв корисно знати кожному. Це допоможе більш раціонально організувати використання диска, продовжити термін його служби, а також позбутися від зайвих проблем при установці в комп'ютер додаткового диска чи заміні старого.
У персональних комп'ютерах найбільш поширеною була дискова підсистема IDE/ATA. Стандарт SCSI і його наступні реалізації Fast-SCSI і Wide-SCSI, також широко розповсюджені в сучасних системах (файлові сервери й інші високопродуктивні пристрої), вимагають окремого розгляду. Інші варіанти дискових інтерфейсів описані дуже коротко, скоріше як історична довідка, ніж для роз'яснення принципів їхньої роботи.
Пристрій для збереження інформації на основі обертового магнітного диска було розроблено фірмою IBM на самому початку 70-х років. Цей громіздкий 14-дюймовий диск дозволяв записати 30 доріжок по 30 секторів у кожній з них; позначення диска "30/30" нагадувало назву широко розповсюдженої моделі рушниці фірми "Winchester", у результаті чого в англійській мові для позначення дискових пристроїв з незнімними дисками стали широко застосовувати слово "winchester". У 1973 році фірма IBM створила перший накопичувач з декількома дисками об’ємом 140 Мб, що продавався за ціною $8600.
При розробці першої моделі комп'ютера IBM PC у ньому не був передбачений вбудований вінчестер, однак вже в наступній моделі він був встановлений (20 Мб). У комп'ютері PC AT вінчестер вже був основним засобом підвищення ефективності комп'ютера - користувачам не було потрібно більше завантажувати операційну систему з дискет і шукати щораз нову дискету при початку роботи з якою-небудь програмою. Можливість збереження на вбудованому диску великих обсягів даних і програм значно розширила діапазон використання персональних комп'ютерів.
У 1988 був створений Комітет зі стандартизації методів доступу (Common Access Method Committee) для розробки програмного інтерфейсу пристроїв SCSI. Одним з результатів діяльності цього комітету з'явилася розробка специфікації інтерфейсу ATA (AT Attachment - приєднання до шини АТ), відомого також під ім'ям IDE (Integrated Drive Electronics). З кінця 80-х років інтерфейс ATA (така назва більш правильна, ніж IDE) став самим розповсюдженим серед недорогих настільних систем.
В даний час розроблений попередній стандарт ATA-2 (AT Attachment Interface with Extensions).
Існує також стандарт ATAPI (ATA Packed Interface) для підключення приводів CD-ROM і стриммерів. Цей інтерфейс значно спростив задачу підключення приводів CD-ROM, увівши єдиний стандарт замість кількох раніше існуючих інтерфейсів (таких, як Mitsumi, Panasonic, Sony). З появою ATAPI відпала необхідність установки в комп'ютер звукової плати чи спеціального контролера для роботи з компакт-дисками.
Крім того, існує ще ряд інтерфейсів для підключення вінчестерів до комп'ютера - вони коротко розглянуті нижче. Нині ще залишилися у вживанні тільки інтерфейс ATA і SCSI, кожний з який перетерпів у своєму розвитку значні зміни в порівнянні з первісним варіантом. Їхні сучасні реалізації забезпечують високу швидкість обміну з вінчестерами й іншими пристроями збереження даних.
Специфікація IDE/ATA була запропонована як недорога альтернатива інтерфейсам ESDI і SCSI для персональних комп'ютерів сімейств IBM PC XT/AT. У результаті співробітництва компанії Western Digital з Compaq Computer Corporation був розроблений інтерфейс IDE (Integrated Drive Electronics), називаний також АТА (AT attachment). Перші промислові пристрої на базі IDE/ATA були випущені в 1986 році. Інтерфейс був стандартизований (ANSI X3T9.2/90-143) у 1990р. як ATA (AT Attachment). Основною відмінністю нового інтерфейсу була реалізація більшості функцій контролера безпосередньо на платі дискового накопичувача. Такий підхід спростив і удешевив хост-адаптери, що використовувалися для підключення вінчестерів до комп'ютера, і дозволив забезпечити високий рівень сумісності пристроїв різних фірм.
Використовувані пристроями IDE адреси введення/виводу збігаються з адресами ST506/412, але функції контролера перенесені на плату управління приводом диска і голівок вінчестера. Інформація про геометрію диска (число голівок, циліндрів і секторів) зберігається в самому пристрої. Найчастіше в BIOS передаються логічні параметри диска, що не збігаються з його фізичними параметрами, тобто використовується трансляція, що дозволяє встановлювати вінчестери в комп'ютери зі старими BIOS, що не забезпечують можливість довільної установки параметрів пристрою (у більшості сучасних реалізацій BIOS така можливість підтримується як тип 47 - User Defined).
Базовий набір команд інтерфейсу IDE цілком відповідав набору команд контролера WD1002/1003 компанії Western Digital, що був використаний у комп'ютері IBM PC AT. При стандартизації інтерфейсу IDE до 12 базових команд було додано ще стільки ж. Перенос більшості функцій контролера на плату керування дозволяє трохи підвищити швидкість обміну даними з диском. Як правило диски IDE мають невелику убудовану кеш-пам'ять (до 256 Кб) і дозволяють працювати з фактором чергування 1:1 (доріжка може бути прочитана цілком за один оборот диска).
Хост-адаптер для підключення дисків IDE найчастіше встановлюється на системній платі (Mother board) чи сполучається з контролером дисководів і портами введення-виводу (послідовними і паралельним) на спеціальній, що вставляється в гніздо розширення, платі (мультикарті, як її найчастіше називають).
Підключення пристроїв до хост-адаптера здійснюється за допомогою 40-провідного плоского кабелю, до якого можна приєднати два вінчестери. Для коректної адресації пристроїв один з вінчестерів повинен бути встановлений у режим Master (ведучий), інший - у режим Slave (ведомий). Режим роботи диска задається за допомогою перемичок, розташованих як правило біля сигнального рознімання вінчестера (рис.40.10)
Рисунок 40.10 – Інтерфейс IDE
Основними причинами швидкого і широкого поширення нового інтерфейсу послужили невисока ціна пристроїв, простота їхньої установки й експлуатації, а також високий рівень сумісності пристроїв IDE. Специфікація АТА уступає по швидкості обміну з дисками і ряду інших параметрів інтерфейсу SCSI, однак для більшості користувачів продуктивність відіграє меншу роль, у порівнянні із сумісністю, простотою і вартістю пристроїв.
Обмеження АТА
Початкова версія стандарту IDE забезпечувала можливість підключення до комп'ютера чотирьох вінчестерів і дозволяла обмінюватися даними з диском на швидкості до 10 Мбайт/сек, однак реальна швидкість обмежувалася насамперед можливостями самого вінчестера. Підключення чотирьох пристроїв, передбачене специфікацією IDE, у комп'ютерах сімейства IBM PC AT, у специфікації ATA/IDE реалізовано не було. Крім того, спільне використання стандарту ATA і програмного інтерфейсу Int 13 BIOS обмежувало розмір дискових пристроїв 528Мб. Природу цього обмеження, зв'язану з форматами чисел, використовуваних для адресації голівок, секторів і циліндрів вінчестера (CHS-адреса) у стандарті IDE і BIOS, можна зрозуміти з приведеної нижче таблиці 40.2, що ілюструє взаємодію операційної системи з диском IDE.
Таблиця 40.2 – Характеристики IDE
Іншим істотним обмеженням стандарту IDE/ATA є неможливість підключення до контролера IDE яких-небудь інших пристроїв, за винятком вінчестерів.
Властиві інтерфейсу IDE/ATA обмеження гальмували розвиток недорогих комп'ютерних систем, розрахованих на масового користувача, у зв'язку з чим цілий ряд фірм почав спроби розширення можливостей класичного IDE. Найбільших успіхів на цьому шляху домоглася компанія Western Digital, що розробила специфікацію Enhanced IDE (EIDE), що дозволяє використовувати диски, розмір яких перевищує 528 Мб, і реальну можливість підключення, що забезпечила, до комп'ютера до чотирьох пристроїв IDE (не тільки вінчестерів, але і приводів CD-ROM чи стриммерів).
Іншим цікавим варіантом розвитку інтерфейсу IDE є технологія Fast ATA, розроблена компанією Seagate Technology за підтримкою фірми Quantum. Ця технологія спрямована в першу чергу на підвищення швидкості обміну даними з дисковими пристроями і не підтримує можливість підключення CD-ROM чи стриммерів, але забезпечує більш високий рівень сумісності за рахунок відповідності широко розповсюдженим промисловим стандартам.
Enhanced IDE. Технологія Enhanced IDE компанії Western Digital була розроблена в результаті аналізу потреб сучасного ринку ПК. У 1984 році компанія Western Digital створила контролери дисководів (WD1002) і вінчестерів (ST506), що були використані фірмою IBM при розробці комп'ютера IBM PC AT. Успіх архітектури АТ привів до значного розширення ринку IBM-сумісних ПК і зробив контролери Western Digital стандартом de facto.
У процесі становлення ринку персональних комп'ютерів фірма Western Digital прийшла до висновку про необхідність інтеграції електроніки контролера АТ і дискового пристрою. У результаті співробітництва з Compaq Computer Corporation був розроблений інтерфейс IDE (Integrated Drive Electronics), називаний також АТА (AT Bus attachment). Перші промислові пристрої на базі IDE/ATA були випущені в 1986 році.
Продовжуючи лідирувати в сфері IDE-пристроїв, компанія Western Digital запропонувала розширення інтерфейсу IDE. Нова специфікація - Enhanced IDE - підвищує швидкість обміну з диском, допускає застосування більш швидкісних дисків і забезпечує можливість установки в комп'ютері до чотирьох пристроїв IDE. Крім того, Enhanced IDE дозволяє підключати до контролера не тільки вінчестери, але й інші пристрої (приводи CD-ROM, стриммери), що підтримують специфікацію ATAPI (AT Attachment Packet Interface). Ця специфікація визначає інтерфейс із приводами CD-ROM і іншими недисковими пристроями, що дозволяє використовувати стандартні контролери і кабелі. Стандарт ATAPI одержав широку підтримку серед виробників CD-ROM-пристроїв і розроблювачів операційних систем, що ще більш розширило сферу поширення інтерфейсу IDE/ATA.
Специфікація EIDE дозволяє позбутися від цілого ряду обмежень, властивому інтерфейсу IDE/ATA. Таке розширення забезпечує істотний ріст можливостей пристроїв довгострокового збереження інформації без росту цін, ускладнення використання і втрати сумісності. Обмеження, властиві IDE, у порівнянні з іншими інтерфейсами (такими, як SCSI) не загрожують домінуванню IDE на сучасному ринку недорогих систем. Однак підвищення продуктивності процесорів, розробка нових ОС і високі запити сучасних додатків до дискового простору привели до того, що стандарт IDE уже не може задовольняти всім сучасним вимогам. Істотно і те, що стандартний інтерфейс IDE менш гнучкий і більш обмежений у порівнянні з SCSI:
Технологія Enhanced IDE дозволяє позбутися від основних обмежень стандарту IDE/ATA:
• подолати граничний розмір диска у 528Мб;
• збільшити швидкість обміну з диском;
• підтримка чотирьох пристроїв;
• підключення приводів CD-ROM і стримерів.
Абревіатура SCSI розшифровується, як Small Computer System Interface. Це універсальний інтерфейс, що використовувався для підключення пристроїв різного типу до персонального комп'ютера і створений на основі стандарту SASI (Shugart Associates System Interface). Інтерфейс SCSI головним чином призначений для підключення високошвидкісних жорстких дисків до високопродуктивних ПК, таких, як робочі станції і мережні сервери. SCSI є не тільки дисковим, але і системним інтерфейсом, тобто дозволяє підключати пристрої самих різних типів, зокрема принтери і сканери. Шина підтримує в цілому від 7 до 15 пристроїв. Існують також багатоканальні адап-тери, які забезпечують підтримку від 7 до 15 пристроїв на кожному каналі.
Один з пристроїв – основний (host) адаптер (рис. 40.11), виконує роль сполучної ланки між шиною SCSI і системною шиною персонального комп'ютера. Шина SCSI взаємодіє не з самими пристроями (наприклад, з жорсткими дисками), а з вбудованими в них контролерами.
Як уже згадувалося, шина SCSI може забезпечити роботу підключених до неї модулів, кожному з яких привласнюється ідентифікаційний номер – SCSI ID. Один з модулів є платою адаптера, встановленою в комп'ютері; останні сім – периферійними пристроями. До одного і того ж основного адаптера можна підк-лючати жорсткі диски, накопичувачі на магнітній стрічці, CD ROM, сканери та інші пристрої (не більше 7 або 15). Оскільки в більшості комп'ютерів можна встановлювати до чотирьох основних адаптерів, а до кожної шини SCSI можна підключати до 15 периферійних пристроїв, то загальна кількість пристроїв може досягати 60! Більше того, існують також двоканальні адаптери, що дозволяють подвоїти це число.
Рисунок 40.11 – Інтерфейс SCSI та види його конекторів
Будучи "швидким" інтерфейсом, SCSI добре підходить для високопродуктивних робочих станцій, серверів або інших систем, яким життєво необхідний ефективний інтерфейс для пристроїв зберігання даних. Версія інтерфейсу Ultra4 (Ultra320) SCSI підтримує швидкість передачі даних до 320 Мбайт/с. Швидший інтерфейс Ultra5 (Ultra640), дозволяє передавати дані із швидкістю 640 Мбайт/с. Порівняйте це з показниками 133 Мбайт/с (ATA 6) і 150 Мбайт/с нового інтерфейсу Serial ATA.
Інтерфейс SCSI прийнятий як стандарт і використовується практично у всіх високорівневих РС – сумісних комп'ютерах. Основний адаптер SCSI або встановлюється в один з роз'ємів, або вмонтовується на системній платі. Така конструкція на перший погляд нагадує інтерфейс IDE, оскільки диск SCSI підключається до системної плати за допомогою одного єдиного кабелю. Істотна різниця полягає в тому, що до SCSI можна підключити до семи пристроїв (причому не обов'язково жорстких дисків), а до IDE – два, і їх вибір дуже обмежений. Крім того, кількість пристроїв різного типу (крім жорстких дисків), які підтримуються інтерфейсом SCSI, значно більше. До пристроїв АТА зазвичай відносяться: жорсткий диск, накопичувач CD ROM АТА типу, накопичувач на магнітній стрічці, дисковод SuperDisk моделей LS 120 або LS 240, Zip дисковод і тому подібне Використання SCSI спрощує модернізацію систем, забезпечуючи підключення і нормальне функціонування практично будь-якого накопичувача SCSI, створеного стороннім виробником.
Це стандарт високошвидкісної локальної послідовної шини, розроблений фірмами Apple та Texas Instruments, який є частиною стандарту SCSI-3. Шина ІЕЕЕ 1394 призначена для обміну цифровою інформацією між шиною розширення РСІ та іншими пристроями, зокрема жорсткими дисками, пристроями обробки аудіо- і відеоінформації та ін. Вона також ідеально підходить для роботи мультимедійних додатків у реальному часі.
Шина ІЕЕЕ 1394 передає дані зі швидкістю 12,5; 25; 50; 100 та 200 Мбайт/с, а під час роботи з окремими файлами – до 1 Гбіт/с. Пакетний режим передачі інформації забезпечує її високу швидкість. Для передачі інформації використовується простий 6-провідний кабель. Дві різні пари ліній кабелю призначені для передачі тактових імпульсів та інформації, а дві лінії є лініями живлення. Шина повністю підтримує технологію Plug and Play, в тому числі забезпечує можливість “гарячого” підключення – встановлення і вилучення компонентів без вимкнення живлення комп’ютера.
Шина побудована за розгалуженою топологією і дає можливість використовувати до 63 вузлів у ланцюжку. До кожного вузла, в свою чергу, можна під'єднати до 16 пристроїв. Додаткове підключення 1023 шинних перемичок дає змогу під'єднати понад 64 000 вузлів. Для передачі сигналів без перекручень довжина стандартного кабелю, який з'єднує два вузли, не повинна перевищувати 4,5м. До шини ІЕЕЕ 1394 можна під'єднувати практично всі пристрої, здатні працювати з SCSI. До них належать накопичувачі на жорстких і оптичних дисках, CD – ROM, DVD – диски, цифрові відеокамери, пристрої запису на магнітну стрічку та інші високошвидкісні периферійні пристрої. Адаптери ІЕЕЕ 1394 випускаються для шини РСІ. Починаючи з Windows 98, у наступних версіях Windows додаються драйвери для портів ІЕЕЕ 1394. Фірма Intel згідно із специфікацією РС98 і РС99 планує повністю замінити шину ISA шиною USB для підключення низько-швидкісних периферійних пристроїв вводу/виводу і шиною ІЕЕЕ 1394 для підключення пристроїв зберігання інформації CD–ROM, HDD та інших, а також введення відеоданих.
Рисунок 40.12 – Контролер та роз'єми шини ІЕЕЕ 1394
Основними засобами комунікації в сучасних ПК, є послідовні і паралельні порти.
Послідовні порти (вони ж комунікаційні або COM порти) спочатку використовувалися пристроями, яким була потрібна двонаправлена взаємодія з системою. Сюди відносяться модеми, миші, сканери, дігітайзери і будь-які інші пристрої, які "говорять" з ПК і отримують відповідну "відповідь". Нові послідовні порти дозволяють здійснювати високошвидкісну двонаправлену передачу даних.
Асинхронний послідовний інтерфейс – це основний тип інтерфейсу, за допомогою якого здійснюється взаємодія між комп'ютерами (рис. 40.13). Термін асинхронний означає, що під час передачі даних не використовуються ніякі синхронізуючі сигнали і окремі символи можуть передаватися з довільними інтервалами.
Кожному символу, що передається через послідовне з'єднання, повинен передувати стандартний стартовий сигнал, а завершувати його передачу повинен стоповий сигнал.
Стартовий сигнал – це нульовий біт, що називається стартовим бітом. Він повинен повідомити приймаючий пристрій про те, що наступні вісім біт є байт даних. Після символу передаються один або два стопових біта, таких, що сигналізують про закінчення передачі символу. У приймаючому пристрої символи розпізнаються по появі стартових і стопових сигналів.
Термін «послідовний» означає, що передача даних здійснюється по одиночному провідникові, а біти при цьому передаються послідовно, один за другим.
Хоча деякі інші інтерфейси комп'ютера — такі як Ethernet, Firewire і USB – також використовують послідовний спосіб обміну, назва «Послідовний порт» закріпилася саме за портом, що має стандарт RS-232c.
Найчастіше використовуються D-подібні роз'єми: 9- і 25-контактні (DB-9 і DB-25 відповідно). Раніше використовувалися також DB-31 і круглі восьмиконтактні DIN-8. Максимальна швидкість передачі зазвичай становить 115200 біт/с.
Рисунок 40.13 – Розєми паралельних та послідовних портів
Паралельний порт використовується для підключення до комп'ютера принтера, звідси і пішла його назва – LPT (Line Printer Terminal – порт порядкового принтера)або ж порт Centronics. Традиційний, він же стандартний, LPT-порт (що називається ще SSP-портом) орієнтований на виведення даних, хоча з деякими обмеженнями дозволяє і вводити дані. Проте, незважаючи на таку вузьку спеціалізацію, паралельні порти почали застосовуватися як відносний швидкий інтерфейс передачі даних між пристроями.
В основі даного стандарту лежить інтерфейс Centronics і його розширені версії (ECP, EPP). Для одночасної передачі байта інформації використовується вісім ліній. Цей інтерфейс відрізняється високою швидкодією, часто застосовується для підключення до комп'ютера принтера, а також для з'єднання комп'ютерів.
Базовий інтерфейс Centronics є односпрямованим паралельним інтерфейсом, містить характерні для такого інтерфейсу сигнальні лінії (8 для передачі даних, строб, лінії стану пристрою).
Дані передаються в один бік: від комп'ютера до зовнішнього пристрою. Але повністю односпрямованим його назвати не можна. Так, 4 зворотні лінії використовуються для контролю за станом пристрою. Centronics дозволяє підключати один пристрій, тому для спільного чергового використання декількох пристроїв потрібно додатково застосовувати селектор.
Швидкість передачі даних може варіюватися і досягати 1,2 Мбіт/с.
Істотним недоліком паралельного порту є те, що з'єднувальні провідники не можуть бути дуже довгими. У разі великої довжини сполучного кабелю в нього доводиться вводити проміжні підсилювачі сигналів, оскільки інакше виникає багато перешкод.
Остаточна стандартизація паралельного порту збіглася з початком впровадження інтерфейсу USB, який дозволяє підключати також і комбіновані апарати (сканер-принтер-копір) і забезпечує більш високу швидкість друку і надійну роботу принтера. Також, альтернативою паралельному інтерфейсу є мережевий інтерфейс Ethernet.
Периферійна шина USB призначена для периферійних пристроїв поза корпусом РС.
USB (Universal Serial Bus – універсальна послідовна шина) є промисловим стандартом розширення архітектури ПК, орієнтованим на інтеграцію з телефонією і пристроями побутової електроніки. Версія 1.0 була опублікована на початку 1996 року, більшість пристроїв підтримує версію 1.1, яка вийшла восени 1998 року, – в ній були усунуті знайдені проблеми першої редакції. Весною 2000 року опублікована специфікація USB 2.0, в якій передбачено 40-кратне підвищення пропускної здатності шини. Спочатку (у версіях 1.0 і 1.1) шина забезпечувала дві швидкості передавання інформації: повна швидкість FS (full speed) – 12 Мбіт/с і низька швидкість LS (Low Speed) – 1,5 Мбіт/с. У версії 2.0 визначена ще й висока швидкість HS (High Speed) – 480 Мбіт/с, яка дозволяє суттєво розширити обсяг пристроїв, які підключаються до шини. В одній і тій же системі можуть бути присутні і одночасно працювати пристрої зі всіма трьома швидкостями. Шина з використанням проміжних хабів позволяє з’єднувати пристрої, віддалені від комп’ютера на відстань до 25 м.
USB забезпечує обмін даними між хост-комп’ютером і множиною периферійних пристроїв (ПП). Згідно з специфікацією USB, пристрої (devices) можуть бути хабами, функціями або їх комбінацією. Пристрій-хаб (hub) лише забезпечує додаткові точки підключення пристроїв до шини. Пристрій-функція (function) USB надає системі додаткові функціональні можливості, наприклад підключення до ISDN, цифровий джойстик, акустичні колонки з цифровим інтерфейсом і т. п. Комбінований пристрій (compound device), який містить декілька функцій, подається як хаб з підключеними до нього декількома пристроями. Пристрій USB повинно мати інтерфейс USB, який забезпечує повну підтримку протоколу USB, виконання стандартних операцій (конфігурація і скидання) і подання інформації, яка описує пристрій. Роботою всієї системи USB керує хост-контролер (host controller), який є програмно-апаратною підсистемою хост-комп’ютера. Шина дозволяє підключати, конфігурувати, використовувати і відмикати пристрої під час роботи хосту і самих пристроїв.
Шина USB є хост-центровою: єдиним ведучим пристроєм, який керує обміном є хост-комп’ютер, а всі приєднані до неї периферійні пристрої – виключно ведені. Фізична топологія шини USB – багатоярусна зірка. Її вершиною є хост-контролер, об’єднаний з кореневим хабом (root hub), як правило двопортовим. Хаб є пристроєм-розгалужувачем, він може бути і джерелом живлення для підключених до нього пристроїв. До кожного порту хаба може безпосередньо підключатись периферійний пристрій або проміжний хаб; шина допускає до п’яти рівнів каскадів хабів (не враховуючи кореневого). Оскільки комбіновані пристрої всередині себе місять хаб, їх підключення до хабу шостого ярусу вже недопустиме. Кожний проміжний хаб має декілька низхідних (downstream) портів для підключення периферійних пристроїв і один висхідний (upsteam) порт для підключення до кореневого хаба або низхідного порту вищого за ієрархією хаба. Логічна топологія USB – просто зірка: для хост-контролера хаби створюють ілюзію безпосереднього підключення кожного пристрою. На відміну від шин розширення (ISA, PCI, PC Card), де програма взаємодіє з пристроями за допомогою звернень за фізичними адресами комірок пам’яті, портів введення-виведення, переривань і каналів DMA, взаємодія додатків з пристроями USB виконується лише через програмний інтерфейс. Цей інтерфейс, який забезпечує незалежність звернень до пристроїв, пропонується системним ПЗ контролера USB.
На відміну від громіздких дорогих шлейфів паралельних шин АТА і особливо шини SCSI з її різноманітністю роз’ємів і складністю правил підключення, кабельний набір USB простий. Кабель USB містить одну екрановану виту пару з імпедансом 90 Ом для сигнальних кіл і одну неекрановану для подання живлення (+5 В), допустима довжина сегмента – до 5 м. Для низької швидкості може використовуватися не витий неекранований кабель довжиною до 3 м (він дешевший). Система кабелів і концентраторів USB не дає можливості помилитись при підключенні пристроїв. Для розпізнання роз’єму USB на корпусі пристрою ставиться стандартне символічне позначення. Гнізда типу «А» встановлюються лише на низхідних портах хабів, вилки типу «А» - на шнурах периферійних пристроїв або вищих портів хабів. Гнізда і вилки типу «В» використовуються лише для шнурів, які від’єднуються від периферійних пристроїв висхідних портів хабів. Окрім стандартних роз’ємів, показаних на рисунку 40.14, використовуються і мініатюрні варіанти (рис. 17.14 в,г). Хаби і пристрої забезпечують можливість «гарячого» підключення і відключення. Для цього роз’єми забезпечують більш раннє з’єднання і пізнє від’єднання кіл живлення відносно сигнальних, крім того, передбачений протокол сигналізації підключення і відключення пристроїв. Призначення виводів роз’ємів USB, нумерація контактів показана на рис. 40.15. Всі кабелі USB «прямі» – в них з’єднуються однойменні кола роз’ємів.
Рисунок 40.14 – Різновиди роз'ємів USB
Рисунок 40.15 – Призначення контактів USB
Швидкість передавання даних (LS, FS або HS) вибирається розробником периферійного пристрою відповідно до потреб цього пристрою. Реалізація низьких швидкостей для пристрою коштує дещо дешевше (прийомопередавачі простіші, а кабель для LS може бути і неекранованою витою парою). Якщо в попередній версії USB пристрої можна було, не задумуючись, підключати будь-який вільний порт будь-якого хаба, то в USB 2.0 при наявності пристроїв і хабів різних версій з’явились можливості вибору між оптимальними, неоптимальними і непрацездатними конфігураціями.
Хаби USB 1.1 зобов’язані підтримувати швидкості FS і LS, швидкість підключеного до хабу пристрою визначається автоматично за різницею потенціалів сигнальних ліній. Хаби USB1.1 при передаванні пакетів є просто повторювачами, які забезпечують прозорий зв’язок периферійного пристрою з контролером. Передавання на низькій швидкості досить неефективно використовують потенційну пропускну здатність шини: за той час, на який вони займають шину, високошвидкісний пристрій може передати даних у 8 раз більше. Але заради спрощення і здешевлення всієї системи на ці втрати пішли, а за розподіленням смуги між різними пристроями слідкує планувальник транзакцій хост-контролера.
В специфікації 2.0 швидкість 480 Мбіт/с повинна затримуватись з попередніми, але при такому співвідношенні швидкостей зміни на FS і LS займуть можливу смугу пропускання шини. Щоб цього не сталося, хаби USB 2.0 набувають властивості комутаторів пакетів. Якщо до порту такого хаба підключений високошвидкісний пристрій (або аналогічний хаб), то хаб працює в режимі повторювача, і транзакція з пристроєм на HS займає весь канал до хост-контролера на весь час свого виконання. Якщо ж до порту такого хабу USB 2.0 підключається пристрій або хаб 1.1, то по частині каналу до контролера пакет проходить на швидкості HS, запам’ятовується в буфері хаба, а до старого пристрою або хабу йде вже на його швидкості FS або LS. При цьому функції контролера хаба 2.0 (включно з кореневим) ускладнюються.
Кожен пристрій на шині USB (їх може бути до 127) при підключенні автоматично отримує свою унікальну адресу. Логічно пристрій являє собою набір незалежних кінцевих точок (endpoint, EP), з якими хост-контролер (і клієнтське ПЗ) обмінюються інформацією. Кожна кінцева точка має свій номер і описується такими параметрами:
необхідна частота доступу до шини і допустимі затримки обслуговування;
необхідна смуга пропускання каналу;
вимоги до обробки посилок;
максимальні розміри переданих і прийнятих пакетів;
тип передавання;
напрям передавання (для передавання масивів і ізохронного обміну).
Архітектура USB допускає чотири базові типи передавання даних:
Керувальні посилки (control transfers) використовуються для конфігурування пристроїв під час їх підключення і для управління пристроями в процесі роботи. Протокол забезпечує гарантовану доставку даних.
Передавання масивів даних (bulk data transfers) – це передавання без будь-яких зобов’язань щодо затримки доставки і швидкості передавання. Передавання масивів можуть займати всю смугу пропускання шини, вільну від передавання інших типів. Пріоритет цього передавання найнижчий, вони можуть призупинятись при сильному завантажені шини. Доставка гарантована – при випадковій помилці виконується повтор. Передавання масивів доречні для обміну даними з принтерами, сканерами, пристроями зберігання і т. п.
Переривання (interrupt) – короткі передачі, які мають спонтанний характер і повинні обслуговуватись не повільніше, ніж того потребує пристрій. Межа часу обслуговування встановлюється в діапазоні 10 – 225 мс для низької, 1 – 225 мс для повної швидкості, для високої швидкості можна замовити і 125 мкс. При випадкових помилках обміну виконується повтор. Переривання використовуються, наприклад, при введені символів з клавіатури або для передавання повідомлення про переміщення миші.
Ізохронні передачі (isochronous transfers) – неперервні передачі в реальному часі, які займають попередньо узгоджену частину пропускної здатності шини з гарантованим часом затримки доставки. Дозволяють на повній швидкості організувати канал зі смугою 1,023 Мбайт/с (або два по 0,5 Мбайт/с), зайнявши 70% доступної смуги (залишок можна заповнити і менш ємнісними каналами). На високій швидкості кінцева точка може отримати канал до 24 Мбайт/с (192 Мбіт/с). У випадку виявлення помилки ізохронні дані не повторюються – недійсні пакети ігноруються. Ізохронні передачі потрібні для потокових пристроїв: відеокамер, цифрових аудіопристроїв (колонки USB, мікрофон), пристроїв відтворення і запису аудіо- і відеоданих (CD і DVD). Відеопотік (без компресії) шина USB має можливість передавати лише на високій швидкості.
Смуга пропускання шини розподіляється між всіма встановленими каналами. Виділена смуга закріплюється за каналом, і, якщо встановлення нового каналу потребує такої смуги, яка не вписується у вже існуючий розподіл, запит на виділення каналу відкидається.
Архітектура USB передбачає внутрішню буферізацію всіх пристроїв, причому чим більшої смуги пропускання потребує пристрій, тим більше має бути його буфер. Шина USB повинна забезпечувати обмін з такою швидкістю, щоб затримка даних в пристрої, викликана буферізацією, не перевищувала декількох мілісекунд.
Основні області використання USB
Пристрої введення – клавіатури, миші, трекболи, планшетні показники і т.п. Тут USB надає для різних пристроїв єдиний інтерфейс. Доцільність використання USB для клавіатури неочевидна, хоча в парі з мишею USB, (яка підключається до порта хаба, вмонтованого в клавіатуру), скорочується кількість кабелів, які тягнуться від системного блока на стіл користувача.
Принтери. USB 1.1 забезпечує приблизно ту ж швидкість, що і LPT-порт в режимі ECP, але при використанні USB не виникає проблем з довжиною кабелю і підключенням декількох принтерів до одного комп’ютера (правда необхідні хаби). USB 2.0 дозволяє прискорити друк в режимі високої роздільної здатності, за рахунок скорочення часу на передавання великих масивів даних. Однак є проблема зі старим ПЗ, яке безпосередньо працює з LPT-портом на рівні регістрів, – на принтер USB воно друкувати не зможе.
Сканери. Використання USB дозволяє відмовитись від контролерів SCSI або від заняття LPT-порта. USB 2.0 при цьому дозволяє також підвищити швидкість передавання даних.
Аудіопристрої – колонки, мікрофони, головні телефони (наушники). USB дозволяє передавати потоки аудіоданих, достатні для забезпечення найвищої якості. Передавання в цифровому вигляді від самого джерела сигналу (мікрофона з вбудованим перетворювачем і адаптером) до приймача і цифрова обробка в хост-комп’ютері дозволяють позбавитись від наводок, які властиві аналоговому передаванню аудіосигналів. Використання цих аудіокомпонентів дозволяє в ряді випадків позбавитись від звукової карти комп’ютера – аудіокодек (АЦП і ЦАП) виводиться за межі комп’ютера, а всі функції обробки сигналів (мікшер, еквалайзер) реалізовуються центральним процесором лише програмно. Аудіопристрої можуть і не мати власне колонок і мікрофона, а обмежитись перетворювачами і стандартними гніздами («джеками») для підключення звичайних аналогових пристроїв.
Музичні синтезатори і MIDI-контролери з інтерфейсом USB. Шина USB дозволяє комп’ютеру обробляти потоки багатьох каналів MIDI (пропускна здатність традиційного інтерфейсу MIDI вже суттєво нижча можливостей комп’ютера).
Відео- і фотокамери. USB 1.1 дозволяє передавати статичні зображення будь-якої роздільної здатності за прийнятний час, а також передавати потік відеоданих (живе відео) з достатньою частотою кадрів (25 – 30 кбіт/с) лише з невисокою роздільною здатністю або стисненням даних, від якого, звичайно, знижується якість зображення. USB 2.0 дозволяє передавати потік відеоданих з високою роздільною здатністю без стиснення ( і втрати якості). З інтерфейсом USB випускають як камери, так і пристрої захоплення зображення з телевізійного сигналу і TV-тюнери.
Комунікації. З інтерфейсом USB випускають різноманітні модеми, включаючи кабельні і xDSL, адаптери високошвидкісного інфрачервоного зв’язку (IrDA FIR) – шина дозволяє здолати межу швидкості COM-порта (115,2 кбіт/с) не підвіщуючи завантаження центрального процесора. Випускаються і мережеві адаптери Ethernet, які підключаються до комп’ютера по USB. Для з’єднання декількох комп’ютерів в локальну мережу випускаються спеціальні пристрої, які виконують комутацію макетів між комп’ютерами. Об’єднання більше двох комп’ютерів ускладнюється і топологічними обмеженнями USB: довжина сегмента кабелю не повинна перевищувати 5 м, а використовувати хаби для збільшення довжини неефективно (кожен хаб дає всього 5 м додаткового віддалення).
Перетворювач інтерфейсів дозволяють через порт USB, який міститься зараз практично на всіх комп’ютерах, підключати пристрої з найрізноманітнішими інтерфейсами: Centronics і IEEE 1284 (LPT-порти), RS-232C (емуляція UART 16550A – основи COM-портів) і інші послідовні інтерфейси (RS-422, RS-485, V.35…), емулятори портів клавіатури і навіть Game-порта, перехідники на шину ATA, ISA, PC Card і будь-які інші, для яких достатньо продуктивності.
Також відомий як: роз'єм для навушників. Це найпоширеніший аудіороз'єм у світі. На більшості комп'ютерів, планшетів та телефонів виконаний як 3,5 мм роз'єм і з'єднує більшість дротових навушників, колонок із комп'ютером або гаджетом. Причому комп'ютери зазвичай мають два і більше аудіо гнізда для мікрофона і навушників, колонок для формату звуку 3.1, 5.1 або навіть 7.1. А мобільні гаджети мають лише один порт для гарнітури.
Також відомий як Gigabit Ethernet, 10/1000 Ethernet, LAN порт. Ethernet (RJ-45) орієнтований в першу чергу на бізнес-сегмент пристроїв - сервери і комутатори, ноутбуки і комп'ютери. Цей порт дозволяє безпосередньо підключатися до дротових мереж. Поки Wi-Fi продовжує збільшувати швидкість бездротового з'єднання, Ethernet вже давно працює на швидкості 1Гбіт/с по витій парі. Мати таку швидкість дійсно дуже зручно, адже швидкість передачі даних у наш час грає вирішальну роль, якщо є можливість вибору інтерфейсу підключення до Інтернету. Ethernet у сфері бізнесу об'єднує мільйони офісних комп'ютерів у локальну мережу, передає десятки гігабіт трафіку у найбільших дата-центрах.
У домашніх умовах, якщо наявні більш ніж один комп'ютер, телевізор з LAN портом, варто задуматися про організацію локальної мережі. Таку швидкість передачі даних і при цьому стабільність мережі та відсутність перешкод не запропонує жодний мережевий стандарт із доступних сьогодні.