ІВАНІВСЬКИЙ ДЕРЖАВНИЙ УНІВЕРСИТЕТ b> p>
КАФЕДРА СИСТЕМ, ТЕХНОЛОГІЙ, ОРГАНІЗАЦІЇ ВИРОБНИЦТВА І АСУ. b> p>
РЕФЕРАТ
«ШИНИ» p>
Виконав студент p>
1ого курсу 3ей групи p>
економічного факультету p>
Попадюк А. В. p>
Перевірив Голяков С. М. p>
Іванова - 1999
b>
Зміст:
Шина ISA (Industrial Standard Architecture)
3
Шина EISA (Extended Industry Standard Architecture)
6
Шина MCA (Micro Channel Architecture)
7
Локальна шина (Local bus)
9
Шина PCI (Peripheral Component Interconnect bus)
11
Шина AGP (Accelerated Graphic Port)
13
Шина USB (Universal Serial Bus)
15
Шина IEEE 1394 (Firewire)
20
(Intelligent Input/Output)
24
Шина EV-6
27
Список використаних матеріалів:
29
Шина ISA b> p>
(Industrial Standard Architecture) b> p>
Шина, як відомо, являє собою, власне, набір проводів (ліній), яка з'єднує
різні компоненти комп'ютера для підведення до них харчування та обміну даними. В "мінімальної комплектації" шина має три типи ліній: p>
лінії управління; p>
лінії адресації; p>
лінії даних. p>
Пристрої, підключені до шини, діляться на дві основні категорії - bus masters і bus
slaves. Bus masters - це пристрої, здатні керувати роботою шини, тобто ініціювати запис/читання і т.д. Bus slaves - відповідно, пристрої,
які можуть лише відповідати на запити. Правда, є ще "інтелектуальні слуги" (intelligent slaves), але ми їх поки для
ясності замной. Ну от, власне, і все, що потрібно знати про шини для того, щоб зрозуміти, про що піде мова далі. p>
Компанія IBM в 1981 представила нову шину для використання в комп'ютерах серії PC/XT. Шина
була вкрай проста по дизайну, містила 53 сигнальних лінії і 8 ліній живлення і представляла собою синхронну 8-бітну шину з контролем парності і
дворівневими переривань (trigger-edge interrupts), при використанні яких пристрої запитують переривання, змінюючи стан лінії
відповідного IRQ з 0 на 1 або назад. Така організація запитів переривань дозволяє використовувати кожне переривання лише одного пристрою.
Крім того, шина не підтримувала додаткових bus masters, і єдиними пристроями, які керують шиною, були процесор і контролер DMA на
материнській платі. p>
62-контактний слот (див. таблицю 1) включав 8 ліній даних, 20 ліній адреси (А0-А19), 6 ліній запиту переривань
(IRQ2-IRQ7). Таким чином, обсяг адресується пам'яті становив 1 Мбайт, і при частоті шини 4.77 МГц пропускна здатність досягала 1.2 Мбайт/сек. p>
Забавно, що IBM не опублікувала повного опису шини з тимчасовими діаграмами сигналів на
лініях даних і адреси, тому перші розробникам плат розширення довелося неабияк попрацювати. p>
Недоліки шини, що випливають із простоти конструкції, очевидні. Тому для використання в комп'ютерах IBM-AT
( 'Advanced Technology') в 1984 році була представлена нова версія шини, згодом названої ISA. Зберігаючи сумісність зі старими 8-бітними платами
розширення, нова версія шини володіла рядом істотних переваг, як то: p>
додавання 8 ліній даних дозволило вести 16-бітний
обмін даними; p>
додавання 4 ліній адреси дозволило збільшити максимальний розмір адресується пам'яті до 16 МВ; p>
були додані 5 додаткових trigger-edged ліній
IRQ; p>
була реалізована часткова підтримка додаткових bus
masters; p>
частота шини була збільшена до 8 MHz; p>
пропускна здатність досягла 5.3 МВ/сек. p>
Реалізація bus mastering не була особливо вдалою, оскільки, наприклад, запит на звільнення
шини ( 'Bus hang-off') до поточного bus master оброблявся кілька тактів, до того ж кожен master повинен був періодично звільняти шину, щоб дати
можливість провести оновлення пам'яті (memory refresh), або сам проводити оновлення. Для забезпечення зворотної сумісності з 8-бітними платами большінстіво нових
можливостей було реалізовано шляхом додавання нових ліній (див. таблицю 2). Так як АТ був побудований на основі процесора Intel 80286, який був істотно
швидше, ніж 8088, довелося додати генератор станів очікування (wait-state generator). Для обходу цього генератора використовується вільна лінія (контакт
В8 NOWS-'No Wait State ') вихідної 8-бітної шини. При встановленні цієї лінії в 0 такти очікування пропускаються. Використання як NOWS лінії вихідної шини
дозволяло розробникам робити як 16-бітові, так і 8-бітні "швидкі" плати. p>
Контакт
Назва сигналу
Контакт
Назва сигналу
B1
Ground
A1
I/O Channel Check
B2
Reset Driver
A2
Data7
B3
+5 V
A3
Data6
B4
IRQ2
A4
Data5
B5
-5V
A5
Data4
B6
DMA Request 2
A6
Data3
B7
-12V
A7
Data2
B8
J8/NOWS [1]
A8
Data1
B9
12 V
A9
Data0
B10
Ground
A10
I/O Channel Ready
B11
Memory Write
A11
Address Enable
B12
Memory Read
A12
Address19
B13
I/O Write
A13
Address18
B14
I/O Read
A14
Address17
B15
DMA Acknoledge3
A15
Address16
B16
DMA Request3
A16
Address15
B17
DMA Acknoledge1
A17
Address14
B18
DMA Request1
A18
Address13
B19
Refresh
A19
Address12
B20
Clock
A20
Address11
B21
IRQ7
A21
Address10
B22
IRQ6
A22
Address9
B23
IRQ5
A23
Address8
B24
IRQ4
A24
Address7
B25
IRQ3
A25
Address6
B26
DMA Acknoledge2
A26
Address5
B27
Terminal Count
A27
Address4
B28
Address Latch Enable
A28
Address3
B29
+5 V
A29
Address2
B30
Oscillator
A30
Address1
B31
Ground
A31
Address0
Таблиця 1. Призначення контактів роз'єму 8-розрядної шини ISA p>
Новий слот містив 4 нових адресних лінії (LA20-LA23) та копії трьох молодших адресних ліній
(LA17-LA19). Необхідність у такому дублюванні виникла через те, що адресні лінії ХТ були лініями з затримкою (latched lines), і ці затримки
приводили до зниження швидкодії периферійних пристроїв. Використання дублюючого набору адресних ліній дозволяло 16-бітної карті на початку циклу
визначити, що до неї звертаються, і послати сигнал про те, що вона може здійснювати 16-бітний обмін. Насправді, це ключовий момент у забезпеченні
зворотної сумісності. Якщо процесор намагається здійснити 16-бітний доступ до плати, він зможе це зробити тільки в тому випадку, якщо отримає від неї
відповідний відгук IO16. В іншому випадку чіпсет ініціює замість одного 16-бітного циклу два 8-бітних. І все б було добре, але адресних ліній без
затримки всього 7, тому плати, що використовують діапазон адрес менший, ніж 128Кбайт, не могли визначити, чи знаходиться переданий адреса в їх діапазоні
адрес, і, відповідно, надіслати відгук IO16. Таким чином, багато плати, у тому числі плати EMS, не могли використовувати 16-бітовий обмін ... p>
Контакт b>
Назва сигналу b>
Контакт
Назва сигналу b>
B1
Ground
A1
I/O Channel Check
B2
Reset Driver
A2
Data7
B3
+5 V
A3
Data6
B4
IRQ2
A4
Data5
B5
-5V
A5
Data4
B6
DMA Request 2
A6
Data3
B7
-12V
A7
Data2
B8
No Wait States
A8
Data1
B9
12 V
A9
Data0
B10
Ground
A10
I/O Channel Ready
B11
Memory Write
A11
Address Enable
B12
Memory Read
A12
Address19
B13
I/O Write
A13
Address18
B14
I/O Read
A14
Address17
B15
DMA Acknoledge3
A15
Address16
B16
DMA Request3
A16
Address15
B17
DMA Acknoledge1
A17
Address14
B18
DMA Request1
A18
Address13
B19
Refresh
A19
Address12
B20
Clock
A20
Address11
B21
IRQ7
A21
Address10
B22
IRQ6
A22
Address9
B23
IRQ5
A23
Address8
B24
IRQ4
A24
Address7
B25
IRQ3
A25
Address6
B26
DMA Acknoledge2
A26
Address5
B27
Terminal Count
A27
Address4
B28
Address Latch Enable
A28
Address3
B29
+5 V
A29
Address2
B30
Oscillator
A30
Address1
B31
Ground
A31
Address0
Ключ
Ключ
D1
Memory Access 16 bit
C1
System Bus High
D2
I/O 16 bit
C2
Latch Address 23
D3
IRQ10
C3
Latch Address 22
D4
IRQ11
C4
Latch Address 21
D5
IRQ12
C5
Latch Address 20
D6
IRQ15
C6
Latch Address 19
D7
IRQ14
C7
Latch Address 18
D8
DMA Acknoledge0
C8
Latch Address 17
D9
DMA Request1
C9
Memory Read
D10
DMA Acknoledge5
C10
Memory Write
D11
DMA Request5
C11
Data8
D12
DMA Acknoledge6
C12
Data9
D13
DMA Request6
C13
Data10
D14
DMA Acknoledge7
C14
Data11
D15
DMA Request7
C15
Data12
D16
+5 V
C16
Data13
D17
Master 16 bit
C17
Data14
D18
Ground
C18
Data15
Таблиця 2. Призначення контактів роз'єму 16-розрядної шини ISA. P>
Незважаючи на відсутність офіційного стандарту і технічних "родзинок" шина ISA перевершувала потреби середнього
користувача зразка 1984 року, а "засилля" IBM AT на ринку масових комп'ютерів призвело до того, що виробники плат розширення і клонів AT
взяли ISA за стандарт. Така популярність шини призвела до того, що слоти ISA досі присутні на всіх системних платах, та плати ISA до цих
виробляються. Правда, Microsoft в специфікації PC99 передбачає відмову від ISA, але, як кажуть, до цього потрібно ще дожити. p>
Шина EISA b>
(Extended Industry Standard Architecture) b>
Шина EISA явилась "асиметричною відповіддю" виробників клонів РС на спробу
IBM поставити ринок під свій контроль. У вересні 1988 Compaq, підтриманий "бандою дев'яти" - Wyse, AST Research, Tandy, власне
Compaq, Hewlett-Packard, Zenith, Olivetti, NEC і Epson - представив 32-розрядне розширення шини ISA з повною зворотну сумісність. Основні
характеристики нової шини були наступними: p>
32-розрядна передача даних; p>
максимальна пропускна здатність - 33 МВ/сек; p>
32-розрядна адресація пам'яті дозволяла адресувати до 4
GB (як і в розширенні ISA, нові адресні лінії були без затримки); p>
підтримка multiply bus master; p>
можливість завдання рівня дворівневого (edge-triggered) переривання (що дозволяло кільком пристроям використовувати
одне переривання, як і у випадку багаторівневого (level-triggered) переривання); p>
автонастройка плат розширення; p>
Як і у випадку 16-розрядного розширення, нові можливості забезпечувалися шляхом додавання
нових ліній. Оскільки далі подовжувати роз'єм ISA було нікуди, розробники знайшли оригінальне рішення: нові контакти були розміщені між контактами шини
ISA і не були доведені до краю роз'єму. Спеціальна система виступів на роз'ємі і щілин у EISA-картах дозволяла їм глибше заходити в роз'єм і приєднуватися до
новим контактам. (Щоправда, стверджують, що при великому бажанні можна запхати і ISA-карту так, щоб вона замкнула EISA-контакти. Не знаю, не пробував, тому що
великого досвіду спілкування з EISA у мене немає: малий був ще). Оскільки на даний момент шина EISA практично вимерла, приводити значення контактів
роз'єму не має сенсу. Варто відзначити лише два нових сигнальних лінії - EX32 і EX16, які визначали, що bus slave підтримує відповідно 32 - і
16-розрядний цикл EISA. Якщо жоден із цих сигналів не був отриманий на початку циклу шини, виконувався цикл ISA. p>
Важливою особливістю шини була можливість для будь-якого bus master звертатися до
будь-якого пристрою пам'яті або периферійний пристрій, навіть якщо вони мали різні розряди шини. Говорячи про повну зворотної сумісності з ISA, слід
відзначити, що ISA-картки, природно, не підтримували поділ переривань, навіть будучи вставленими в EISA-конектор. Що стосується підтримки multiply bus
master, то вона представляла собою поліпшену і доповнену версію такої для ISA. Також були присутні чотири рівні пріоритету: p>
1. схеми оновлення пам'яті; p>
2. DMA; p>
3. процесор; p>
4. адаптери шини p>
і арбітр шини EISA - периферійний контролер (ISP - Integrated System Peripheral) - "стежив за
порядком ". Крім цього, було достатньо ще один пристрій - Intel's Bus Master Interface Chip (BMIC), яка стежила за тим, щоб master" не
засиджувався "на шині. Через певну кількість тактів master" знімався "з шини і генерувати немаскіруемое переривання. p>
MCA проти EISA b> p>
Відразу ж після виходу шини EISA почалася "шинна війна", причому це була не стільки війна між архітектурою (вони обидві пішли
в минуле), скільки війна за контроль IBM над ринком персональних комп'ютерів. І цю війну корпорація з тріском програла. Так, архітектура MCA по закладеним
технічним рішенням і перспективам розвитку виглядала краще. Але, як не дивно, саме це виявилося другим фактором, який її загубив. Порівняльна характеристика шин EISA і MCA представлена у вигляді табл. 3. P>
MCA
EISA b>
Пропускна здатність, МВ/сек
20
33
Спосіб доступу до даних
асинхронний
Синхронний
Розмір карти (довжина х ширина), мм
292.1 х 88.2
333.5 х 127.0
Таблиця 3. Порівняльна характеристика шин EISA і MCA. P>
Площа поверхні картки EISA в 1.65 рази більше. А якщо ще врахувати, що адаптер EISA
міг споживати більш ніж в 2 рази більше потужності, ніж адаптер MCA, стає ясно, що робити периферію під EISA було і простіше і дешевше. p>
Крім того, в "шинної війні", як і скрізь, є "рука Intel". У
прагненні звільнити ринок для нових процесорів 80386 і 80486, Intel випускав EISA-чіпсети, які не підтримують 286 процесор (чи не так, знайома
ситуація), у той час, як шина MCA чудово працювала і на комп'ютерах з 286. Таким чином, перспективна розробка IBM так і залишилася перспективною
розробкою, але і шина EISA не стала хітом: на той час, коли потреби комп'ютерів середнього рівня переросли можливості шини ISA, розробники
перейшли, минаючи EISA, до локальної шини. p>
Шина MCA b>
(Micro Channel Architecture) b>
"До 1 квітня 1987 життя в світі РС була вкрай простий: у байті було 8 біт, і при
це була тільки одна шина, по якій ці біти можна було передавати. Звичайно, ця шина була "двох розмірів" - розрядністю 8 і 16 біт - але
це була одна шина. Але наступного дня - 2 квітня - все змінилося, і, здається, простота більше ніколи не повернеться. " P>
Кріс Лонг (Chris Long) PC User. p>
У 1987 році компанія IBM припинила випуск серії РС/АТ і почала виробництво лінії PS/2.
Одним з головних відмінностей нового покоління персональних комп'ютерів була нова системна шина - Micro Channel Architecture (MCA). Ця шина не володіла
зворотну сумісність із ISA, але зате містила ряд передових для свого часу рішень: p>
8/16/32-разрядная передача даних; p>
20 МВ/сек пропускна здатність при частоті шини 10
MHz (в 4 рази більше, ніж у ISA!) При максимально можливої пропускної здатності шини 160 МВ/сек! (більше, ніж у PCI) (правда, не всі карти
здатні працювати з такою швидкістю); p>
Підтримка декількох bus master. Будь-який пристрій,
підключений до шини, може отримати право на її виняткове використання для передачі або прийому даних з іншого сполученого з нею пристрою. Таке
пристрій, по суті, являє собою спеціалізований процесор, який може здійснювати обмін даними по шині незалежно від основного процесора.
Роботу пристроїв координує пристрій, який називається арбітром шини (CACP - Central Arbitration Control Point). При розподілі функцій управління шиною
арбітр виходить з рівня пріоритету, яким володіє той або інший пристрій або операція. Усього таких рівнів чотири (у порядку убування): p>
5. регенерація системної пам'яті; p>
6. прямий доступ до пам'яті (DMA); p>
7. плати адаптерів. p>
8. процесор. p>
Якщо пристрою необхідний контроль над шиною, воно повідомляє про це арбітрові. При
перший можливості (після обробки запитів з більш високими пріоритетами) арбітр передає йому керування шиною. Поза системи пріоритетів обслуговуються
тільки немаскіруемие переривання (NMI - non-maskable interrupts), при виникненні яких управління негайно передається процесору; p>
11-рівневі переривання (11-level triggered interrupts)
замість дворівневих (trigger-edged) у ISA дозволяли ділити (share) переривання між пристроями, що дозволило вилікувати одну з хвороб перше PC --
брак ліній IRQ; p>
24 або 32 адресних лінії дозволяли адресувати до 4 GB
пам'яті; p>
автоматичне конфігурування пристроїв істотно
спростило установку новихплат. У комп'ютерів з шиною MCA немає ніяких перемичок або перемикачів - ні на системній платі, ні на платах розширення. Замість
використання адрес портів вводу-виводу, зашиті у залізо, центральний процесор призначає їх при старті системи, що базується на інформації, зчитаної
з ROM карти; p>
асинхронний протокол передачі даних знижував вірогідність
виникнення конфліктів і перешкод між пристроями, підключеними до шини. p>
Чи не правда, непоганий набір для 1987? Можливо, весь розвиток персональних комп'ютерів
пішло б іншим шляхом, якщо б не одне але - гроші. Справа в тому, що IBM, вважаючи своє лідируюче положення на ринку персональних комп'ютерів
непорушним, запропонувало незалежним виробникам, які бажають використовувати шину МСА, абсолютно кабальні умови, що включають вимогу заплатити за
використання шини ISA у всіх раніше створених комп'ютерах! Як Ви самі розумієте, бажаючих виявилося, м'яко кажучи, небагато. Із серйозних компаній
тільки Apricot і Olivetti підтримали нову архітектуру (причому Olivetti брала активну участь у розробці конкуруючого стандарту - EISA).
Більшість покупців систем PS/2 "купували IBM", а не МСА. В результаті величезна робота - було розроблено 6 типів слотів - p>
16-розрядні (основні слоти, які встановлюється
у всі комп'ютери з шиною МСА); p>
32-розрядні (встановлюються на комп'ютерах із шиною
МСА і процесором 386DX і вище. Так само, як і в ISA, є лише розширенням основного слота, але, оскільки розроблялися одночасно з
шиною, конструкція вийшла більш логічною); p>
16 і 32-розрядні з доповненнями для плат пам'яті (встановлюються в деяких комп'ютерах із шиною МСА, наприклад, PS/2 моделей 70
і 80, мають 8 додаткових контактів для роботи з платами розширення пам'яті, розташованих на самому початку роз'єму, звернених до задньої стінці комп'ютера,
перед основними контактами); p>
16 і 32-розрядні з доповненнями для відеоадаптерів
(призначені для збільшення швидкодії відеосистеми. Звичайно в комп'ютері із шиною МСА встановлений один такий слот. 10 додаткових контактів також
розташовані на початку роз'єму і дозволяють платі відеоадаптера отримати доступ до встроеннщй в системну плату схемою VGA) p>
пропала фактично задарма. На даний момент посилання на архітектуру МСА практично не зустрічаються навіть на
сайті IBM (наскільки мені відомо, в даний час архітектура МСА використовується IBM тільки в RISC-системах, наприклад, сервер RS/6000 побудований на
базі шини МСА з пропускною здатністю 160 МВ/сек), тому наводити таблиці значень контактів не буду. p>
Локальна шина (Local bus) b>
Всі описані раніше шини мають загальний недолік - порівняно низьку пропускну здатність. Це пов'язано з тим, що шини
розроблялися з розрахунку на повільні процесори. Надалі швидкодію процесора зростала, а характеристики шин поліпшувалися в основному
"екстенсивно", за рахунок додавання нових ліній. Перешкодою для підвищення частоти шини було величезна кількість випущених плат, які не
могли працювати на великих швидкостях обміну (МСА це стосується меншою мірою, але в силу вищевикладених причин ця архітектура не відігравала помітної ролі на
ринку). У той же час на початку 90-х років у світі персональних комп'ютерів відбулися зміни, що зажадали різкого збільшення швидкості обміну з
пристроями: p>
створення нового покоління процесорів типу Intel 80486,
що працюють на частотах до 66 MHz; p>
збільшення ємності жорстких дисків і створення більш
швидких контролерів; p>
розробка та активне просування на ринок графічних
інтерфейсів користувача (типу Windows або OS/2) призвели до створення нових графічних адаптерів, що підтримують більш високий дозвіл і більше
кількість кольорів (VGA і SVGA). p>
Очевидним виходом з положення, що є наступний: здійснювати частину
операцій обміну даними, що вимагають високих швидкостей, не через шину введення/виводу, а через шину процесора, приблизно так само, як підключається
зовнішній кеш. Така конструкція одержала назву локальної шини (Local Bus). Малюнки 1 і 2наглядно демонструють відмінність між звичайною архітектурою і
архітектурою з локальною шиною. p>
Локальна шина не заміняла собою колишні
стандарти, а доповнювала їх. Основними шинами в комп'ютері, як і раніше залишалися ISA або EISA, але до них додавалися один або кілька слотів локальної шини.
Спочатку ці слоти використовувалися майже виключно для установки відеоадаптерів, при цьому до 1992 року було розроблено кілька несумісних
між собою варіантів локальних шин, виключи-тільні права на які належачи-ли фірмам-виготовив-телям. Природно, така плутанина стримувала
поширенням локальних шин, тому VESA (Video Electronic Standard Association) - асоціація, представ-ляющие більше 100 компаній - запропонова-жила в
серпні 1992 року свою специфікацію локальної шини. p>
Локальна шина VESA (VL-bus) b> p>
Основні характеристики VL-bus такі. p>
Підтримка процесорів серій 80386 та 80486. Шина розроблена для використання в однопроцесорних системах, при цьому в
специфікації передбачена можливість підтримки х86-несумісних процесорів з допомогою моста (bridge chip). p>
Максимально число bus master - 3 (не включаючи контролер
шини). При необхідності можливе встановлення декількох підсистем для підтримки більшої кількості masterов. p>
Незважаючи на те, що спочатку шина була розроблена
для підтримки відеоконтролерів, можлива підтримка та інших пристроїв (наприклад, контролерів жорсткого диска). p>
Стандарт допускає роботу шини на частоті до 66 MHz,
однак електричні характеристики роз'єму VL-bus обмежують її до 50 MHz (це обмеження, природно, не відноситься до інтегрованих в материнську
плату пристроїв). p>
Двонаправлена (bi-directional) 32-розрядна шина
даних підтримує і 16-розрядний обмін. У специфікацію закладена можливість 64-розрядного обміну. p>
Підтримка DMA забезпечується тільки для bus masters.
Шина не підтримує спеціальних "ініціаторів" DMA. p>
Максимальна теоретична пропускна здатність шини
- 160 МВ/сек (при частоті шини 50 MHz), стандартна - 107 МВ/сек при частоті 33 MHz. p>
Підтримується пакетний режим обміну (для материнських
плат 80486, що підтримують цей режим). 5 ліній використовується для ідентифікації типу та швидкості процесора, сигнал Burst Last (BLAST #) використовується для
активізації цього режиму. Для систем, що не підтримують цей режим, лінія встановлюється в 0. p>
Шина використовує 58-контактний роз'єм МСА. Максимально
підтримується 3 слота (на деяких 50-мегагерцовим шинах можливе встановлення тільки 1 слота). p>
Слот VL-bus встановлюється в лінію за слотами ISA/EISA/MCA,
тому VL-платам доступні всі лінії цих шин. p>
Підтримується як інтегрований кеш процесора, так
і кеш на материнській платі. p>
Напруга живлення - 5 В. Пристрої з рівнем вихідного сигналу 3.3 В підтримуються за умови, що вони можуть працювати з
рівнем вхідного сигналу 5 В. p>
Шина VL-bus стала величезним кроком вперед у порівнянні з ISA як по
продуктивності, так і по дизайну. Однією з переваг шини було те, що вона дозволяла створювати карти, що працюють з існуючими чіпсетами і не
містять великої кількості схем дорогої керуючої логіки. У результаті VL-карти виходили дешевше аналогічних EISA-карт. Однак і ця шина
не була позбавлена недоліків, головними з яких були наступні. p>
Орієнтація на 486-ой процесор. VL-bus жорстко прив'язана
до шини процесора 80486, що відрізняється від шин Pentium і Pentium Pro/Pentium II. p>
Обмежене швидкодію. Як вже було сказано,
реальна частота VL-bus - не більше 50 MHz. Причому при використанні процесорів з множником частоти шина використовує основну частоту (так, для
486DX2-66 частота шини буде 33 MHz). p>
Схемотехнічні обмеження. До якості сигналів,
переданих по шині процесора, пред'являються дуже жорсткі вимоги, дотримати які можна тільки за певних параметрах навантаження кожної лінії
шини. На думку Intel, установка недостатньо акуратно розроблених VL-плат може призвести не лише до втрат даних та порушенням синхронізації, але і до
пошкодження системи. p>
Обмеження кількості плат. Це обмеження випливає
також з необхідності дотримання обмежень на навантаження кожної лінії. p>
Незважаючи на існуючі недоліки, VL-bus була безсумнівним лідером на ринку, тому що дозволяла усунути вузьке місце відразу в
двох підсистемах - відеопідсистема і підсистемі обміну з жорстким диском. Однак лідерство було недовгим, оскільки корпорація Intel розробила свою новинку --
шину PCI. На думку компанії, VL-bus базувалася на технологіях 11-річної давності і була всього лише "латкою", компромісом між
виробниками. Правда, VESA заявляла, що обидві шини можуть "уживатися" спільно в одній системі. Intel погоджувалася, що таке
сусідство можливо, але ставила зустрічний вбивчий питання: "А навіщо?". Справедливості заради, треба сказати, що PCI дійсно була
врятована від більшості недоліків, притаманних VL-bus. p>
Шина PCI b> p>
(Peripheral Component Interconnect bus) b> p>
Отже, переходимо до найцікавішого. Що ж стоїть на сьогоднішній день усередині
більшості наших комп'ютерів? Природно, шина PCI. Інше питання, чому саме ця шина. Спробуємо розібратися. p>
Отже, розробка шини PCI почалася навесні 1991 року як внутрішній проект корпорації
Intel (Release 0.1). Фахівці компанії поставили перед собою мету розробити недороге рішення, яке б дозволило повністю реалізувати
можливості нового покоління процесорів 486/Pentium/P6 (ось вже половина відповіді). Особливо підкреслювалося, що розробка проводилася "з
нуля ", а не була спробою встановлення нових" латок "на існуючі рішення. У результаті шина PCI з'явилася в червні 1992 року (R1.0).
Розробники Intel відмовилися від використання шини процесора і запровадили ще одну "антресольному" (mezzanine) шину. P>
Завдяки такому рішенню шина вийшла, по-перше, процесор-незалежної (на відміну від
VLbus), а по-друге, могла працювати паралельно з шиною процесора, не звертаючись до неї за запитами. Наприклад, процесор працює собі з кешем або
системною пам'яттю, а в цей час по мережі на вінчестер пишеться інформація. Просто здорово! Насправді ідилії, звичайно, не виходить, але завантаження шини
процесора знижується здорово. Крім того, стандарт шини був оголошений відкритим і переданий PCI Special Interest Group, яка продовжила роботу по
вдосконалення шини (в даний час доступний R2.1), і в цьому, мабуть, друга половина відповіді на питання "чому PCI?" p>
Основні можливості шини наступні. p>
Синхронний 32-х або 64-х розрядний обмін даними (щоправда, наскільки мені відомо, 64-розрядна шина в даний час
використовується тільки в Alpha-системах і серверах на базі процесорів Intel Xeon, але, в принципі, за нею майбутнє). При цьому для зменшення числа контактів (і
вартості) використовується мультиплексування, то є адреса і дані передаються по одних і тих же лініях. p>
Підтримка 5V і 3.3V логіки. Роз'єми для 5 і 3.3V плат
розрізняються розташуванням ключів p>
Частота роботи шини 33MHz або 66MHz (у версії 2.1)
дозволяє забезпечити широкий діапазон пропускних здібностей (з використанням пакетного режиму): p>
132 МВ/сек при 32-bit/33MHz; p>
264 MB/сек при 32-bit/66MHz; p>
264 MB/сек при 64-bit/33MHz; p>
528 МВ/сек при 64-bit/66MHz. p>
При цьому для роботи шини на частоті 66MHz необхідно, щоб усі периферійні пристрої
працювали на цій частоті. p>
Повна підтримка multiply bus master (наприклад, декілька контролерів жорстких дисків можуть одночасно працювати на шині). p>
Підтримка write-back і write-through кеша. p>
Автоматичне конфігурування карт розширення при
включення харчування. p>
Специфікація шини дозволяє комбінувати до восьми
функцій на одній карті (наприклад, відео + звук і т.д.). p>
Шина дозволяє встановлювати до 4 слотів розширення,
проте можливе використання моста PCI-PCI для збільшення кількості карт розширення. p>
PCI-пристрої обладнані таймером, який використовується для визначення максимального проміжку часу, на протязі
якого пристрій може займати шину. p>
При розробці шини в її архітектуру були закладені передові технічні рішення, що дозволяють
підвищити пропускну здатність. p>
Шина підтримує метод передачі даних, так званий "linear burst" (метод лінійних пакетів). Цей
метод передбачає, що пакет інформації зчитується (або записується) "одним шматком", тобто адресу автоматично збільшується для
наступного байта. Природним чином при цьому збільшується швидкість передачі власне даних за рахунок зменшення числа переданих адрес. p>
Шина PCI є тією черепахою, на якій стоять слони, які підтримують "Землю" --
архітектуру Microsoft/Intel Plug and Play (PnP) PC architecture. Специфікація шини PCI визначає три типи ресурсів: два звичайних (діапазон пам'яті і діапазон
введення/виводу, як їх називає компанія Microsoft) і configuration space - "конфігураційне простір". p>
Конфігураційне простір складається з трьох регіонів: p>
заголовка, незалежного від пристрою (device-independent header region); p>
регіону, який визначається типом пристрою (header-type
region); p>
регіону, який визначається користувачем (user-defined
region). p>
У заголовку міститься інформація про виробника і тип пристрою - поле Class Code
(мережевий адаптер, контролер диска, мультимедіа і т.д.) і інша службова інформація. p>
Наступний регіон містить регістри діапазонів пам'яті і введення/виводу, які дозволяють динамічно виділяти пристрою область
системної пам'яті та адресного простору. Залежно від реалізації системи конфігурація пристроїв проводиться або BIOS (при виконанні POST - power-on
self test), або програмно. Базовий регістр expansion ROM аналогічно дозволяє відображати ROM пристрої в системну пам'ять. Поле CIS (Card Information Structure) pointer використовується картами cardbus (PCMCIA R3.0). З Subsystem
vendor/Subsystem ID все зрозуміло, а останні 4 байти регіону використовуються для визначення переривання і часу запиту/володіння. p>
Малюнок 4. Конфігураційне простір. P>
Accelerated b> b> Graphic b> b> Port b> p>
Все хороше колись закінчується. Прикро - але достеменно. Скільки писали про те, що шина PCI нарешті усунула "вузьке
місце "РС - обмін з відеокартами - але не тут-то було! Прогрес, як відомо, не стоїть на місці. Поява різних там 3D прискорювачів призвело до
тому, що руба постало питання: що робити? Або збільшувати кількість дорогою пам'яті безпосередньо на відеокарті, або зберігати частину інформації в дешевій
системної пам'яті, але при цьому яким-небудь чином організувати до неї швидкий доступ. p>
Як це практично завжди буває в комп'ютерній індустрії, питання вирішено не було.
Здавалося б, ось вам просте рішення: переходьте на 66-мегагерцовим 64-розрядну шину PCI з великою пропускною здатністю, так ні ж. Intel на
базі того ж стандарту PCI R2.1 розробляє нову шину - AGP (R1.0, потім 2.0), яка відрізняється від свого "батька" в наступному: p>
1. шина здатна передавати два блоки даних за один 66 MHz цикл (AGP 2x); p>
2. усунена мультиплексування ліній адреси і даних (нагадаю, що в PCI для здешевлення конструкції адреса і дані передавалися по
одним і тим же лініях); p>
3. подальша конвейеризації операцій читання/запису, на думку розробників, дозволяє усунути вплив затримок в модулях пам'яті на
швидкість виконання цих операцій. p>
У результаті пропускна здатність шини була оцінена в 500 МВ/сек, і призначалася вона
для того, щоб відеокарти зберігали текстури в системній пам'яті, відповідно мали менше пам'яті на платі, і, відповідно, дешевшали. p>
Парадокс у тому, що відеокарти все-таки вважають за краще мати БІЛЬШЕ пам'яті, і МАЙЖЕ НІХТО не зберігає текстури в системній пам'яті,
оскільки текстур такого обсягу поки (підкреслюю - поки що) практично немає. При цьому в силу здешевлення пам'яті взагалі, карти особливо й не дорожчають. Однак
практично всі вважають, що майбутнє - за AGP, а бурхливий розвиток мультимедіа-додатки (особливо - ігор) може швидко привести до того, що
текстури перестануть влазити і в системну пам'ять. Тому має сенс, особливо не вдаючись у технічні подробиці, розповісти, як же це все працює. p>
p>
Отже, почнемо з початку, тобто з AGP 1.0. Шина має два основні режими роботи: Execute і DMA. У режимі DMA основною пам'яттю
є пам'ять карти. Текстура зберігаються в системній пам'яті, але перед використанням (той самий execute) копіюються в локальну пам'ять карти. Таким
чином, AGP діє в якості "тиловий структури", що забезпечує своєчасну "доставку патронів" (текстур) на передній край (в
локальну пам'ять). Обмін ведеться послідовними великими пакетами. p>
У режимі Execute локальна і системна пам'ять для відеокарти логічно рівноправні.
Текстура не копіюються в локальну пам'ять, а вибираються безпосередньо з системною. Таким чином, доводиться вибирати з пам'яті відносно малі
випадково розташовані шматки. Оскільки системна пам'ять виділяється динамічно, блоками по 4К, в цьому режимі для забезпечення прийнятного
швидкодії необхідно передбачити механізм, що відображає послідовні адреси на реальні адреси 4-кілобайтні блоків в системній пам'яті. Ця
нелегке завдання виконується з використанням спеціальної таблиці (Graphic Address Re-mapping Table або GART), розташованої в пам'яті. p>
При цьому адреси, які не потрапляють в діапазон GART (GART range), не змінюються і безпосередньо відображаються на системну пам'ять або
область пам'яті пристрою (device specific range). На малюнку в якості такої області показано локальний фрейм-буфер карти (Local Frame Buffer або LFB).
Точний вигляд і функціонування GART не визначені й залежать від керуючої логіки карти. p>
Шина AGP повністю підтримує операції шини PCI, тому AGP-трафік може являти собою суміш чергуються AGP і PCI операцій читання/запису.
Операції шини AGP є окремими (split). Це означає, що запит на проведення операції відділений від власне пересилання даних. P>
Такий підхід дозволяє AGP-пристрою генерувати чергу запитів, не чекаючи завершення
поточної операції, що також підвищує швидкодію шини. p>
У 1998 році специфікація шини AGP отримала подальший розвиток - вийшов Revision 2.0. У результаті використання нових
низьковольтних електричних специфікацій з'явилася можливість здійснювати 4 транзакції (пересилання блоку даних) за один 66-мегагерцовим такт (AGP 4x), що
означає пропускну здатність шини в 1GB/сек! Єдине, чого не вистачає для повного щастя, так це щоб пристрій міг динамічно перемикатися між
режимами 1х, 2х та 4х, але з іншого боку, це нікому й не потрібно. p>
Однак потреби і запити в області обробки відеосигналів все зростають, і Intel
готує нову специфікацію - AGP Pro (нині доступний Revision 0.9) - спрямовану на задоволення потреб високопродуктивних
графічних станцій. Новий стандарт не видозмінює шину AGP. Основний напрямок - збільшення енергопостачання графічних карт. З цією метою в
роз'єм AGP Pro додано нові лінії живлення. p>
Передбачається, що буде існувати два типи карт AGP Pro - High Power і Low Power. Карти High Power можуть споживати від 50 до
110W. Природно, такі карти мають потребу в гарному охолодженні. З цією метою специфікація вимагає наявності двох вільних слотів PCI з component side
(сторони, на якій розміщені основні чіпи) карти. p>
При цьому дані слоти можуть використовуватися картою як додаткові кріплення, для
підведення додаткового харчування і навіть для обміну по шині PCI! При цьому на використання цих слотів накладаються лише незначні обмеження. p>
При використанні слотів для підведення додаткового харчування: p>
Не використовувати для харчування лінії VI/O; p>
Не встановлювати л