Смекни!
smekni.com

Шини (Industrial Standard Architecture) (стр. 3 из 7)

Локальна шина VESA (VL-bus)

Основні характеристики VL-bus такі.

· Підтримка процесорів серій 80386 і 80486. Шина розроблена для використання в однопроцесорних системах, при цьому в специфікації передбачена можливість підтримки х86-несумісних процесорів за допомогою моста (bridge chip).

· Максимальне число bus master - 3 (не включаючи контролер шини). При необхідності можлива установка декількох підсистем для підтримки більшого числа маstеrов.

· Незважаючи на те, що споконвічно шина була розроблена для підтримки відеоконтролерів, можливі підтримка й інші пристрої (наприклад, контролерів твердого диска).

· Стандарт допускає роботу шини на частоті до 66 MHz, однак електричні характеристики рознімання VL-bus обмежують неї до 50 MHz (це обмеження, природно, не відноситься до інтегрованого в материнську плату пристроям).

· Двунаправлена (bi-directional) 32-розрядна шина даних підтримує і 16-розрядний обмін. У специфікацію закладена можливість 64-розрядного обміну.

· Підтримка DMA забезпечується тільки для bus masters. Шина не підтримує спеціальних "ініціаторів" DMA.

· Максимальна теоретична пропускна здатність шини - 160 МВ/хв (при частоті шини 50 MHz), стандартна - 107 МВ/хв при частоті 33 MHz.

· Підтримується пакетний режим обміну (для материнських плат 80486, що підтримують цей режим). 5 ліній використовується для ідентифікації типу і швидкості процесора, сигнал Burst Last (BLAST#) використовується для активізації цього режиму. Для систем, що не підтримують цей режим, лінія встановлюється в 0.

· Шина використовує 58-контактне рознімання МСА. Максимально підтримується 3 слоту (на деяких 50-мегагерцовых шинах можлива установка тільки 1 слоту).

· Слот VL-bus встановлюється в лінію за слотами ISA/EISA/MCA, тому VL-платам доступні всі лінії цих шин.

· Підтримується як інтегрований кеш процесора, так і кеш на материнській платі.

· Напруга харчування - 5 В. Пристрою з рівнем вихідного сигналу 3.3 У підтримуються за умови, що вони можуть працювати з рівнем вхідного сигналу 5 В.

Шина VL-bus з'явилася величезним кроком вперед у порівнянні з ISA як по продуктивності, так і по дизайні. Одним з переваг шини було те, що вона дозволяла створювати карти, що працюють з існуючими чипсетами і не утримуючої великої кількості схем дорогої керуючої логіки. У результаті VL-карти виходили дешевше аналогічних EISA-карт. Однак і ця шина не була позбавлена недоліків, головними з яких були наступні.

· Орієнтація на 486-ий процесор. VL-bus жорстко прив'язана до шини процесора 80486, що відрізняється від шин Pentium і Pentium Pro/Pentium II.

· Обмежена швидкодія. Як уже було сказано, реальна частота VL-bus - не більше 50 MHz. Причому при використанні процесорів із множником частоти шина використовує основну частоту (так, для 486DX2-66 частота шини буде 33 MHz).

· Схемотехнічні обмеження. До якості сигналів, переданих по шині процесора, пред'являються дуже тверді вимоги, дотриматися які можна тільки при визначених параметрах навантаження кожної лінії шини. На думку Intel, установка недостатньо акуратно розроблених VL-плат може привести не тільки до втрат даних і порушенням синхронізації, але і до ушкодження системи.

· Обмеження кількості плат. Це обмеження випливає також з необхідності дотримання обмежень на навантаження кожної лінії.

Незважаючи на існуючі недоліки, VL-bus була безсумнівним лідером на ринку, тому що дозволяла усунути вузьке місце відразу в двох підсистемах - відеопідсистемі і підсистемі обміну з твердим диском. Однак лідерство було недовгим, оскільки корпорація Intel розробила свою новинку - шину PCI. На думку компанії, VL-bus базувалася на технологіях 11-літньої давнини і була усього лише "латочкою", компромісом між виробниками. Правда, VESA заявляла, що обидві шини можуть "уживатися" спільно в одній системі. Intel погоджувалася, що таке сусідство можливо, але задавала зустрічне убивче питання: "А навіщо?". Справедливості заради, треба сказати, що PCI дійсно була урятована від більшості недоліків, властивих VL-bus.

Шина PCI (Peripheral Component Interconnect bus)

Отже, переходимо до самого цікавого. Що ж знаходиться на сьогоднішній день усередині більшості наших комп'ютерів? Природно, шина PCI. Інше питання, чому саме ця шина. Спробуємо розібратися.

Отже, розробка шини PCI почалася навесні 1991 року як внутрішній проект корпорації Intel (Release 0.1). Фахівці компанії поставили перед собою ціль розробити недороге рішення, яке б дозволило цілком реалізувати можливості нового покоління процесорів 486/Pentium/P6 (от уже половина відповіді). Особливо підкреслювалося, що розробка проводилася "з нуля", а не була спробою установки нових "латок" на існуючі рішення. У результаті шина PCI з'явилася в червні 1992 року (R1.0). Розроблювачі Intel відмовилися від використання шини процесора і ввели ще одну "антресольну" (mezzanine) шину.

Завдяки такому рішенню шина вийшла, по-перше, процесоро-незалежною (на відміну від VLbus), а по-друге, могла працювати паралельно із шиною процесора, не звертаючи до неї за запитами. Наприклад, процесор працює собі з кешем або системною пам'яттю, а в цей час по мережі на вінчестер пишеться інформація. Просто здорово! Насправді ідилії, звичайно, не виходить, але завантаження шини процесора знижується здорово. Крім того, стандарт шини був оголошений відкритим і переданий PCI Special Interest Group, що продовжила роботу з удосконалювання шини (у даний час доступний R2.1), і в цьому, мабуть, друга половина відповіді на питання "чому PCI?"

Основні можливості шини наступні.

· Синхронний 32-х або 64-х розрядний обмін даними (правда, наскільки мені відомо, 64-розрядна шина в даний час використовується тільки в Alpha-системах і серверах на базі процесорів Intel Xeon, але, у принципі, за нею майбутнє). При цьому для зменшення числа контактів (і вартості) використовується мультіплексірування, тобто адреса і дані передаються по тим самим лініях.

· Підтримка 5V і 3.3V логіки. Рознімання для 5 і 3.3V плат розрізняються розташуванням ключів

· Частота роботи шини 33MHz або 66MHz (у версії 2.1) дозволяє забезпечити широкий діапазон пропускних здібностей (з використанням пакетного режиму):

· 132 МВ/хв при 32-bit/33MHz;

· 264 MB/хв при 32-bit/66MHz;

· 264 MB/хв при 64-bit/33MHz;

· 528 МВ/хв при 64-bit/66MHz.

При цьому для роботи шини на частоті 66MHz необхідно, щоб усі периферійні пристрої працювали на цій частоті.

· Повна підтримка multiply bus master (наприклад, кілька контролерів твердих дисків можуть одночасно працювати на шині).

· Підтримка write-back і write-through кеша.

· Автоматичне конфігуровання карт розширення при включенні харчування.

· Специфікація шини дозволяє комбінувати до восьми функцій на одній карті (наприклад, відео + звук і т.д.).

· Шина дозволяє встановлювати до 4 слотов розширення, однак можливе використання моста PCI-PCI для збільшення кількості карт розширення.

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

При розробці шини в її архітектуру були закладені передові технічні рішення, що дозволяють підвищити пропускну здатність.

Шина підтримує метод передачі даних, називаний "linear burst" (метод лінійних пакетів). Цей метод припускає, що пакет інформації зчитується (або записується) "одним шматком", тобто адреса автоматично збільшується для наступного байта. Природним образом при цьому збільшується швидкість передачі власне даних за рахунок зменшення числа переданих адрес.

Шина PCI є тією черепахою, на якій коштують слони, що підтримують "Землю" - архітектуру Microsoft/Intel Plug and Play (Pn) PC architecture. Специфікація шини PCI визначає три типи ресурсів: два звичайних (діапазони пам'яті і діапазон уведення/висновку, як них називає компанія Microsoft) і configuration space - "конфігураційний простір".

Конфігураційний простір складається з трьох регіонів:

· заголовка, незалежного від пристрою (device-independent header region);

· регіону, обумовленого типом пристрою (header-type region);

· регіону, обумовленого користувачем (user-defined region).

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

Наступний регіон містить регістри діапазонів пам'яті і введення/висновку, що дозволяють динамічно виділяти пристроєві область системної пам'яті й адресного простору. У залежності від реалізації системи конфігурація пристроїв виробляється або BIOS (при виконанні POST - power-on self test), або програмно. Базовий регістр expansion ROM аналогічно дозволяє відображати ROM пристрою в системну пам'ять. Поле CIS (Card Information Structure) pointer використовується картами cardbus (PCMCIA R3.0). З Subsystem vendor/Subsystem ID усі зрозуміло, а останні 4 байти регіону використовуються для визначення переривання і часу запиту/володіння.



Малюнок 4. Конфігураційний простір.

Усе гарне коли-небудь кінчається. Кривдно - але істинно. Скільки писали про те, що шина PCI нарешті-те усунула "вузьке місце" РС - обмін з відеокартами - але та ба! Прогрес, як відомо, не коштує на місці. Поява різних там 3D прискорювачів привело до того, що ребром устав питання: що робити? Або збільшувати кількість дорогої пам'яті безпосередньо на відеокарті, або зберігати частина інформації в дешевій системній пам'яті, але при цьому яким-небудь образом організувати до неї швидкий доступ.

Як це практично завжди буває в комп'ютерній індустрії, питання вирішене не був. Здавалося б, от вам найпростіше рішення: переходите на 66-мегагерцовую 64-розрядну шину PCI з величезною пропускною здатністю, так немає ж. Intel на базі того ж стандарту PCI R2.1 розробляє нову шину - AGP (R1.0, потім 2.0), що відрізняється від свого "батька" у наступному:

1. шина здатна передавати два блоки даних за один 66 MHz цикл (AGP 2x);

2. усунута мультіплексованість ліній адреси і даних (нагадаю, що в PCI для здешевлення конструкції адреса і дані передавалися по тим самим лініях);