Розділ 7 Інтерфейси периферійних пристроїв

      • 7.1 Загальні поняття про інтерфейси
      • 7.2 Послідовні інтерфейси
      • 7.3 Паралельні інтерфейси
      • 7.4 Інтерфейс типу USB
      • 7.5 Інтеревейс FireWire або IEEE 1394
      • 7.6 Інтерфейс PCI Express
      • 7.7 Інтерфейс SCSI
      • 7.8 Інтерфейси IDE/ATA і SATA
7.1 Загальні поняття про інтерфейси

Як відомо, на системній платі є рознімані слотів розширення під’єднані до системної шини, у які можуть бути встановлені плати пристроїв керування й узгодження, що інакше називають інтерфейсами або адаптерами зовнішніх пристроїв, таких як комунікаційні пристрої, принтери, модеми та факси-модеми, мережеві плати , звукові і графічні плати і таке інше. Ці плати, інколи, ще називаються контролерами тому, що найважливіша встановлена на них мікросхема носить цю назву.

Існують універсальні плати з декількома контролерами для декількох периферійних пристроїв, наприклад, для підключення миші, принтера, зовнішнього модему, монітора. Такі плати дозволяють заощадити слоти для інших адаптерів, але разом із тим це дуже вузьке місце, оскільки вихід із ладу одного з контролерів на такій платі спричиняє за собою необхідність її заміни на таку ж, з аналогічними характеристиками пристроїв, часткову або повну ревізію і переконфігурування ПК із заміною деяких компонентів. Розташовуючи адаптери окремими платами можна легше здійснити заміну компонента, що вийшов із ладу, або модернізацію конфігурації ПК чи системи.

Рознімачі слотів розширення на системній платі відрізняються типом системної або локальної шини. У IBM-подібних ПК застосовуються такі шини:

  • ISA {industrial Standart Architecture);
  • EISA (Enhanced ISA);
  • MCA (Micro Chaiinel Architecture);
  • VL-Bus або VESA-Bus або VESA Local Bus (VESA - Video Electronic Slandans Assosiation).
  • IDE (Integrated Drive Electronics)/ ATA (AT Attachment)
  • PATA (Parallel ATA)
  • SCSI (Small Computer Systems Interface)
  • PCI-E (PCI Express)
  • USB (Universal Serial Bus)
  • FireWire (послідовна високошвидкісна шина стандартизованапід кодом IEEE-1394)
  • Базовими елементами ПК є шини і сукупність з’єднувальних провідників. Відомі системні, локальні і периферійні шини, які відрізняються шириною (bus wide). Мається на увазі спроможність шини, магістралі даних переносити одночасно групу даних. Такі магістралі, (шини, порти) називаються паралельними, якщо вони спроможні передавати одночасно 8, 16, 32, 64 інформаційних біта або І, 2, 4,8, байтів. На відміну від паралельних послідовні (serial) шини або порти можуть одночасно пересилати лише один біт інформації. У залежності від ширини шини, робочої частоти і режимів роботи байти даних можуть циркулювати по шині (включаючи й апаратні засоби - різноманітні буфери, контролери, підсилювачі) швидше, або повільніше, за прийнятий часовий проміжок у 1 секунду (с).

    Швидкість обміну даними між центральним процесором із підсистемою пам'яті й пристроями введення-виведення (ПВВ): принтерами, відеопідсистемами, ПЗП визначається, у першу чергу, швидкісними можливостями системної і периферійної шин.

    Периферійні шини, які частіше всього називають інтерфейсами периферійних пристроїв надходять, до користувача у вигляді плати адаптера і дискети з драйвером. Користувачу залишається тільки знайти периферійний пристрій необхідного типу і правильно його під" єднати до плати. При цьому, в більшості випадків нічого несподіваного не відбувається. Проте досить швидко користувач помічає, що продуктивность адаптера не відповідає його сподіванням. Тому периферійну шину необхідно розглядати в контексті системної шини, з урахуванням взаємодії їх характеристик.

    Периферійна шина як інтерфейс може бути організована або на самій системній платі, де монтуються контролер і відповідний рознімач, або на платі адаптера. Всі складові частини периферійної шини, так чи інакше відповідальні за її функціональні можливості, підключаються до ПК за допомогою т.зв. портів введення-виведення. Порт це і є інтерфейс, що дозволяє управляти і синхронізувати обмін між процесором, ОЗП й ПЗП.

    Перед початком роботи всі порти ініціалізуються, тобто програмуються за допомогою того або іншого програмного забезпечення, наприклад, драйвера або BIOS. При програмуванні портів процесор звертається до них відповідно до привласнених їм адрес. Часто, рознімачі паралельного і послідовного інтерфейсів для підключення пристроїв називають LPT (line printer) і COM (communication) «портами», відповідно. Це т.зв. "логічні" імена, а для реальних, регістрів, призначених для програмування, є фізичні адреси звертання. Наприклад, для паралельних пристроїв LPT1, LPT2, LPT3 ці адреси відповідають 378 - З7F. 378 - 27F, ЗВС -ЗВЕ, а для послідовних СОМ І. COM2, COM3 COM4 - 3F8 -3FF, 2F8 - 2FF, ЗЕ8 - 3EF, 2Е8 - 2EF.

    7.2 Послідовні інтерфейси

    Головна характеристика послідовного інтерфейсу - швидкість передачі інформації, що вимірюється в бодах. Один бод- це один біт інформації, переданий у секунду.

    Існує також параметр послідовного інтерфейсу який визначає число біт, що кодують один символ. Розрізняють варіанти: 7 або 8 біт. Більшість послідовних інтерфейсів здійснює передачу лише основних символів таблиці кодів ASCII, що мають довжину сім біт.

    Наступним параметром послідовного інтерфейсу є контроль парності, або код виявлення помилки. Тип контролю звичайно відзначається своєю початковою буквою. На практиці вказують букви: Е для контролю по парності, П для контролю по непарності, N без контролю. Нарешті визначається число біт для проміжку між символами. Кожний символ даних оточуються бітами "початок" і "кінець" подібно своєрідним дужкам. Ми можемо управляти числом цих біт затримки, виділяючи для цього один або два з них.

    Існує два основних застосування послідовного порту в наших ПК. Перше це зв'язок із принтером. Але тільки з тими, що пристосовані для роботи з послідовним інтерфейсом. А це порівняно невеличке число принтерів.

    Інше, найбільше часте застосування послідовного інтерфейсу - зв'язок комп'ютера з телефонною мережею. Але щоб це здійснити, необхідно мати ще ряд пристроїв. Ми повинні мати модем, що перекладає сигнали комп'ютера в телефонні сигнали, тобто біти в звукові еквіваленти, і, навпаки, звукові хвилі демодулює у біти інформації для комп'ютера. Ми також повинні мати телефонну лінію, до якої можна під'єднатися, і ще програми, спроможні зрозуміти мову комп'ютера на іншому кінці телефонної лінії.

    Найбільш поширеним стандартним послідовним інтерфейсом між мікрокомп'ютерами і периферійними пристроями є інтерфейс RS-232C.

    Цей інтерфейс, визначений стандартом Асоціації електронної промисловості (Е1А), він передбачає наявність обладнання двох видів: термінального DTE и зв'язного DCE. Необхідно чітко розуміти різницю між цими видами обладнання. Термінальне обладнання, наприклад мікрокомп'ютер може надсилати і (або) приймати дані по послідовному інтерфейсу. Воно як би закінчує (terminate) послідовну лінію. Зв'язне обладнання це пристрої, які можуть забезпечити передачу даних від термінального обладнання. Наочним прикладом зв'язного обладнання є модем (модулятор-демодулятор). Він є сполучною ланкою у послідовному ланцюжку між комп'ютером і телефоною лінією. Різниця між термінальними і зв'язними пристроями розпливчаста, тому виникають деякі складності в розумінні того, до якого типу обладнання відноситься той чи інший пристрій.

    Розглянемо ситуацію з принтером. До якого обладнання його віднести? Як зв'язати два комп'ютери, коли вони обидва діють як термінальне обладнання? Для відповіді на ці питання слід розглянути фізичне з'єднання пристроїв. Виконуючи незначні зміни в лініях інтерфейсу RS-232C, можна змусити зв'язне обладнання функціонувати як термінальне. Щоб розібратись в тому, як це зробити, необхідно проаналізувати функції сигналів інтерфейса RS-232C (таблиця7.1).

    Таблиця 7.1

    Стандартний послідовний порт RS-232C має форму 25-контактного рознімача типу D (рис 7.1).

    Сигнали інтерфейса RS-232C поділяються на групи: Послідовні дані (наприклад, TXD, RXD). Інтерфейс RS-232C забезпечує два незалежних послідовних канала даних: первиний (головний) та вториний (допоміжний). Обидва канали можуть працювати в дуплексном режимі, тобто одночасно здійснюють передачу та прийом информації.

    На практиці допоміжний канал RS-232C використовується рідко, і в асинхронному режимі замість 25 ліній використовуються 9 ліній (таблиця 7.2).

    Рисунок 7.1 – Призначення ліній 25-контактного рознімана типу DВ-25 для інтерфейсу RS-232C

    Стрілками показано напрям сигналів для DTE

    Таблиця 7.2 Основні лінії інтерфейса RS-232C

    В більшості схем, в яких міститься інтерфейс RS-232C, дані передаються асинхронно, тобто у вигляді послідовності пакету даних. Кожний пакет містить один символ кода ASCII, причому іформація в пакеті достатня для його декодування без окремого сигналу синхронізації. Символи коду ASCII виражаються сімома бітами, наприклад буква А має код 1000001. Щоб передати букву А по інтерфейсу RS-232C, необхідно ввести додаткові біти, які позначають початок і кінець пакету. Крім того бажано додати зайвий біт для простого контроля помилок по паритету (парності чи непарності).

    Найбільш поширено формат, який включає в себе один стартовий біт, один біт паритета і два столових біта. Початок пакету даних завжди відмічається низьким рівнем стартового біта. Після нього йде 7 біт даних символу кода ASCII. Біт парності містить 1 або 0 так, щоб загальне число одиниць у 8-бітній групі було непарним. Останім передають два стопових біта, які представлені високим рівнем напруги. Еквівалентний ТТЛ-сигнал при передачі букви А показаний на рис.7.2.

    Рисунок 7.2 – Подання кода букви А сигнальними рівнями ТТЛ

    Таким чином, повне асинхронне слово, яке передається, складається з 11 біт (фактично дані містять тільки 7 біт) і записується у вигляді 01000001011.

    Використані в інтерфейсі RS-232C рівні сигналів відрізняються від рівней сигналів, що діють в комп'ютері. Логічний 0 (SPACE) приймають додатньою напругою в діапазоні від +3 до+25В; логічна 1 (MARK) -від'ємною напругою в діапазоні від -3 до -25 В. На рис. З показаний сигнал в тому вигляді, в якому він існує на лініях TXD і RXD інтерфейса RS-232C.

    Зсув рівня, тобто перетворення ТТЛ-рівней у рівні інтерфейса RS-232С і навпаки, виконується спеціальними мікросхемами драйвера лінії и приймача лінії.

    Рисунок 7.3 – Вид кода букви А на сигнальних лініях TXDy RXD.

    На рис.7.4 представлений типовий мікрокомп'ютерний інтерфейс RS-232С. Програмована мікросхема DD1 послідовного введення здійснює паралельно-послідовне і послідовно-паралельне перетворення даних. Мікросхеми DD2 і DD3 виконують зсув рівней для трьох вихідних сигналів TXD, RTS. DTR, а мікросхема DD4 - для трьох вхідних сигналів RXD, CTS, DSR. Мікросхеми DD2 і DD3 потребують напруги живлення ±12 В.

    Розроблено декілька нових стандартів, направлених на усування недоліків початкових специфікацій інтерфейса RS-232C. Серед них можна відмітити інтерфейс RS-422 (балансна система, яка припускає імпеданс лінії до 50 Ом), RS-423 (небалансна система з мінімальним імпедансом лінії 450 Ом) і RS-449 (стандарт з високою швидкістю даних, в якому трохи змінені функції схем і застосовується 37-контактне рознімання типу D).

    Рисунок 7.4 – Типова схема інтерфейсу RS-232C

    Інтерфейс RS-232C широко застосовується для синхронної й асинхронної передачі даних при двохточковому або багатоточковому з'єднанні периферійних пристроїв у дуплексному режимі обміну. Передача може провадитися зі стандартними швидкостями (біт/с): 50, 75, 100. 150. 300, 600, 1200, 2400, 4800... 19 200. При передачі використовуються рівні сигналів.+12 В.

    На практиці широко використовують варіант підключення, що називається "Короткозамкнута петля" (або режим "нуль модему"), при якому ланцюги пристроїв ЕОМ з'єднуються в такий спосіб (див. Табл 7.3):

    7.3 Паралельні інтерфейси

    Один із стандартних компонентів персональних комп'ютерів - являється паралельний порт. Важко знайти ПК, який його не має, і більшість додаткових адаптерів, що прикладаються до наших комп'ютерів (включаючи монохромний адаптер), плати розширення пам'яті і майже кожна багатофункціональна плата мають паралельний порт. Для додаткових плат, що ми встановлюємо в наших комп'ютерах., наявність паралельного порту настільки типово, що багато ПК мають їх два або навіть три, хоча реально не можна використовувати більше, чим один.

    Паралельний порт - це канал для виводу даних, призначений тільки для однієї мети; забезпечити зв'язок із принтером. Строго кажучи, існує два шляхи приєднання принтера до комп'ютера: через паралельний або через послідовний порти. Паралельний порт призначений винятково для принтерів. Послідовний порт може використовуватися для різних цілей, і зв'язок із принтером - тільки одна з них. Фірма IBM називає паралельний порт паралельним адаптером принтера. Він називається паралельним через метод передачі даних (про це нижче). Він називається адаптером принтера, тому що єдине для чого він використовується - для передачі даних принтеру. Ми можемо називати його адаптером або платою, або інтерфейсом, як нам подобається. Звичайно говорять порт, вкладаючи в це слово зміст - "накопичувач даних".

    Можна іноді зустріти згадування паралельного порту як інтерфейсу фірми Centronix, що встановила цей стандартний засіб зв'язку між комп'ютером і принтером. Цей інтерфейс вважається стандартним паралельним портом, тому що при передачі одного байта усі його вісім бітів передаються принтеру одночасно. Можливості такого інтерфейсу невеликі. У основному комп'ютер може послати тільки дані для друку і спеціальні керуючі сигнали, що можуть бути закодовані в самих даних. Більшість принтерів мають детально розроблений набір керуючих кодів, що передаються у процесі передачі даних. Але ці керуючі коди специфічні для кожного принтера, вони призначені винятково для форматування друкованих даних. У пристрої самого паралельного інтерфейсу є тільки один спеціальний сигнал, котрий комп'ютер може послати в принтер-сигнал ініціалізації.

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

    Найпоширенішим паралельним інтерфейсом є Ceniromcs із 25-контактним стандартним D-розніманням, за допомогою якого ви можете підключити принтер. Це повільний односпрямований периферійний інтерфейс з швидкодією, теоретично 500 кбіт/с, практично вона не доходить до 200 кбіт/с. Паралельний порт використовує електричні сигнали ТТЛ-рівня. Структурна схема адаптера паралельного порту наведена на рис.7.5.

    Широке використання отримали паралельні адаптери, в яких практично всі функції окремих ТТЛ-мікросхем об'єднані в одну, виконану за КМОН-технологією.

    Рисунок 7.5 – Структурна схема адаптера паралельного порту

    Щоб запобігти помилкам та втраті інформації при передачі даних з ТТЛ-півня, максимальна довжина кабеля для модема (або принтера) не повинна перевищувати 2-3 метри.

    Стандарт IBM визначає три порти введення-виведення з базовими адресами 03BCh, 0378h та 0278h. Вбудований паралельний порт адресу 03BCh звичайно не використовує. Замість цього, как правило, використовується базова адреса 0378h. При необхідності базову адресу можна переназначити програмним способом або за допомогою DIP-перемикачів або перемичок.

    В IBM PC-сумісних комп'ютерах за паралельними портами закріплені спеціальні логічні імена, що підтримуються системою: LPT1, LPT2, LPT3. Ім'я пристрою PRN є еквівалентним LPT1. Ці логічні імена необов'язково повинні збігатися з указаними вище адресами портів введення-виведення. При завантажені система аналізує наявність паралельних портів за кожною з трьох базових адрес. Пошук завжди виконується в такому порядку: 03BCh, 0378h, а потім 0278h. Першому знайденому паралельному порту присвоюється ім'я LPT1, другому — LPT2, третьому — LPT3. В результаті реалізації такої схеми при призначенні імен можна бути впевненим в тому, що в системі завжди буде порт LPT1 (PRN) не залежно від присвоєної йому адреси порта введення-виведення, при умові, що комп'ютер має хоча б один адаптер паралельного порту.

    Стандартний паралельний порт призначений тільки для односторонньої передачі інформації. А робота з каналами зв'язку передбачає реалізацію як передачі, так і прийому даних. В зв'язку з цим ряд розробників апаратного забезпечення відійшов від початкової схеми IBM.

    Для удосконалення паралельного інтерфейсу розроблено декілька технологій. Промисловим стандартом для подібних з'єднань є їхня підтримка у Windows 95 програмою Direct Cable Connection і спеціальним універсальним кабельним модулем (UCM, universal cable module), що дозволяє організувати двоспрямований зв'язок із швидкостями до 300 кбайт/с. Паралельний порт може бути модернізований для двоспрямованого прискореного обміну даними за допомогою програми і кабеля LapLiok або інших подібних стандартів.

    У багатьох випадках швидкість обміну залежить від виду паралельного інтерфейсу. Для восьмирозрядних інтерфейсів досяжна швидкість обміну даними біля 80 кбайт/с.

    Існують більш швидкісні версії паралельного інтерфейсу ЕРР (Enhanced Parallel Port). ECP (Extended Capabilities Port). Ці двоспрямовані інтерфейси мають швидкодію, відповідно 2 і 4 Мбайт/с, причому другий підтримує стиск і розпаковку даних і забезпечує прямий доступ до пам'яті. Інтерфейс ЕСР має також буфер для вирівнювання швидкодії при роботі в багатозадачних середовищах. Це прискорює обмін даними в тому випадку, якщо аналогічний режим роботи закладений і в самий периферійний пристрій. Обидва стандарти, завдяки специфікації, розробленої Американським інститутом з електротехніки й електроніки IEEE-1284, приблизно рівноцінні і вписуються в концепцію Windows 95 - Plug and Play.

    Порт ЕРР є двонаправленим, тобто він забезпечує паралельну передачу 8 біт в обох напрямках. Це позбавляє центральний процесор необхідності виконання інструкцій типу IN та OUT, дозволяє програмі займатись безпосередньо пересилкою даних. Порт ЕРР передає та приймає дані майже в шість разів швидше звичайного паралельного порта. Цьому також сприяє те, що порт ЕРР має буфер, що зберігає символи, які приймаються та передаються, до того моменту, коли модем або інший периферійний пристрій буде готовий їх прийняти.

    Спеціальний режим дозволяє порту ЕРР передавати блоки даних безпосередньо з ОЗП комп'ютера в периферійний пристрій та назад, минуючи процесор. Така перевага реалізується за рахунок використання каналу прямого доступу до пам'яті.

    Порт ЕРР повністю сумісний зі звичайним портом. Для використання його специфічних функцій потрібно використовувати спеціальне програмне забезпечення.

    Порт ЕСР, розроблений компаніями Microsoft, Hewlett-Packard та рядом інших, забезпечує ще більшу порівняно з портом ЕРР швидкість передачі. Як і в ЕРР, в порту ЕСР збережений той же режим обміну даними через канал прямого доступу до пам'яті. Також реалізований режим роботи, який дозволяє знизити завантаження центрального процесора при передачі даних через порт. Порт ЕСР дозволяє підключати до 128 периферійних пристроїв.

    Однією з найбільш важливих функцій, вперше реалізованою в ЕСР, є стискання даних. Це дозволяє різко підвищити реальну швидкість передачі. Ця функція не є обов'язковою, тому порти, периферійні пристрої та програми можуть її і не підтримувати. Однак виграш від стискання даних можна отримати тільки тоді, коли режим компресії підтримується як портом ЕСР або керуючою програмою, так і периферійним пристроєм.

    Відомий також системний інтерфейс малих ЕОМ SCSI (Small Computer System Interface), регламентований стандартом ІЕС 9316, що призначений головним чином НЖД. Максимальна швидкість передачі даних складає до 4 Мбайт/с, довжина кабеля до 6 м при використанні звичайних приймачів-передавачів і до 25м для диференціальних приймачів-передавачів.

    В стандарті SCSI визначені розширені команди для пристроїв-прямого доступу, постійні команди для всіх типів пристроїв, унікальні команди для НЖД, НЖЛ, принтерів, оптичних дисків, процесорів. Передача байта інформації здійснюється асинхронно з використанням однопровідного зворотного зв'язку. У інтерфейсі можлива також синхронна передача даних.

    У інтерфейсі SCSI використовується логічна адресація всіх блоків даних і можливість зчитування з пристроїв прямого доступу інформації про число наявних блоків. Максимальна швидкість передачі даних складає до 4 Мбайт/с, довжина кабеля до 6 м при використанні звичайних приймачів-передавачів і до 25 м диференціальних приймачів-передавачів.

    Архітектура інтерфейсу передбачає декілька видів організації взаємодії задатчиків (ініціаторів) і виконавців (приймачів) із використанням необов'язкового розподіленого арбітражу. Час арбітражу - не більш 10 мкс. Додаткові можливості інтерфейсу: два варіанти фізичної реалізації, використання парності, синхронна передача даних тощо. Команди розділені на обов'язкові (М), розширені (Е), необов'язкові (0) і унікальні (U). Пристрої виконують всі команди обов'язкові для даного типу пристроїв, а також інші команди.

    Крім того, у стандарті визначені розширені команди для пристроїв прямого доступу, постійні команди для всіх типів пристроїв, унікальні команди для НМД, НМЛ, принтерів, оптичних дисків, процесорів, байти стану усіх типу пристроїв. У додатках (не є частиною стандарту) наведені приклади послідовностей сигналів, тимчасових діаграм і станів. У стандарті регламентоване використання на фізичному рівні інтерфейсу RS-485.

    Загальна організація. У кожний момент логічно пов'язані тільки два пристрої: задатчик і виконавець. Максимальне число підключених пристроїв -8. Кожний пристрій ідентифікується відповідним розрядом, розміщеним на лінії даних (пристрій 0 - DB (0) пристрій 7 - DB (7)).

    Взаємозв'язок здійснюється за принципом "задатчик-виконавець". Пристрої звичайно мають фіксоване призначення, частина з них може бути (задатчиками/виконавцями. Задатчик (3) може адресувати 8 ПП, під'єднаних до кожного виконавця (В), а також до 2048 пристроїв за допомогою розширених повідомлень.

    Основні типи шинних конфігурацій на основі інтерфейсу SCSI: один задатчик - декілька виконавців; декілька задатчиков і виконавців. Припускається довільна комбінація задатчиків і виконавців. Задатчик виконує арбітраж магістралі і процедуру селекції. Виконавці можуть запитувати від задатчика передачу команд, даних, стани або іншу інформацію із шини даних, у деяких випадках виконують процедуру арбітражу і повторний вибір задатчика з метою продовження операції. Передача байта інформації здійснюється асинхронно з використанням однопровідного зворотного зв'язку. У інтерфейсі можлива також синхронна передача даних.

    Позначення і призначення сигналів ліній інтерфейсу SCSI наведено в табл. 7.4:

    Тaблиця 7.4 Позначення і призначення сигналів ліній інтерфейсу SCSI

    7.4 Інтерфейс типу USB

    В даний час для настільних і портативних, комп'ютерів розроблено високошвидкісний пристрій з послідовною шиною: USB (Universal Serial Bus - універсальна послідовна шина). Це високошвидкісний комунікаційний порт відрізняється від стандартних паралельних і послідовних портів, встановленим у більшості сучасних комп'ютерів, більш широкими можливостями. Перевага нових портів полягає в тому, що їх можна використовувати як альтернативу SCSI для високошвидкісних з'єднань з периферійними пристроями, а також приєднувати до них усі типи зовнішніх периферійних пристроїв (тобто в даному випадку розпочата спроба об'єднання пристроїв введення/ виведення),

    Новим напрямком у розвитку високошвидкісних периферійних шин є використання послідовної архітектури. Для передачі інформації в рівнобіжній архітектурі, де біти передаються одночасно, необхідні лінії, що мають 8, 16 і більше проводів. Можна припустити, що за той самий час через паралельний канал передається більше даних, ніж через послідовний, однак насправді збільшити пропускну здатність послідовного з'єднання набагато легше, ніж паралельного. Паралельне з'єднання має ряд недоліків, одним з яких є фазовий зсув сигналу, через що довжина паралельних каналів, наприклад SCSI, обмежена і не повинна перевищувати 3м.. Проблема в тому, що, хоча 8- і 16-розрядні дані одночасно пересилаються передавачем, через затримки одні біти прибувають у приймач раніше інших. Отже, чим довший кабель, тим більше час затримки між першими й останнім прибулими бітами на прийомному кінці. Послідовна шина дозволяє одночасно передавати 1 біт даних. Відсутність затримок при передачі даних дозволяє значно збільшити тактову частоту. Наприклад, максимальна швидкість передачі даних паралельного порту ЕРР/ЕСР досягає 2 Мбайт /с, у той час як порти ІЕЕЕ-1394 (у яких використовується високошвидкісна послідовна технологія) підтримують швидкість передачі даних, близьку до 400 Мбіт /сек (близько 50 Мбайт /сек), тобто в 25 разів вищу. Швидкість передачі даних інтерфейсу USB 2.0 досягає 480 Мбіт /сек (близько 60 Мбайт /сек).

    Ще одна перевага послідовного способу передачі даних. — можливість використання тільки одно - або двухпровідного каналу, тому перешкоди, що виникають при передачі, дуже малі, чого не можна сказати про паралельне з'єднання.

    Вартість паралельних кабелів досить висока, оскільки провода, призначені для паралельної передачі, не тільки використовуються у великій кількості, але і спеціальним чином укладаються, щоб запобігти виникнення взаємних перешкод, а це досить трудомісткий і дорогий процес. Кабелі для послідовної передачі даних, навпаки, дуже дешеві, так, як складаються із декількох проводів і вимоги до їх екранування набагато нижчі, ніж у використовуваних для паралельних з'єднань.

    Саме тому, а також з огляду на вимоги зовнішнього периферійного інтерфейсу Plug and Play і необхідність усунення фізичного накопичення портів у портативних комп'ютерах, була розроблена ця високошвидкісна послідовна шина, яка використовується вже сьогодні.

    В USB реалізована можливість підключення великої кількості периферійних пристроїв до комп'ютера. При підключенні пристроїв до USB не потрібно встановлювати плати в рознімання системної плати і конфігурувати систему; крім того, ощадливо використовуються такі важливі системні ресурси, як IRQ (запити переривання). При підключенні периферійного устаткування до персональних комп'ютерів, оснащеним шиною USB, його настроювання відбувається автоматично, відразу після фізичного підключення, без перезавантаження або установки.

    На рисунку 7.6 наведено символ логотип USB

    На рисунку 7.7 наведено фото роземів USB

    Рисунок 7.7 Найпоширеніший USB типу А USB Тип B mini USB Тип В

    Шина USB представляє собою послідовний інтерфейс передачі даних для середньошвидкісних та низькошвидкісних периферійних пристроїв. Для високошвидкісних пристроїв на сьогодні кращим вважається FireWire.

    USB-кабель представляє собою дві виті пари: по одній парі відбувається передача даних в кожному напрямку (диференціальне включення), а інша пара використовується для живлення периферійного пристрою (+5 В). Завдяки вбудованим лініям живлення, що запезпечуючих струм до 500 мА, USB часто дозволяє використовувати пристрої без власного блоку живлення (якщо ці пристрої споживають струм потужністю не більше 500 мА).

    До одного контролера шини USB можно під'єднати до 127 пристроїв через ланцюжок концентраторів (вони використовують топологію «зірка»).

    На відміну від багатьох інших стандартних роз'ємів, для USB характерні довговічність та механічна міцність.

    На сьогодні USB 2.0 може забезпечувати швидкість передачі даних до 480 Мбіт/с.

    Історія

    Стандарт розробили сім компаній: Compaq, Digital Equipment, IBM, Intel, Microsoft, NEC и Northern Telecom. Влітку 1996 року на ринку з'явилися перші комп'ютери з портами USB.

    USB пререлізи

    Починаючи з листопада 1994 до листопада 1995 року було анонсовано кілька версій протоколу (USB 0.7, 0.8, 0.9, 0.99, 1.0 Release Candidate).

    USB 1.0

    Версія представлена в січні 1995 року.

    Технічні характеристики:

  • високошвидкісне з'єднання — 12 Мбіт/с
  • максимальна довжина кабеля для високошвидкісного з'єднання — 3 м
  • низькошвидкісне з'єднання — 1,5 Мбіт/с
  • максимальна довжина кабеля для низькошвидкісного з'єднання — 5 м
  • максимальна кількість пристроїв підімкнення (враховуючи концентратори) — 127
  • можливість підключення пристроїв з різними швидкостями обміну інформацією
  • напруга живлення для переферійних пристроїв — 5 В
  • максимальний струм споживання на один пристрій — 500 мA
  • USB 1.1

    Випущено в вересні 1998. Виправлені проблеми виявлені у версії 1.0, в основному пов'язані з концентраторами.

    USB 2.0

    Версія випущена в квітні 2000 року. USB 2.0 відрізняється від USB 1.1 лише швидкістю передачі, яка зросла та незначними змінами в протоколі передачі даних для режиму Hi-speed (480 Мбіт/сек). Існує три швидкості роботи пристроїв USB 2.0:

  • Low-speed 10—1500 Кбіт/c (використовується для інтерактивних пристроїв: клавіатури, мишки, джойстики)
  • Full-speed 0,5—12 Мбіт/с (аудіо/відео пристрої)
  • Hi-speed 25—480 Мбіт/с (відео пристрої, пристрої зберігання інформації)
  • В дійсності ж хоча швидкість USB 2.0 і може досягати 480Мбит/с, пристрої типу жорстких дисків чи взагалі будь-які інші носії інформації ніколи не досягають її по шині USB, хоча і могли б. Це можна пояснити доволі просто, шина USB має доволі велику затримку між запитом на передачу інформацію і саме самою передачею даних («довгий ping»). Наприклад шина FireWire забезпечує максимальну швидкість у 400 Мбіт/с, тобто на 80Мбіт/с меньше чим у USB, дозволяє досягнути більшої швидкості обміну даними з носіями інформації.

    USB OTG

    Рисунок 7.7 логотип USB OTG

    Технологія USB On-The-Go розширює специфікації USB 2.0 для легкого з'єднання між собою переферійних USB-пристроїв безпосередньо між собою без задіяння комп'ютера. Прикладом застосування цієї технології є можливість підключення фотоапарату напряму до принтеру. Цей стандарт виник через об'єктивну потребу надійного з'єднання особливо поширених USB-пристроїв без застосування комп'ютера, який в потрібний момент може і не виявитися під руками.

    Безпровідне USB

    Рисунок 7.8 логотип USB Wireless

    Офіційна специфікація протоколу була анонсована в травні 2005 року. Дозволяє організовувати безпровідний зв'язок з високою швидкістю передачі даних до 480 Мбіт/с на відстані 3 метрів та до 110 Мбіт/с на відстані 10 метрів. Для безпровідного USB часом використовують абревіатуру WUSB. Розробник протоколу USB-IF віддає перевагу практиці іменування протокол офіційно Certified Wireless USB.

    USB 3.0

    Протокол USB 3.0 знаходиться на стадії розробки і буде передавати сигнал за допомогою оптоволоконного кабелю. USB 3.0 планується створити зворотно сумісним з USB 2.0 та USB 1.1

    Створенням USB 3.0 займаються компанії: Intel, Microsoft, Hewlett-Packard, Texas Instruments, NEC и NXP Semiconductors.

    7.5 Інтеревейс FireWire або IEEE 1394

    FireWire — послідовна високошвидкісна шина, призначена для обміну цифровою інформацією між комп'ютером і іншими електронними пристроями. Шина розроблена Sony та Apple і стандартизована IEEE під кодом IEEE-1394.

    Різні компанії просувають стандарт під своїми торговими марками:

  • Apple — FireWire
  • Sony — i.LINK
  • Yamaha — mLAN
  • TI — Lynx
  • Історія

  • в 1986 році членами Комітету із Стандартів Мікрокомп'ютерів (Microcomputer Standards Committee) ухвалено рішення об'єднати різні варіанти послідовної шини (Serial Bus), що існували у той час,
  • в 1992 році розробкою інтерфейсу зайнялася Apple
  • в 1995 році прийнятий стандарт IEEE 1394
  • Переваги

  • Цифровий інтерфейс — дозволяє передавати дані між цифровими пристроями без втрат інформації
  • Невеликий розмір — тонкий кабель замінює купу громіздких проводів
  • Простота у використанні — відсутність термінаторов, ідентифікаторів пристроїв або попередньої установки
  • Гаряче підключення — можливість переконфігурувати шину без вимкнення комп'ютера
  • Невелика вартість для кінцевих користувачів
  • Різна швидкість передачі даних — 100, 200 і 400 Мбит/с (800, 1600Мбит/с IEEE 1394b)
  • Гнучка топологія — рівноправ'я пристроїв, що допускає різні конфігурації (можливість "спілкування" пристроїв без комп'ютера )
  • Висока швидкість — можливість обробки мультимедіа-сигнал в реальному часі
  • Відкрита архітектура — відсутність необхідності використання спеціального програмного забезпечення
  • Наявність живлення прямо на шині (малопотужні пристрої можуть обходитися без власних блоків живлення).
  • До півтора ампер і напруга від 8 до 40 вольт.
  • Підключення до 63 пристроїв.
  • Шина IEEE 1394 може використовуватися з:

  • Комп'ютерами
  • Аудіо і відео мультимедійними пристроями
  • Принтерами і сканерами
  • Жорсткими дисками, масивами RAID
  • Цифровими відеокамерами і відеомагнітофонами
  • Організація пристроїв FireWire

    Пристрої IEEE-1394 організовано по 3 рівневій схемі — Transaction, Link і Physical, відповідні трьом нижнім рівням моделі OSI.

  • Transaction Layer — маршрутизація потоків даних з підтримкою асинхронного протоколу запису-читання.
  • Link Layer — формує пакети даних і забезпечує їх доставку.
  • Physical Layer — перетворення цифрової інформації в аналогову для передачі і навпаки, контроль рівня сигналу на шині, управління доступом до шини.
  • Зв'язок між шиною PCI і Transaction Layer здійснює Bus Manager. Він призначає вид пристроїв на шині, номери і типи логічних каналів, виявляє помилки.

    Дані передаються кадрами довжиною 125 мксек. У кадрі розміщуються тимчасові слоти для каналів. Можливий як синхронний, так і асинхронний режими роботи. Кожен канал може займати один або декілька тимчасових слотів. Для передачі даних пристрій-передавач просить надати синхронний канал необхідної пропускної спроможності. Якщо в передаваному кадрі є необхідна кількість тимчасових слотів для даного каналу, поступає ствердна відповідь і канал надається.

    Специфікації FireWire IEEE 1394

    Рисунок 7.10 Схема 4- та 6-пінових рознімів для оригінального FireWire-400

    В кінці 1995 року IEEE прийняв стандарт під порядковим номером 1394. У цифрових камерах Sony інтерфейс IEEE 1394 з'явився раніше ухвалення стандарту і під назвою iLink.

    Інтерфейс спочатку позиціонувався для передачі відеопотоків. Він cподобався і виробникам зовнішніх накопичувачів, забезпечуючи високу пропускну спроможність для сучасних високошвидкісних дисків. Сьогодні багато системних плат, а також майже всі сучасні моделі ноутбуків підтримують цей інтерфейс.

    Швидкість передачі даних — 100, 200 і 400 Мбіт/с, довжина кабелю до 4,5 м.

    IEEE 1394a

    В 2000 році був затверджений стандарт IEEE 1394а. Було проведено ряд удосконалень, що підвищило сумісність пристроїв.

    Було введено час очікування 1/3 секунди на скидання шини, поки не закінчиться перехідною процес установки надійного під'єднування або від'єднання пристрою.

    IEEE 1394b

    В 2002 році з'являється стандарт IEEE 1394b з новими швидкостями: S800 — 800 Мбіт/с і S1600 — 1600 Мбіт/с. Також збільшується максимальна довжина кабелю до 50, 70 а при використанні високоякісних оптоволоконних кабелів до 100 метрів.

    Відповідні пристрої позначаються FireWire 800 або FireWire 1600, залежно від максимальної швидкості.

    Змінилися використовувані кабелі і розніми. Для досягнення максимальних швидкостей на максимальних відстанях передбачено використання оптики:

  • пластмасової, — для довжини до 50 метрів,
  • і скляною — для довжин до 100 метрів.
  • Не зважаючи на зміну рознімів, стандарти залишилися сумісні, чого можна добитися використовуючи перехідники.

    12 грудня 2007 року була представлена специфікація S3200 з максимальною швидкістю — 3,2 Гбит/с.

    IEEE 1394.1

    В 2004 році побачив світ стандарт IEEE 1394.1. Цей стандарт був прийнятий для можливості побудови великомасштабних мереж і різко збільшує кількість пристроїв, що підключаються, до гігантського числа — 64 449.

    IEEE 1394c

    Рисунок 7.11 Альтернативний кабель ethernet типу для під'єднання 1394c

    Стандарт 1394с, що з'явився в 2006 році, дозволяє використовувати кабель 5-ї категорії (Cat 5e) від Ethernet. Можливо використовувати паралельно з Gigabit Ethernet, тобто використовувати дві логічні і незалежні одна від одної мережі на одному кабелі. Максимальна заявлена довжина — 100 м, Максимальна швидкість відповідає S800 — 800 Мбит/с.

    Розніми

    Рисунок 7.12 Розніми FireWire 4- та 6-контактні

    Існують три види рознімів для FireWire:

  • 4pin (IEEE 1394a без живлення) стоїть на ноутбуках і відеокамерах. Два дроти для передачі сигналу (інформації) і два для прийому.
  • 6pin (IEEE 1394a). Додатковий два дроти для живлення.
  • 9pin (IEEE 1394b). Додаткові дроти для прийому і передачі інформації.


  • 7.6 Інтерфейс PCI Express


    Рисунок 7.13 Логотип PCI Express

    Рисунок 7.14 Слоти PCI Express x4, x16, x1, знов x16, внизу стандартний 32-розрядний слот PCI, на материнській платі DFI LanParty nForce4 SLI-DR

    PCI Express або PCIe або PCI-E, (також відома як 3GIO for 3rd Generation I/O; не плутати з PCI-X або PXI) — комп'ютерна шина, що використовує програмну модель шини PCI і високопродуктивний фізичний протокол, заснований на послідовній передачі даних.

    Розвитком стандарту PCI Express займається організація PCI Special Interest Group (PCI-SIG).

    На відміну від шини PCI, що використала для передачі даних загальну шину, PCI Express, в загальному випадку, є пакетною мережею з топологією типу зірка, пристрої PCI Express взаємодіють між собою через середовище, утворене комутаторами, при цьому кожен пристрій безпосередньо зв'язаний з'єднанням типу точка-точка з комутатором.

    Крім того, шиною PCI Express підтримується:

  • гаряча заміна карт;
  • гарантована смуга пропускання (QoS);
  • управління енергоспоживанням;
  • контроль цілісності передаваних даних.
  • Розробка стандарту PCI Express була почата фірмою Intel після відмови від шини InfiniBand. Офіційно перша базова специфікація PCI Express з'явилася в липні 2002 року.

    Шина PCI Express націлена на використання тільки як локальна шина. Оскільки програмна модель PCI Express багато в чому успадкована від PCI, то існуючі системи і контроллери можуть бути допрацьовані для використання шини PCI Express заміною тільки фізичного рівня, без доопрацювання програмного забезпечення. Висока пікова продуктивність шини PCI Express дозволяє використовувати її замість шин AGP і тим більше PCI і PCI-X, очікується, що PCI Express замінить ці шини в персональних комп'ютерах.

    Опис протоколу

    Рисунок 7.15 Відеокарта для PCI Express

    Для підключення пристрою PCI Express використовується двонаправлене послідовне з'єднання типу точка-точка, зване lane; це різко відрізняється від PCI, в якій всі пристрої підключаються до загальної 32-розрядної паралельної однонаправленої шини.

    З'єднання між двома пристроями PCI Express називається link, і складається з одного (званого 1x) або декількох (2x, 4x, 8x, 12x, 16x і 32x) двонаправлених послідовних з'єднань lane. Кожен пристрій повинен підтримувати з'єднання 1x.

    На електричному рівні кожне з'єднання використовує низьковольтну диференціальну передачу сигналу (LVDS), прийом і передача інформації проводиться кожним пристроєм PCI Express по окремих двох провідниках, таким чином, в простому випадку, пристрій підключається до комутатора PCI Express всього лише чотирма провідниками.

    Використання подібного підходу має наступні переваги:

  • карта PCI Express поміщається і коректно працює в будь-якому слоті тої або ж більшої пропускній спроможності (наприклад, карта x1 працюватиме в слотах x4 і x16);
  • слот більшого фізичного розміру може використовувати не всі lane (наприклад, до слота 16x можна підвести лінії передачі інформації, відповідні 1x або 8x, і все це нормально функціонуватиме; проте, при цьому необхідно підключити всі лінії «живлення» і «земля», необхідні для слота 16x).
  • В обох випадках, на шині PCI Express використовуватиме максимальну кількість lane'ів доступних як для карти, так і для слота. Проте це не дозволяє пристрою працювати в слоті, призначеному для карт з меншою пропускною спроможністю шини PCI Express (наприклад, карта x4 фізично не поміститься в слот x1, не зважаючи на те, що вона могла б працювати в слоті x1 з використанням тільки одного lane).

    PCI Express пересилає всю управляючу інформацію, включаючи переривання, через ті ж лінії, що використовуються для передачі даних. Послідовний протокол ніколи не може бути заблокований, таким чином затримки шини PCI Express цілком порівнянні з такими для шини PCI (відмітимо, що шина PCI для передачі сигналу про запит на переривання використовує окремі фізичні лінії IRQ#A, IRQ#B, IRQ#C, IRQ#D).

    У всіх високошвидкісних послідовних протоколах (наприклад, Gigabit Ethernet), інформація про синхронізацію повинна бути вбудована в передаваний сигнал. На фізичному рівні, PCI Express використовує загально прийнятий метод кодування 8B/10B (8 бітів даних замінюються на 10 бітів, передаваних по каналу, таким чином 20% передаваного по каналу трафіку є надмірними), що дозволяє підняти перешкодозахист.

    Деякі протоколи (наприклад, SONET/SDH) використовують інший метод перешкодозахисного кодування, який називається скремблінг (англ. scrambling) для вбудовування інформації про синхронізацію в потік даних. Специфікація PCI Express також передбачає алгоритм скремблінгу, але скремблінг PCI Express відрізняється від такого у SONET.

    Пропускна спроможність

    Пропускна спроможність з'єднання lane складає 2,5 Гбит/с. Для розрахунку пропускної спроможності з'єднання link необхідно врахувати те, що в кожному з'єднанні передача дуплексна, а також врахувати застосування кодування 8B/10B (8 бітів в 10). Наприклад, дуплексна пропускна спроможність з'єднання 1x (P1x) складає: ГБ/сек

    де

  • 2,5 — пропускна спроможність одного lane, Гбит/с;
  • 2 — врахування того, що з'єднання 1x складається з двох lane;
  • 0,8 — коефіцієнт, що враховує використання коду 8B/10B;
  • 8 — коефіцієнт для перекладу Гбіт/с в ГБ/с.
  • Пропускна спроможність, з урахуванням двонаправленої передачі, для шин PCI Express з різною кількістю зв'язків вказана в таблиці 7.5:

    Таблиця 7.5

    PCI Express 2.0

    Группа PCI-SIG випустила специфікацію PCI Express 2.0 15 січня 2007 року.

    Основні нововведення в PCI Express 2.0:

  • Збільшена пропускна спроможність. — специфікація PCI Express 2.0 визначає максимальну пропускну спроможність одного з'єднання lane як 5 Гбіт/с, при цьому збережена сумісність з PCI Express 1.1 таким чином, що плата розширення, що підтримує стандарт PCIE 1.1 може працювати, будучи встановленою в слот PCIe 2.0. Внесені вдосконалення в протокол передачі між пристроями і програмну модель.
  • Динамічне управління швидкістю — для управління швидкістю роботи зв'язку.
  • Сповіщення про пропускну спроможність — для сповіщення ПЗ (операційної системи, драйверів пристроїв тощо) про зміни швидкості і ширину шини.
  • Розширення структури можливостей — розширення управляючих регістрів для кращого управління пристроями, слотами і інтерконектом.
  • Служби управління доступом — опціональні можливості управління транзакціями точка-точка.
  • Управління таймаутом виконання
  • Скидання на рівні функцій — опціональний механізм для скидання функцій (маються на увазі PCI funcs) усередині пристрою (PCI device).
  • Перевизначення межі по потужності — для перевизначення ліміту потужності слота при приєднанні пристроїв, споживаючих більшу потужність.
  • Зовнішня кабельна специфікація PCIe

    7 лютого 2007 року PCI-SIG випустила специфікацію зовнішньої кабельної системи PCIe. Нова специфікація дозволяє використовувати кабелі завдовжки до 10 метрів, що працюють з пропускною спроможністю 2,5 Гбіт/с.

    PCI Express 3.0

    Йде робота над PCI-Express 3.0. Він матиме пропускною спроможністю в 8 Гбіт/с.

    Плани на PCI-Express 3.0: затвердження в 2009 році, а перші продукти на основі нового інтерфейсу - в 2010 році.

    Форм-фактори

  • Низькопрофільні карти
  • Mini Card — заміна форм-фактора Mini PCI. На рознім Mini Card виведені шини: x1 PCIe, USB 2.0 і SMBus.
  • ExpressCard — подібний до форм-фактора PCMCIA. На рознім Mini Card виведені шини x1 PCIe і USB 2.0, карти ExpressCard підтримують гаряче підключення.
  • AdvancedTCA — форм-фактор для телекомунікаційного устаткування.
  • Кабельні специфікації PCI Express дозволяють доводити довжину одного з'єднання до десятків, а то і сотень метрів, що робить можливим створення «розібраних» ЕОМ.
  • Mobile PCI Express Module — промисловий форм-фактор, створений для ноутбуків фірмою NVIDIA.
  • Конкуруючі протоколи

    Окрім PCI Express існує ще ряд високошвидкісних стандартизованих послідовних інтерфейсів, ось тільки деякі з них: HyperTransport, InfiniBand, RapidIO, StarFabric. Кожен інтерфейс має своїх прихильників серед промислових компаній, оскільки на розробку специфікацій протоколів вже пішли значні суми, і кожен консорціум прагне підкреслити переваги саме свого інтерфейсу над іншими.

    Стандартизований високошвидкісний інтерфейс з одного боку повинен володіти гнучкістю і розширюваністю, а з іншого боку повинен забезпечувати низький час затримки і невисокі накладні витрати (тобто частка службової інформації пакету не повинна бути велика). По суті, відмінності між інтерфейсами полягають саме у вибраному компромісі між цими двома взаємо протирічними напрямами.

    Наприклад, додаткова службова маршрутна інформація в пакеті дозволяє організувати складну і гнучку маршрутизацію пакету, але збільшує накладні витрати на обробку пакету, також знижується пропускна спроможність інтерфейсу, ускладнюється програмне забезпечення, яке ініціалізує і настроює пристрої, підключені до інтерфейсу. При необхідності забезпечення гарячого підключення пристроїв необхідне спеціальне програмне забезпечення, яке б відстежувало зміну в топології мережі. Прикладами інтерфейсів, які пристосовані для цього є RapidIO, InfiniBand і StarFabric.

    Водночас, укоротивши пакети можна зменшити затримку при передачі даних, що є важливою вимогою до інтерфейсу пам'яті. Але невеликий розмір пакетів приводить до того, що частка службових полів пакету збільшується, що знижує ефективну пропускну спроможність інтерфейсу. Прикладом інтерфейсу такого типу є HyperTransport.

    Положення PCI Express — між описаними підходами, оскільки шина PCI Express призначена для роботи як локальна шина, ніж шини процесор-пам'ять або у складній маршрутизованій мережі. Крім того, PCI Express відпочатку замислювалася як шина, логічно сумісна з шиною PCI, що також внесло свої обмеження.

    7.7 Інтерфейс SCSI

    Рисунок 7.16 Емблема оригінального SE SCSI

    SCSI (англ. Small Computer Systems Interface, традиційно вимовляється сказі) — інтерфейс, розроблений для об'єднання на одній шині різних за своїм призначенням пристроїв, таких як тверді диски, накопичувачі на магнітооптичних дисках, приводи CD, DVD, стрімери, сканери, принтери тощо. Раніше мав неофіційну назву Shugart Computer Systems Interface на честь творця Алана Ф. Шугарта.

    Теоретично можливий випуск пристрою будь-якого типу на шині SCSI.

    Після стандартизації в 1986 році, SCSI почав широко застосовуватися в комп'ютерах Apple Macintosh, Sun Microsystems. У персональних комп'ютерах, сумісних з IBM РС, SCSI не користується такою популярністю у зв'язку з своєю складністю і порівняно високою вартістю, і застосовується переважно в серверах.

    В даний час SCSI широко застосовується на серверах, високопродуктивних робочих станціях; RAID-масиви на серверах часто будуються на твердих дисках з SCSI-інтерфейсом (хоча в даний час на серверах нижнього цінового діапазону все частіше застосовуються RAID-масиви на основі SATA).

    Існує три стандарти SCSI (SE — англ. single-ended, LVD — англ. low-voltage-differential — інтерфейс диференціальної шини низької напруги, HVD — англ. high-voltage-differential — інтерфейс диференціальної шини високої напруги), кожен з яких має безліч додаткових і необов'язкових можливостей. Деякі комбінації можливостей мають власні найменування. Контроллер SCSI може працювати з будь-яким пристроєм, на якому присутній даний інтерфейс (твердий диск, сканер).

    Основні реалізації SCSI (у хронологічному порядку):

    Таблиця 7.6 Огляд інтерфейсів SCSI

    SCSI-1

    Стандартизований ANSI в 1986 р. Використовувалася восьмибітова шина, з пропускною спроможністю в 3,5 МБайт/сек в асинхронному режимі і 5 МБайт/сек в синхронному режимі. Максимальна довжина кабелю — до 6 метрів. В наш час майже не використовується, можна побачити лише в архаїхчних пристороях.

    SCSI-2

    Рисунок 7.17 SCSI Host Bus Adapter (16-bit ISA card)

    Цей стандарт був запропонований в 1989 році і існував в двох варіантах — Fast SCSI і Wide SCSI.

    Fast SCSI характеризується подвоєною пропускною спроможністю (до 10 МБайт/сек).

    Wide SCSI на додаток до цього має подвоєну розрядність шини (16 бітів), що дозволяє досягти швидкості передачі 20 МБ/сек. При цьому максимальна довжина кабелю обмежувалася трьома метрами. Також в цьому стандарті була передбачена 32-х бітова версія Wide SCSI, яка дозволяла використовувати два шестнадцятибітових кабелі на одній шині, але ця версія не набула поширення.

    SCSI-3

    Також відомий під назвою Ultra SCSI. Запропонований в 1992 році. Пропускна спроможність шини склала 20 МБайт/сек для восьмибітової шини і 40 МБайт/сек — для шестнадцятибітної. Максимальна довжина кабелю так і залишилася рівною трьом метрам.

    Пристрої, що відповідають цьому стандарту, відомі своєю чутливістю до якості елементів системи (кабель, термінатори).

    Ultra-2 SCSI

    Запропонований в 1997 році. Використовує LVDS. Максимальна довжина кабелю — 12 метрів, пропускна спроможність — до 80 МБайт/сек.

    Ultra-3 SCSI

    Також відомий під назвою Ultra-160 SCSI. Запропонований в кінці 1999 року. Має подвоєну пропускну спроможність (в порівнянні з Ultra-2 SCSI), яка склала 160 МБайт/сек. Збільшення пропускної спроможності вдалося досягти за рахунок одночасного використання фронтів і зрізів імпульсів.

    У цей стандарт було додано використання CRC (Cyclic Redundancy Check), виправлення помилок.

    Ultra-320 SCSI

    Розвиток стандарту Ultra-3 з подвоєною швидкістю передачі даних (до 320 МБайт/сек).

    Ultra-640 SCSI

    Також відомий під назвою Fast Ultra-320. Запропонований на початку 2003 року. Подвоєна пропускна спроможність (640 МБайт/сек). У зв'язку з різким скороченням максимальної довжини кабелю незручний для використання з більш ніж двома пристроями, тому не набув широкого поширення.

    Протокол команд SCSI

    В термінології SCSI взаємодія йде між ініціатором і цільовим пристроєм. Ініціатор посилає команду цільовому пристрою, який потім відправляє відповідь ініціаторові.

    Команди SCSI посилаються у вигляді блоків опису команди (Command Descriptor Block, CDB). Довжина кожного блоку може складати 6, 10, 12 або 16 байт. У останніх версіях SCSI блок може мати змінну довжину. Блок складається з однобайтового коду команди і параметрів команди.

    Після отримання команди цільовий пристрій повертає значення 00h у разі успішного отримання, 02h у разі помилки або 08h у випадку, якщо пристрій зайнятий. У випадку, якщо пристрій повернув помилку, ініціатор зазвичай посилає команду запиту стану. Пристрій повертає Key Code Qualifier (KCQ).

    Всі команди SCSI діляться на чотири категорії: N (non-data), W (запис даних від ініціатора цільовим пристроєм), R (читання даних) і B (двосторонній обмін даними). Всього існує порядка 60 різних команд SCSI, з яких найчастіше використовуються:

  • Test unit ready — перевірка готовності пристрою.
  • Inquiry — запит основних характеристик пристрою.
  • Send diagnostic — вказівка пристрою провести самодіагностику і повернути результат.
  • Request sense — повертає код помилки попередньої команди.
  • Read capacity — повертає ємкість пристрою.
  • Format Unit Read (4 варіанти) — читання.
  • Write (4 варіанти) — запис.
  • Write and verify — запис і перевірка.
  • Mode select — установка параметрів пристрою.
  • Mode sense — повертає поточні параметри пристрою.
  • Кожен пристрій на SCSI-шині має як мінімум один номер логічного пристрою (LUN — англ. Logical Unit Number). У деяких складніших випадках один фізичний пристрій може представлятися набором LUN.

    SCSI кабелі

    Внутрішні SCSI кабелі це звичайно стрічкові кабелі (шлейфи), що мають 50 або 68 (в широкому варіанті SCSI) контактів. Зовнішні кабелі як правило екрановані і мають конектори на кінцях.

    Термінування

    Паралельні шини SCSI завжди повинні термінувати з обох боків для забезпечення нормального функціонування. Переважна більшість контролерів і багато пристроїв мають можливість автотермінування через використання вбудованого термінатора.

    Подальший розвиток

  • Для передачі команд протоколу SCSI через IP-мережі використовується мережевий протокол iSCSI, затверджений IETF як стандартний в 2003 році.
  • Для заміни паралельної шини запропонована технологія підключення пристроїв по послідовній шині Serial Attached SCSI (SAS).
  • 7.8 Інтерфейси IDE/ATA і SATA

    У сучасних комп'ютерах пристрої для запису даних і програм на магнітні диски (їх часто називають твердими дисками чи "вінчестерами") є основним засобом довгострокового збереження інформації, тому базові принципи роботи дискових пристроїв корисно знати кожному. Це допоможе більш раціонально організувати використання диска, продовжити термін його служби, а також позбутися від зайвих проблем при установці в комп'ютер додаткового диска чи заміні старого.

    У сучасних персональних комп'ютерах найбільш поширена дискова підсистема 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). Новий стандарт зробив дійсний бум в індустрії дискових нагромаджувачів, коли виробники PC одержали можливість використання цих недорогих пристроїв. З кінця 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 (ведомий). Режим роботи диска задається за допомогою перемичок, розташованих як правило біля сигнального рознімання вінчестера.

    Рисунок 7.18 Встановлення перемички для установки режиму Master/Slave

    Сучасні реалізації ATA/IDE

    Запропонований наприкінці 80-х років інтерфейс ATA (AT Attachment), відомий також за назвою IDE (Integrated Drive Electronics) дуже швидко завоював широку популярність серед виробників і користувачів персональних комп'ютерів. Основними причинами швидкого і широкого поширення нового інтерфейсу послужили невисока ціна пристроїв, простота їхньої установки й експлуатації, а також високий рівень сумісності пристроїв IDE. Специфікація АТА уступає по швидкості обміну з дисками і ряду інших параметрів інтерфейсу SCSI, однак для більшості користувачів продуктивність відіграє меншу роль, у порівнянні із сумісністю, простотою і вартістю пристроїв.

    Обмеженість АТА

    Первісна версія стандарту IDE забезпечувала можливість підключення до комп'ютера чотирьох вінчестерів і дозволяла обмінюватися даними з диском на швидкості до 10Мбайт/сек, однак реальна швидкість обмежувалася насамперед можливостями самого вінчестера. Підключення чотирьох пристроїв, передбачене специфікацією IDE, у комп'ютерах сімейства IBM PC AT, у специфікації ATA/IDE реалізовано не було. Крім того, спільне використання стандарту ATA і програмного інтерфейсу Int 13 BIOS обмежувало розмір дискових пристроїв 528Мб. Природу цього обмеження, зв'язану з форматами чисел, використовуваних для адресації голівок, секторів і циліндрів вінчестера (CHS-адреса) у стандарті IDE і BIOS, можна зрозуміти з приведеної нижче таблиці 7.8, що ілюструє взаємодію операційної системи з диском IDE.

    Таблиця 7.8

    Іншим істотним обмеженням стандарту 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:

    IDE підтримує тільки два вінчестери, а SCSI забезпечує можливість підключення великої кількості блокових пристроїв різних типів (принтери, CD-ROM, стриммери й ін.);

    розмір дисків IDE не може перевищувати 528Мб, оскільки для доступу до диска використовується інтерфейс Int 13 BIOS, тоді як SCSI не обмежує розмір диска;

    IDE забезпечує швидкість обміну з диском 2-3 Мб/сек, а SCSI - 10 чи 20Мб/сек (Fast/Wide). Технологія Enhanced IDE дозволяє позбутися від основних обмежень стандарту IDE/ATA:

  • граничний розмір диска 528Мб;
  • мала швидкість обміну з диском;
  • підтримка тільки двох пристроїв;
  • неможливість підключення приводів CD-ROM і стримерів.
  • Як показано на малюнку, технологія Enhanced IDE містить у собі чотири основних компоненти, реалізовані спільно в периферійних пристроях, контролерах EIDE, BIOS і операційній системі:

    1. Використання вінчестерів розміром більш 528Мб.

    Ця можливість обумовлена внесеними в BIOS змінами, що дозволяють адресувати великі диски. Для роботи з дисками більш 528Мб потрібно підтримка з боку вінчестера, BIOS і операційної системи.

    Вінчестер повинний підтримувати специфікацію ATA (цій вимозі задовольняє більшість сучасних вінчестерів).

    BIOS також повинна підтримувати специфікацію ATA; більшість виробників системних плат і розроблювачів BIOS уже підтримують цей режим.

    Може знадобитися підтримка роботи з великими дисками і з боку операційної системи. Windows 3.1 не цілком відповідає ATA, тому приходиться використовувати спеціальні драйвери (Windows "32-bit disk access"), поставля звичайно разом з контролерами EIDE. Більшість 32-розрядних операційних систем (таких, як OS/2) споконвічно підтримують роботу з великими дисками.

    2. Прискорений обмін даними заснований на використанні швидкісних режимів програмувального введення-висновку (PIO mode 3) і прямий доступи до пам'яті (DMA mode 1). Ці режими забезпечують швидкість обміну 11.1 і 13.3 Мб/сек, відповідно. Для реалізації швидкісного обміну потрібно підтримка з боку вінчестера і BIOS.

    BIOS повинна підтримувати один зі швидкісних режимів обміну з диском (PIO mode 3 чи DMA mode 1), як правило це режим PIO.

    З боку дискового пристрою також повинна забезпечуватися підтримка швидкісного обміну. Цю можливість забезпечує більшість сучасних вінчестерів (у тому числі диски Fast ATA).

    Швидкісні режими обміну дозволяють повніше реалізувати можливості дискових контролерів, що використовують широкополосную локальну шину VESA чи PCI.

    Підтримка двох портів ATA.

    Для забезпечення цієї можливості використовуються зарезервовані для другого контролера адреси портів введення-висновку і переривання IRQ15. Для реалізації цієї можливості потрібно підтримка з боку контролера (хост-адаптера), BIOS і операційної системи.

    До самих пристроїв (вінчестерам, приводам CD-ROM чи стриммерам) не пред'являється ніяких додаткових вимог.

    Контролер повинний забезпечувати можливість установки адрес другого порту (це реалізовано аж ніяк не у всіх сучасних моделях).

    Не всі BIOS підтримують можливість використання чотирьох пристроїв IDE, однак сучасні розробки включають цей режим.

    Важливу роль грає підтримка використання чотирьох пристроїв з боку операційної системи. Ця можливість реалізована в більшості 32-розрядних ОС і в останніх версіях DOS.

    Можливість підключення приводів CD-ROM і стриммерів.

    Цей режим є недорогою альтернативою SCSI. Для забезпечення такої можливості потрібно потрібно підтримка декількох нових команд. Специфікація ATAPI (ATA Packet Interface), що знаходиться в стадії розробки, містить опис нових команд.

    Для забезпечення можливості підключення до хост-адаптеру недискових пристроїв потрібно підтримка специфікації ATAPI з боку BIOS, хост-адаптера, операційної системи і самих периферійних пристроїв.

    В даний час більшість пристроїв CD-ROM уже використовує інтерфейс IDE/ATAPI для підключення до другого порту сучасних контролерів.

    Очевидно, що при такому достатку варіантів розширення можливостей IDE аж ніяк не всі пристрої, рекламовані як "Enhanced", підтримують усі чотири режими, додані в специфікацію Enhanced IDE. Не слід забувати також про те, що для забезпечення повної підтримки EIDE, цієї специфікації повинні задовольняти BIOS, хост-адаптер, операційна система і, нарешті, самі периферійні пристрої.

    Використання дисків великого об’єму

    Обмеження розміру вінчестерів з інтерфейсом IDE/ATA (528 Мб) є результатом спільного використання стандарту IDE і програмного інтерфейсу Int 13 BIOS. Технологія Enhanced IDE дає можливість внести в BIOS зміни, що дозволяють позбутися від цього обмеження.

    Природа обмеження розміру дисків зв'язана з форматом (числом біт), використовуваним для завдання номерів голівок, циліндрів і секторів в інтерфейсах Int 13 і IDE (CHS-адресація). Оскільки обидва інтерфейси використовують різні формати, їхнє спільне застосування не дозволяє працювати з дисками розміром більш 528 мегабайт. У таблиці 3 приведені формати чисел, використовуваних для нумерації в BIOS і IDE:

    Існує два способи перебороти обмеження розміру диска. Перший спосіб полягає у використанні трансляції адрес CHS (циліндр-голівка-сектор) - перерахування реальних значень у фіктивним, задовольняючим обмеженням BIOS. Контролер і BIOS використовують у цьому випадку різну геометрію для адресації даних на диску. Якщо диск містить 1500 секторів і має 16 голівок, то в результаті трансляції BIOS буде сприймати його як пристрій з 750 циліндрами і 32 голівками.

    Технологія Enhanced IDE використовує інший метод, називаний логічною адресацією блоків (LBA - Logical Block Address). У цьому випадку використовується наскрізна нумерація секторів і адреса CHS перетвориться в одне 28-бітове число, використовуване для нумерації секторів - LBA-адреса. Метод LBA забезпечує більш ефективний спосіб роботи з великими дисками за рахунок простоти перетворення адреси. Крім того, цей спосіб представляється більш ефективним при розробці нових операційних систем. Схема адресації з використанням LBA була вперше застосована фірмою Western Digital наприкінці 1993 року, дозволивши створити диск IDE розмірів 540Мб (модель AC2540).

    Підвищення швидкості обміну

    Шина ISA забезпечує можливість обміну даними з диском на швидкості 2-3Мб/сек. У порівнянні зі швидкостями SCSI-контролерів (5, 10 і 20Мб/сек), ця швидкість занадто мала. Донедавна обмеження швидкості обміну не грало істотної ролі, оскільки самі пристрої IDE не дозволяли чи зчитувати записувати дані зі швидкістю вище 5 Мбит/сек. В міру удосконалювання дискових технологій швидкість контролера 2-3Мб/сек початку все-таки обмежувати можливості вінчестерів IDE. Для підвищення продуктивності дискової підсистеми комп'ютерів довелося використовувати буферну пам'ять, установлювану на платі чи вінчестера хост-адаптера. Сучасні вінчестери можуть забезпечувати швидкість читання/запису до 48 Мбит/сек і проста буферизация для підвищення продуктивності роботи буде занадто дорогим рішенням.

    Швидкісні режими PIO

    Для підвищення швидкості обміну даними в сучасних ПК широко використовуються локальні шини. Локальна шина VESA була розроблена для прискорення висновку зображень на екран, а в 1992 році був випущений перший контролер IDE із шиною VLB (VESA Local Bus), що забезпечила деякий ріст швидкості обміну з диском. Трохи пізніше була розроблена специфікація локальної шини PCI. Контролери IDE з локальною шиною VLB підтримують високу швидкість обміну між диском і буфером, але і вони не можуть зрівнятися з контролерами Fast-SCSI (10Мб/сек.) через використання "сліпого" обміну в режимі програмувального введення-висновку (PIO). "Сліпий" метод PIO заснований на тім, що контролер (ведучий пристрій) запитує дані в диска (відомий пристрій) чи передає їх йому. При такому режимі використовується тільки частина смуги пропущення шини, що не дозволяє домогтися істотного росту швидкості контролерів IDE.

    Enhanced IDE включає операції, називані "керування потоком з використанням IORDY", що дозволяють диску включати пакетний режим передачі для 100% використання смуги пропущення шини. Режим керування потоком передає ініціативу пристрою (диску) і дозволяє позбутися від неефективних "сліпих" режимів PIO за рахунок установки смуги пропущення контролера відповідно до можливостей вінчестера. Це означає, що в тих випадках, коли доступна вся смуга, вінчестер буде керувати обміном даними з хост-адаптером.

    Режим 3 PIO з періодом тактирования 180нсек. забезпечує швидкість обміну 11Мб/сек., що перевищує швидкість Fast-SCSI (10Мб/сек.). Керування потоком з боку диска включається контролером за допомогою команди Set Features, у результаті чого такий обмін підтримується одночасно і диском, і контролером. Вінчестер AC2540 (540Мб) випущений у 1993 році фірмою Western Digital, підтримував керування потоком за допомогою IORDY, реалізоване за допомогою спеціалізованою мікросхеми-контролера. Основні можливості цього контролера пізніше були включені в стандартні набори мікросхем IDE.

    Режими DMA

    Хоча режими програмувального введення-висновку (PIO) є стандартним методом, підтримуваним у серійних пристроях IDE, і відрізняються високою сумісністю, існують і інші способи підвищення швидкості обміну з вінчестерами. Метод прямого доступу до пам'яті (DMA) заснований на передачі даних між диском і пам'яттю комп'ютера без використання центрального процесора CPU). Тип B для DMA визначений у специфікації EISA і забезпечує обмін зі швидкістю 4Мб/сек. Цей метод дає перевага в порівнянні зі стандартною швидкістю для шини ISA, але значно уступає Fast-SCSI.

    З розвитком технології локальних шин у специфікації PCI був запропонований новий варіант обміну з використанням DMA (тип F), що забезпечує швидкість 8.33 і 6.67Мб/сек. Відповідно до можливостей існуючих мікросхем була запропонована специфікація DMA Mode 1 з циклом 150нсек., що забезпечує швидкість обміну 13Мб/сек. за рахунок передачі декількох слів за один запит. Комплекти мікросхем з підтримкою DMA типу B (EISA) і типу F (PCI) поставляються з кінця 1993 року.

    Порівняння DMA і PIO

    Режими PIO у дискових контролерах IDE одержали більш широке поширення в порівнянні з режимами DMA. З цієї причини переривання BIOS Int 13 і драйвери пристроїв операційних систем підтримують режим PIO, а не DMA. Це означає, що для використання режимів DMA буде потрібно заміна BIOS і драйверів пристроїв.

    Технологія Enhanced IDE компанії Western Digital забезпечує можливість вибору між режимами PIO з керуванням потоком через IORDY (mode 3) і DMA (тип B чи F), реалізованими за допомогою драйверів.

    Збільшення числа пристроїв

    В оригінальному IBM PC AT була зарезервована підтримка двох контролерів для роботи з вінчестерами і кожний з цих контролерів дозволяв підключити два диски. Однак BIOS і драйвери операційних систем не підтримували використання другого контролера, що обмежувало можливості дискової підсистеми ПК. Сьогоднішні операційні системи надають можливість використовувати в комп'ютері всі чотири пристрої IDE (два порти). Додавання другого порту IDE на плату хост-адаптера майже не збільшує вартості останнього. Більшість мікросхем, використовуваних для виготовлення контролерів уже містять другий порт і пристрій декодування адреси, тому вартість розширення можливостей контролера фактично зводиться до вартості установці на платі додаткового 40-контактного рознімання для підключення кабелю ($1). Розширення дискової системи комп'ютера до 4 пристроїв за допомогою нових контролерів IDE економічно більш ефективно в порівнянні з використанням пристроїв SCSI.

    Технологія Enhanced IDE компанії Western Digital дозволяє BIOS визначити другий контролер по номері диска, переданому перериванню Int 13. DOS версії 3.30 і вище дозволяє використовувати в комп'ютері до семи пристроїв, тому для підтримки додаткових дисків IDE потрібно лише змінити BIOS, щоб забезпечити можливість використання другого каналу IDE. Операційні системи типу OS/2 і Windows NT дозволяють використовувати чотири пристрої IDE і зі старими BIOS; Novell NetWare дозволяє встановлювати в комп'ютер чотири контролери IDE, до яких можна підключити вісьмох пристроїв.

    Підключення пристроїв ATAPI

    Другий порт IDE не тільки дозволяє збільшити число дисків, але і забезпечує можливість підключення пристроїв, що не є вінчестерами - наприклад, приводів CD-ROM чи стриммерів. Підключення повільних пристроїв типу CD-ROM до другого порту забезпечує можливість роботи вінчестера без затримок навіть при відсутності роздільного тактирования пристроїв (при відсутності роздільного тактування швидкість обміну з підключеними до одного порту пристроями визначається більш повільним з них).

    Компанія Western Digital розробила специфікацію ATAPI (ATA Packet Interface) для підключення до контролера IDE нових пристроїв збереження, подібних до приводів CD-ROM і стриммерам. У традиційній комп'ютерній архітектурі використовувався механізм перенесення даних, заснований на регістрах. Сучасні варіанти архітектури використовують механізм передачі на основі пакетів. ATAPI є розширенням стандарту IDE, що забезпечує можливість роботи з пакетами. Специфікація ATAPI додає до IDE єдину нову команду, що розширює функції контролера, і дві нових команди адресації.

    EIDE у порівнянні зі стандартним ATA

    Сучасні технології пристроїв і контролерів IDE забезпечують їм можливість успішної конкуренції зі стандартом SCSI. IDE забезпечує гарну сумісність і простоту використання поряд з невисокою ціною. Крім того, сучасні варіанти IDE забезпечують не менш високу швидкість, чим SCSI (програючи тільки Fast/Wide SCSI). Істотна також можливість підключення недискових пристроїв до сучасних контролерів ATA/IDE.

    Serial ATA

    Рисунок 7.20 Роз'єми SATA на материнській платі

    SATA (Serial ATA) — послідовний інтерфейс обміну даними з накопичувачами інформації (як правило, з твердими дисками). SATA є розвитком інтерфейсу ATA (ІDE), який після появи SATA був перейменований в PATA (Parallel ATA).

    SATA/150

    На початку стандарт SATA передбачав роботу шини на частоті 1,5 ГГц, що забезпечує пропускну здатність приблизно в 1,2 Гбіт/с (150 МБ/с). (20%-а втрата продуктивності пояснюється використанням системи кодування 8B/10B, при якій на кожні 8 біт корисної інформації припадає 2 службових біта). Пропускна здатність SATA/150 незначно вище пропускної здатності шини Ultra ATA (UDMA/133). Головною перевагою SATA перед PATA є використання послідовної шини замість паралельної. Незважаючи на те, що послідовний спосіб обміну принципово повільніше паралельного, у цьому випадку це компенсується можливістю роботи на більш високих частотах за рахунок більшої перешкодостійкості кабелю. Це досягається 1) меншим числом провідників й 2) об'єднанням інформаційних провідників в 2-і виті пари, екрановані заземленими провідниками.

    SATA/300

    Стандарт SATA/300 працює на частоті 3 ГГЦ, забезпечує пропускну здатність до 2,4 Гбіт/з (300 МБ/с). Уперше був реалізований у контролері чіпсету nForce 4 фірми NVIDІA. Досить часто стандарт SATA/300 називають SATA ІІ або SATA 3.0. [1] Теоретично SATA/150 й SATA/300 пристрої повинні бути сумісні (як SATA/300 контролер і SATA/150 пристрій, так і SATA/150 контролер й SATA/300 пристрій) за рахунок підтримки узгодження швидкостей (у меншу сторону), однак для деяких пристроїв і контролерів потрібне ручне виставляння режиму роботи (наприклад, на твердому диску фірми Seagate, що підтримують SATA/300, для примусового включення режиму SATA/150 передбачений спеціальний джампер).

    Стандарт SATA передбачає можливість збільшення швидкості роботи до 600МБ/с (6 ГГц).

    Опис SATA

    SATA використає 7-контактний роз'єм замість 40-контактного роз'єму в PATA. SATA-кабель має меншу ширину, за рахунок чого зменшується опір повітрю, що обдуває комплектуючі комп'ютера; поліпшується охолодження системи.

    SATA-кабель за рахунок своєї форми більш стійкий до багаторазового підключення. Шнур живлення SATA так само розроблений з урахуванням багаторазових підключень. Роз'єм живлення SATA подає 3 напруги: +12 В, +5 У и +3,3 В; однак сучасні пристрої можуть працювати без напруги +3,3 В, що дає можливість використати пасивний перехідник зі стандартного роз'єму ІDE на SATA. Ряд SATA пристроїв поставляється із двома роз'ємами живлення: SATA й Molex.

    Стандарт SATA відмовився від традиційного для PATA підключення по двох пристроїв на шлейф; кожному пристрою покладається окремий кабель, що знімає проблему неможливості одночасної роботи пристроїв, що перебувають на одному кабелі (і затримок, що виникали звідси), зменшує можливі проблеми при зборці (проблема конфлікту Slave/Master пристроїв для SATA відсутній), усуває можливість помилок при використанні нетермінованих PATA-шлейфів.

    Стандарт SATA передбачає гарячу заміну пристроїв і функцію черги команд (NCQ).

    Роз'єми SATA

    Рисунок 7.21 Роз'єм живлення SATA

    Рисунок 7.22 Роз'єм даних SATA.

    SATA пристрою використають два роз'єми: 7-контактний (підключення шини даних) і 15-контактний (підключення живлення). Стандарт SATA передбачає можливість використати замість 15-контактного роз'єму живлення стандартне 4-контактний роз'єм Molex. Використання одночасно обох типів силових роз'ємів може привести до ушкодження пристрою.

    G — заземлення (англ. Ground) R — зарезервовано

    D1+,D1?,D2+,D2? — два канали передачі даних (від контролера до пристрою й від пристрою до контролера відповідно). Для передачі сигналу використається технологія LVDS, проведення кожної пари (D1+, D1? и D2+, D2?) є екранованими витими парами.

    eSATA

    Рисунок 7.23 логотип eSATA

    eSATA (External SATA) — інтерфейс підключення зовнішніх пристроїв, що підтримує режим "гарячої заміни" (англ. Hot-plug). Був створений трохи пізніше SATA (у середині 2004).

    Основні особливості eSATA:

  • Вимагає для підключення два проведення: шину даних і силовий кабель;
  • Обмежений по довжині кабелю даних (близько 2 м);
  • Середня практична швидкість передачі даних вище, ніж в USB або IEEE 1394;
  • Істотно менше навантажується центральний процесор;
  • SAS

    Докладніше у статті: Serial Attached SCSI

    Інтерфейс SAS (англ. Serial Attached SCSI) забезпечує підключення по фізичному інтерфейсу, аналогічному SATA, пристроїв, керованих набором команд SCSІ. Маючи зворотну сумісність із SATA, він дає можливість підключати до цього інтерфейсу будь-які пристрої, керовані набором команд SCSІ - не тільки тверді диски, але й сканери, принтери й ін. У порівнянні з SATA, SAS забезпечує більше розвинену топологію, дозволяючи здійснювати паралельне підключення одного пристрою по двох або більше каналах. Також підтримуються розширювачи шини, що дозволяють підключити кілька SAS пристроїв до одного порту.

    Comments