Шини адреси і даних
Системні і локальні шини
Основним обов'язком системної шини є передача інформації між базовим мікропроцесором і іншими електронними компонентами комп'ютера. По цій шині здійснюється також адресація пристроїв і відбувається обмін спеціальними службовими сигналами. Таким чином, спрощено системну шину можна представити як сукупність сигнальних ліній, об'єднаних за їх призначенням (дані, адреси, управління). Передачею інформації по шині керує одне з підключених до неї пристроїв або спеціально виділений для цього вузол, званий арбітром шини.
Системна шина IBM PC і IBM PC/XT була призначена Для одночасної передачі тільки 8 біт інформації, тому що використовується в комп'ютерах мікропроцесор 18088 мав 8 ліній даних. Крім того, системна шина включала 20 адресних ліній, які обмежували адресний простір межею в 1 Мбайт. Для роботи із зовнішніми пристроями в цій шині були передбачені також 4 лінії апаратних переривань (IRQ) і 4 лінії для вимоги зовнішніми пристроями прямого доступу в пам'ять (DMA, Direct Memory Access). Для підключення плат розширення використовувалися спеціальні 62-контактні Роз'єми. Зауважимо, що системна шина і мікропроцесор синхронізувалися від одного тактового генератора з частотою 4,77 МГц. Таким чином, теоретично швидкість передачі даних могла досягати більше 4,5 Мбайт/с.
Шина ISA
У комп'ютерах PC/AT, що використовують мікропроцесор i80286, вперше стала застосовуватися нова системна шина ISA (Industry Standard Architecture), повністю реалізує можливості згаданого мікропроцесора. Вона відрізнялася наявністю додаткового 36-контактного роз'єму для відповідних плат розширення. За рахунок цього кількість адресних ліній було збільшено на чотири, а даних - на вісім. Тепер можна було передавати паралельно вже 16 розрядів даних, а завдяки 24 адресним лініях безпосередньо звертатися до 16 Мбайт системної пам'яті. Кількість ліній апаратних переривань в цій шині було збільшено з 7 до 15, а каналів DMA - з 4 до 7. Треба відзначити, що нова системна шина ISA повністю включала в себе можливості старої 8-розрядної шини, то є всі пристрої, що використовуються в PC/XT, могли без проблем застосовуватися і в PC/AT 286. Системні плати з шиною ISA вже припускали можливість синхронізації роботи самої шини і мікропроцесора різними тактовими частотами, що дозволяло пристроїв, виконаним на платах розширення, працювати повільніше, ніж базовий мікропроцесор. Це стало особливо актуальним, коли тактова частота процесорів перевищила 10-12 МГц. Тепер системна шина ISA стала працювати асинхронно з процесором на частоті 8 Мгц. Таким чином, максимальна швидкість передачі теоретично може досягати 16 Мбайт/с.
Шина EISA
З появою нових мікропроцесорів, таких, як i80386 і i486, стало очевидно, що одним із цілком подоланні перешкод на шляху підвищення продуктивності комп'ютерів з цими мікропроцесорами є системна шина ISA. Справа в тому, що можливості цієї шини для побудови високопродуктивних систем наступного покоління були практично вичерпані. Нова системна шина повинна була забезпечити найбільший можливий обсяг адресується пам'яті, 32-розрядну передачу даних, у тому числі і в режимі DMA, поліпшену систему переривань і арбітраж DMA, автоматичну конфігурацію системи і плат розширення. Такий шиною для IBM PC-сумісних комп'ютерів стала EISA (Extended Industry Standard Architecture). Зауважимо, що системні плати з шиною EISA спочатку були орієнтовані на цілком конкретну область застосування нової архітектури, а саме на комп'ютери, оснащені високошвидкісними підсистемами зовнішньої пам'яті на жорстких магнітних дисках з буферної кеш-пам'яті. Такі комп'ютери до цих пір використовуються в основному в якості потужних файл-серверів або робочих станцій.
У EISA-роз'єм на системній платі комп'ютера крім, зрозуміло, спеціальних EISA-плат може вставлятися або 8 - або 16-розрядна плата розширення, призначена для звичайної PC/AT з шиною ISA. Це забезпечується простим, але воістину геніальним конструктивним рішенням. EISA-роз'єми мають два ряди контактів, один з яких (верхній) використовує сигнали шини ISA, а другий (нижній) - відповідно EISA. Контакти в з'єднувачах EISA розташовані так, що поряд з кожним сигнальним контактом знаходиться контакт "Земля". Завдяки цьому зводиться до мінімуму ймовірність генерації електромагнітних перешкод, а також зменшується сприйнятливість до таких перешкод.
Шина EISA дозволяє адресувати 4-Гбайтное адресний простір, доступне мікропроцесорах 180386/486. Проте доступ до цього простору можуть мати не тільки центральний процесор, але і плати керуючих пристроїв типу bus master - головного абонента (тобто пристрої, здатні керувати передачею даних по шині), а також пристрої, які мають можливість організувати режим DMA. Стандарт EISA підтримує багатопроцесорну архітектуру для "інтелектуальних" пристроїв (плат), оснащених власними мікропроцесорами. Тому дані, наприклад, від контролерів жорстких дисків, графічних контролерів і контролерів мережі можуть оброблятися незалежно, не завантажуючи при цьому основний процесор. Теоретично максимальна швидкість передачі по шині
EISA в так званому пакетному режимі (burst mode) може досягати 33 Мбайт/с. У звичайному (стандартному) режимі вона не перевершує, зрозуміло, відомих значень для ISA.
На шині EISA передбачається метод централізованого Управління, організований через спеціальний пристрій - системний арбітр. Таким чином підтримується використовувало провідних пристроїв на шині, однак можливо також надання шини запитують пристроїв за циклічним принципом.
Як і для шини ISA, в системі EISA є 7 каналів DMA. виконання DMA-функцій повністю сумісне з аналогічними операціями на ISA-шині, хоча вони можуть відбуватися і трохи швидше. Контролери DMA мають можливість підтримувати 8 -, 16 - і 32-розрядні режими передачі даних. У загальному випадку можливе виконання одного з чотирьох циклів обміну між пристроєм DMA і пам'яттю системи. Це ISA-сумісні цикли, що використовують для передачі даних 8 тактів шини; цикли типу А, що виконуються за б тактів шини; цикли типу В, що виконуються за 4 такту шини, і цикли типу С (або burst DMA), в яких передача даних відбувається за один такт шини. Типи циклів А, В і С підтримуються 8 -, 16 - і 32-розрядними пристроями, причому можливо автоматичне зміна розміру (ширини) даних при передачі в не відповідає розміру пам'ять. Більшість ISA-сумісних пристроїв, що використовують DMA, можуть працювати майже в 2 рази швидше, якщо вони будуть запрограмовані на застосування циклів А чи В, а не стандартних (і порівняно повільних) ISA-циклів. Така продуктивність досягається тільки шляхом поліпшення арбітражу шини, а не на шкоду сумісності з ISA.
Пріоритети DMA в системі можуть бути або "обертаються" (змінними), або жорстко встановленими. Лінії переривання шини ISA, за якими запити переривання передаються у вигляді перепадів рівнів напруги (фронтів сигналів), значною мірою схильні до імпульсних перешкод. Тому на додаток до звичних сигналів переривань на шині ISA, активним тільки за своїм фронту, в системі EISA передбачені також сигнали переривань, активні за рівнем. Причому для кожного переривання вибір тієї чи іншої схеми активності може бути запрограмований заздалегідь. Власне переривання, активні по фронту, збережені в EISA тільки для сумісності зі "старими" адаптерами ISA, обслуговування запитів на переривання яких виробляє схема, чутлива до фронту сигналу. Зрозуміло, що переривання, активні за рівнем, менш схильні до шумів і перешкод, ніж звичайні. До того ж (теоретично) по одній і тій же фізичній лінії можна передавати нескінченно велике число рівнів переривання. Таким чином, одна лінія переривання може використовуватися для декількох запитів.
Для комп'ютерів з шиною EISA передбачено автоматичне конфігурування системи. Кожен виробник плат розширення для комп'ютерів із шиною EISA поставляє разом цими платами і спеціальні файли конфігурації. Інформація з цих файлів використовується на етапі підготовки системи роботи, яка полягає у розподілі ресурсів комп'ютера між окремими платами. Для "старих" плат адаптерів користувач повинен сам підібрати правильне положення DIP-перекдючателей (рис. 25) і перемичок, однак сервісна програма на EISA-комп'ютерах дозволяє відображати встановлені положення відповідних перемикачів на екрані монітора і дає деякі рекомендації щодо правильної їх встановлення. Крім цього в архітектурі EISA передбачається виділення певних груп адрес вводу-виводу для конкретних слотів шини - кожному гнізда розширення відводиться адресний діапазон 4 Кбайта, що також дозволяє уникнути конфліктів між окремими платами EISA.
Зауважимо, що комп'ютери, що використовують системні плати з шиною EISA, досить дорогі. До того ж шина, як і раніше тактуючого частотою близько 8-10 МГц, а швидкість передачі збільшується в основному завдяки збільшенню розрядності шини даних.
Локальні шини
Розробники комп'ютерів, системні плати яких грунтувалися на мікропроцесорах 180386/486, стали використовувати окремі шини для пам'яті та пристроїв вводу-виводу, що дозволило максимально задіяти можливості оперативної пам'яті, тому що саме в даному випадку пам'ять може працювати з найвищою для неї швидкістю . Проте при такому підході вся система не може забезпечити достатньої продуктивності, так як пристрої, підключені через роз'єми розширення, не можуть досягти швидкості обміну, порівнянної з процесором. В основному це стосується роботи з контролерами накопичувачів і відеоадаптерами. Для вирішення виниклої проблеми стали використовувати так звані локальні (local) шини, які безпосередньо пов'язують процесор з контролерами периферійних пристроїв.
Перші IBM PC-сумісні комп'ютери з локальними шинами не були, природно, є стандартизованими. Одним з провідних виробників персональних комп'ютерів, вперше реалізований відеопідсистему з локальною шиною, була компанія b> NEC b> Technologies. Ще в 1991 році ця фірма представила свою оригінальну розробку Image Video.
Шини VL-bus і PCI
b>
Останнім часом з'явилися два локальні шини, визнані промисловими: VL-bus (або VLB), запропонована асоціацією VESA (Video Electronics Standards Association), і PCI (Peripheral Component Interconnect), розроблена фірмою Intel. Обидві ці шини призначені, взагалі кажучи, для одного і того ж - для збільшення швидкодії комп'ютера, дозволяючи таким периферійних пристроїв, як відеоадаптери та контролери накопичувачів, працювати з тактовою частотою до 33 МГц і вище. Обидві шини використовують роз'єми типу МСА. На цьому, втім, їх схожість і закінчується, оскільки необхідна мета досягається різними засобами.
Якщо VL-bus є, по суті, розширенням шини процесора (згадаймо шину IBM PC/XT), то PCI по своїй організації більш тяжіє до системних шин, наприклад до EISA, і являє собою абсолютно нову розробку. Строго кажучи, PCI відноситься до класу так званих mezzanine-шин, тобто шин-"прибудов", оскільки між локальною шиною процесора і самої PCI знаходиться спеціальна мікросхема погодить "моста" (bridge).
Так як VL-bus продовжує шину процесора без проміжних буферів, її схемних реалізація виявляється більш дешевої і простий. Перша специфікація VESA, зокрема, передбачає, що до шини, яка є локальної 32-розрядної шиною системного мікропроцесора, може підключатися до трьох периферійних пристроїв. Деякі виробники, втім, переконані, що домогтися стійкої роботи трьох пристроїв на високих частотах взагалі неможливо, і встановлюють на свої плати тільки 2 слота. Обмеження на кількість пристроїв пов'язано з тим, що електрична навантажувальна здатність на сигнальні лінії будь-якого процесора досить невелика.
У якості пристроїв, що підключаються до VL-bus, в даний час виступають контролери накопичувачів, відеоадаптери і мережні плати. Конструктивно VL-bus виглядає як короткий з'єднувач типу МСА (112 контактів), встановлений, наприклад, поруч з роз'ємами розширення ISA чи EISA. При цьому 32 лінії використовуються для передачі даних і 30 - для передачі адреси. Максимальна швидкість передачі по шині VL-bus теоретично може становити близько 130 Мбайт/с. Варто відзначити, що на VL-bus не передбачено арбітр шини. На щастя, більшість підключаються до неї пристроїв є "пасивними", тобто самі не ініціюють передачу даних. Тим не менш, щоб уникнути можливих конфліктів між підключеними до шини пристроями в специфікації виділяються "керуючі" (master) і "керовані" (slave) адаптери. Для "керуючих" пристроїв на системних платах зазвичай визначені свої "мастерние" слоти. За задумом розробників, подібні "керуючі" пристрою могли здійснювати арбітраж на шині.
Після появи процесора Pentium асоціація VESA приступила до роботи над новим стандартом VL-bus (версія 2). Він передбачає, зокрема, використання 64-розрядної шини даних і збільшення кількості роз'ємів розширення (приблизно три роз'єми на 40 МГц і два на 50 Мгц). Очікувана швидкість передачі теоретично повинна зрости до 400 Мбайт/с. Зауважимо, що в даний час шина VL-bus представляє із себе порівняно недороге доповнення для комп'ютерів на базі 486-х процесорів з шиною ISA, причому із забезпеченням зворотної сумісності.
Специфікація шини b> PCI володіє декількома перевагами перед основною версією VL-bus. Так, використовувати PCI можна незалежно від типу процесора. Спеціальний контролер піклується про поділ керуючих сигналів локальної шини процесора і PCI-шини і, крім того, здійснює арбітраж на b> PCI . B> Саме тому ця шина може використовуватися і в інших комп'ютерних платформах. Слід зазначити, що гнучкість і швидкодія цієї шини припускають і великі апаратні витрати, ніж для VL-bus. Тим не менше шина PCI стала практичним стандартом для систем на базі Pentium і не менш успішно використовується в 486-х комп'ютерах.
Відповідно до специфікації PCI до шини можуть підключатися до 10 пристроїв. Це, однак, не означає використання такого ж числа роз'ємів розширення - обмеження відноситься до загального числа компонентів, у тому числі розташованих на системній платі. Оскільки кожна плата розширення PCI може поділятися між двома периферійними пристроями, то зменшується загальна кількість встановлюваних роз'ємів. На відміну від VL-bus шина PCI працює на фіксованому тактовою частотою 33 МГц і передбачає напруга живлення для контролерів як 5, так і 3,3 В, а також забезпечує режим їх автоматичної конфігурації (plug and play - "включай і працюй"). Зауважимо, що, наприклад, PCI-картки, розраховані на напругу +5 В, можуть вставлятися тільки у відповідні слоти, які конструктивно відрізняються від слотів для напруги 3,3 В.
Втім, є і так звані універсальні PCI-адаптери, які працюють в будь-якому з слотів. Шина PCI може використовувати 124-контактний (32-розрядна) або 188-контактний роз'єм (64-розрядна передача даних), при цьому теоретично можлива швидкість обміну складає відповідно 132 і 264 Мбаіта/с Специфікація PCI 2.1 в розрахунку на мікропроцесор Pentium (100 МГц ) визначає роботу з частотою 33-66 МГц і швидкістю обміну до 520 Мбайт/с. На системних платах встановлюється зазвичай не більше трьох-чотирьох слотів PCI.
Окремо хотілося б сказати про так званих разделяеми (shared) слотах ISA/PCI. Оскільки слоти для шини PCI розташовуються паралельно роз'ємів системної шини, то на систем ної плати через її обмеженого розміру досить важко розмістити необхідну кількість тих і інших. Саме тому не які виробники і використовують поділювану, або shared конфігурацію. У цьому випадку один зі слотів PCI розташовується настільки близько до гнізда системної шини, що можна використовувати тільки один з них, тобто підключити або ISA-, або PCI-пристрій, але, зрозуміло, у відповідний роз'єм.
Взагалі кажучи, багато хто виробники системних плат часто передбачають у своїх виробах різноманітні комбінації системних і локальних шин від ISA плюс VL-bus для порівняно дешевих систем до EISA плюс PCI для систем високого ypoв ня. Нерідко зустрічаються сполучення ISA плюс EISA плюс VL-bus ISA плюс EISA плюс PCI і навіть всі чотири шини одночасно що забезпечує певну гнучкість при ви бору адаптерів особливо з урахуванням високого рівня цін на продукцію для шин EISA і PC. Тим не менше "війні" локальних шин безсумнівну пoбeду здобула PCI.
Стандарт PCMCIA
b>
Пристрої, що відповідають першому версіі стандарту PCMCIA, замислювалися як альтернатива щодо важким і енергоємним приводам флоппі-дисків в портативних комп'ютерах. Нагадаємо, що "загадкова" абревіатура PCMCIA означає не що інше, як Personal Computer Memory Card International Association. До речі, прийнята цією асоціацією специфікація була відразу підтримана такими фірмами, як IBM, AT & T, Intel, NCR і Toshiba. Сьогодні цей стандарт підтримують вже близько 300 виробників. PCMCIA-пристрої розміром із звичайну кредитна картка є альтернативою звичайним плат розширення, що підключається до системної шини. Сьогодні в цьому стандарті випускаються модулі пам'яті, модеми та факс-модеми, SCSI-адаптери, мережеві карти, звукові карти, вінчестери і т.д. Особливою популярністю користуються PCMCIA-карти флеш-пам'яті, які не втрачають інформацію при виключенні живлення, володіють високою швидкодією і можуть бути використані в якості вінчестера без рухомих частин.
До речі, і для настільних комп'ютерів розроблено вже адаптери для PCMCIA-пристроїв. Під адаптером PCMCIA розуміється плата розширення, яка вставляється звичайно в слот системної шини і з'єднується з роз'ємом PCMCIA стрічковим кабелем. Сам роз'єм PCMCIA розміщується в стандартному відсіку з форм-фактором 3,5 або 5,25 дюйма.
Перша версія стандарту PCMCIA (release 1.0) була введена в серпні 1990 року і підтримувала всі типи пам'яті, виключаючи динамічну пам'ять DRAM. Таким чином, в специфікацію були включені: статична пам'ять SRAM; псевдостатіческая пам'ять PSRAM; постійна (масочний) память ROM; одноразово програмувальна постійна пам'ять PROM (або OTPROM - One-Time Programmable ROM); стирається ультрафіолетом Перепрограмміруємая пам'ять UV-EPROM (Ultraviolet Erasable PROM ); електрично стирається Перепрограмміруємая пам'ять EEPROM (Electrically Erasable PROM) і флеш-пам'ять (Hash). Робота асоціації PCMCIA над однойменної специфікацією проходила в тісному контакті з організацією JEIDA (Japan Electronic Industry Development Association) в Японії. Тому стандарт часто називають PCMCIA/JEIDA.
Вже у вересні 1991 року з'явилася друга версія специфікації (release 2.0), яка включала в себе нові особливості, такі, як підтримка пристроїв введення-виведення, додатковий сервіс для модулів флеш-пам'яті. підтримка модулів з подвійним "напругою живлення (5 і 3 В) і так званий XIP механізм (eXecute-In-Place). Зауважимо, що XIP-механізм забезпе спочиває виконання програм безпосередньо в просторі PCMCIA-модуля пам'яті, економлячи тим самим системну пам'ять комп'ютера .
Треба відзначити, що разом з версією 2.0 асоціація PCMCIA розробила нову специфікацію SSIS (Socket Services Interface Specification), яка встановлює стандартний набір системних викликів для роботи з PCMCIA-модулями. SSIS виконана у вигляді BIOS, що дозволяє зберегти незалежність використовуваних апаратних засобів, але гарантувати при цьому програмну сумісність. Перша версія SSIS була прийнята асоціацією PCMCIA в серпні 1991 року, а через місяць з'явилася вже трохи модифікована версія SSIS - release 1.01. В останній версії SSIS були покращені деякі раніше певні функції і введена підтримка захищеного режиму процесорів. Більш високий рівень програмних операцій (так званий Card Services) з PCMCIA-модулями був запропонований тільки на початку 1992 року.
Нова версія специфікації дозволяє називати PCMCIA-модулі просто PC Card (s). Отже, стандарт PCMCIA для зв'язку між PC Card і відповідним пристроєм (адаптером або портом) комп'ютера визначає 68-контактний механічний з'єднувач. На ньому виділені 16 розрядів під дані та 26 розрядів під адреса, що дозволяє безпосередньо адресувати 64 Мбайт пам'яті. Хоча деякі вивідні контакти призначені для сигналів, необхідних при роботі з пам'яттю, ці ж контакти можуть використовуватися і для інших сигналів, розрахованих на роботу з пристроями введення-виведення. Зрозуміло, перед цим відбувається так звана переконфігурація висновків. Наприклад, контакт для сигналу RDY/BSY (готовий/зайнятий), необхідний при роботі з певними типами пам'яті, може використовуватися для сигналу IREQ (запит переривання).
На боці модуля PC Card розташований з'єднувач-розетка (female), а на стороні комп'ютера - з'єднувач-вилка (male). Крім того, стандарт визначає три різні довжини контактів з'єднувача-вилки. Таке рішення легко пояснити. Оскільки підключення та відключення PC Card може відбуватися при працюючому комп'ютері (так зване гаряче), то для того, щоб на модуль спочатку подавалося напруга живлення, а лише потім напруга сигнальних ліній, відповідні контакти виконані більш довгими. Зрозуміло, що при відключенні PCMCIA-модуля все відбувається в зворотному порядку. Друга версія специфікації PCMCIA визначає тільки три типи габаритних розмірів для PC Card (Type I, Type II і Type III), до них повинен бути доданий і четвертий - Type IV. Два перші типу обмежують розміри PC Card до 54 мм (2,12 дюйма) в ширину і 85,6 мм (3,37 дюйма) в довжину. PCMCIA-модулі, що відповідають розмірам Type I, повинні мати товщину 3,3 мм, а відповідні Type II - 5,0 мм в середині і 3,3 мм по краях. Це забезпечує "геометричну" сумісність PC Card першого і другого типів. PC Card Туре III мають товщину 10,5 мм і, зрозуміло, непридатні для використання в слотах для модулів Туре I і II (див. рис. 27). Для третього типу модулів необхідні так звані слоти подвійної висоти. Зауважимо, однак, що товщина модуля Туре III по краях також дорівнює 3,3 мм. Саме такі модулі призначені для розміщення 1,3-дюймових вінчестерів.
Додавання до другої версії стандарту PCMCIA передбачають збільшення довжини модулів, що відповідають розмірам Type I і II, до 5,73 дюйма. Така конструкція особливо важлива для модулів модемів (факс-модемів), на яких, як відомо, має встановлюватися роз'єм типу RJ-11.
Крім габаритних розмірів стандарт PCMCIA наказує розміщення перемикача захисту записи, внутрішнього джерела струму, марки виробника, у разі якщо такі є. Треба відзначити, що "теплолюбні" PC Cards повинні нормально функціонувати при температурі від 0 до 55 градусів за Цельсієм.