Шина ISA
(Industrial Standard Architecture)
Шина, як відомо, являє собою, власне, набір проводів (ліній),
соедіняющійразлічние компоненти комп'ютера для підведення до них харчування та обміну
даними. В "мінімальної комплектації" шина має три типи ліній:
лінії управління;
лінії адресації;
лінії даних.
Пристрої, підключені до шини, діляться на дві основні категорії - bus masters
і busslaves. Bus masters - це пристрої, здатні керувати роботою шини, тобто
ініціювати запис/читання і т.д. Bus slaves - відповідно,
пристрої, які можуть лише відповідати на запити. Правда, є ще
"інтелектуальні слуги" (intelligent slaves), але ми їх поки дляясності замной.
Ну от, власне, і все, що потрібно знати про шини для того, щоб зрозуміти, про
що піде мова далі.
Компанія IBM в 1981 представила нову шину для використання в комп'ютерах серії
PC/XT. Шінабила вкрай проста по дизайну, містила 53 сигнальних лінії і 8
ліній живлення і представляла собою синхронну 8-бітну шину з контролем парності
ідвухуровневимі переривань (trigger-edge interrupts), при використанні
яких пристрої запитують переривання, змінюючи стан
лініісоответствующего IRQ з 0 на 1 або назад. Така організація запитів
переривань дозволяє використовувати кожне переривання тільки одному
устройству.Кроме того, шина не підтримувала додаткових bus masters, і
єдиними пристроями, які керують шиною, були процесор і контролер DMA
наматерінской платі.
62-контактний слот (див. таблицю 1) включав 8 ліній даних, 20 ліній адреси
(А0-А19), 6 ліній запиту переривань (IRQ2-IRQ7). Таким чином, обсяг адресується
пам'яті становив 1 Мбайт, і при частоті шини 4.77 МГц пропускна здатність
досягала 1.2 Мбайт/сек.
Забавно, що IBM не опублікувала повного опису шини з тимчасовими діаграмами
сигналів налініях даних і адреси, тому перший розробникам плат розширення
довелося неабияк попрацювати.
Недоліки шини, що випливають із простоти конструкції, очевидні. Тому для
використання в комп'ютерах IBM-AT ( 'Advanced Technology') в 1984 році була
представлена нова версія шини, згодом названої ISA. Зберігаючи
сумісність зі старими 8-бітними платамірасшіренія, нова версія шини володіла
рядом істотних переваг, як то:
додавання 8 ліній даних дозволило вести 16-бітнийобмен даними;
додавання 4 ліній адреси дозволило збільшити максимальний розмір адресується
пам'яті до 16 МВ;
було додано 5 додаткових trigger-edged лінійIRQ;
була реалізована часткова підтримка додаткових busmasters;
частота шини була збільшена до 8 MHz;
пропускна здатність досягла 5.3 МВ/сек.
Реалізація 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-бітні "швидкі" плати.
КонтактНазваніе сигналу КонтактНазваніе сигналу
B1Ground A1I/O Channel Check
B2Reset Driver A2Data7
B3 5 V A3Data6
B4IRQ2 A4Data5
B5-5V A5Data4
B6DMA Request 2 A6Data3
B7-12V A7Data2
B8J8/NOWS [1] A8Data1
B9 12 V A9Data0
B10Ground A10I/O Channel Ready
B11Memory Write A11Address Enable
B12Memory Read A12Address19
B13I/O Write A13Address18
B14I/O Read A14Address17
B15DMA Acknoledge3 A15Address16
B16DMA Request3 A16Address15
B17DMA Acknoledge1 A17Address14
B18DMA Request1 A18Address13
B19Refresh A19Address12
B20Clock A20Address11
B21IRQ7 A21Address10
B22IRQ6 A22Address9
B23IRQ5 A23Address8
B24IRQ4 A24Address7
B25IRQ3 A25Address6
B26DMA Acknoledge2 A26Address5
B27Terminal Count A27Address4
B28Address Latch Enable A28Address3
B29 5 V A29Address2
B30Oscillator A30Address1
B31Ground A31Address0
Таблиця 1. Призначення контактів роз'єму 8-розрядної шини ISA
Новий слот містив 4 нових адресних лінії (LA20-LA23) та копії трьох молодших
адресних ліній (LA17-LA19). Необхідність у такому дублюванні виникла через
того, що адресні лінії ХТ були лініями з затримкою (latched lines), і ці
задержкіпріводілі до зниження швидкодії периферійних пристроїв.
Використання дублюючого набору адресних ліній дозволяло 16-бітної карті в
початку ціклаопределіть, що до неї звертаються, і послати сигнал про те, що вона
може здійснювати 16-бітний обмін. Насправді, це ключовий момент в
обеспеченііобратной сумісності. Якщо процесор намагається здійснити 16-бітний
доступ до плати, він зможе це зробити тільки в тому випадку, якщо отримає від
неесоответствующій відгук IO16. В іншому випадку чіпсет ініціює замість
одного 16-бітного циклу два 8-бітних. І все б було добре, але адресних ліній
беззадержкі всього 7, тому плати, що використовують діапазон адрес менший, ніж
128Кбайт, не могли визначити, чи знаходиться переданий адреса в їх
діапазонеадресов, і, відповідно, надіслати відгук IO16. Таким чином, багато
плати, в тому числі плати EMS, не могли використовувати 16-бітовий обмін ...
КонтактНазваніе сігналаКонтактНазваніе сигналу
B1Ground A1I/O Channel Check
B2Reset Driver A2Data7
B3 5 V A3Data6
B4IRQ2 A4Data5
B5-5V A5Data4
B6DMA Request 2 A6Data3
B7-12V A7Data2
B8No Wait States A8Data1
B9 12 V A9Data0
B10Ground A10I/O Channel Ready
B11Memory Write A11Address Enable
B12Memory Read A12Address19
B13I/O Write A13Address18
B14I/O Read A14Address17
B15DMA Acknoledge3 A15Address16
B16DMA Request3 A16Address15
B17DMA Acknoledge1 A17Address14
B18DMA Request1 A18Address13
B19Refresh A19Address12
B20Clock A20Address11
B21IRQ7 A21Address10
B22IRQ6 A22Address9
B23IRQ5 A23Address8
B24IRQ4 A24Address7
B25IRQ3 A25Address6
B26DMA Acknoledge2 A26Address5
B27Terminal Count A27Address4
B28Address Latch Enable A28Address3
B29 5 V A29Address2
B30Oscillator A30Address1
B31Ground A31Address0
КлючКлюч
D1Memory Access 16 bit C1System Bus High
D2I/O 16 bit C2Latch Address 23
D3IRQ10 C3Latch Address 22
D4IRQ11 C4Latch Address 21
D5IRQ12 C5Latch Address 20
D6IRQ15 C6Latch Address 19
D7IRQ14 C7Latch Address 18
D8DMA Acknoledge0 C8Latch Address 17
D9DMA Request1 C9Memory Read
D10DMA Acknoledge5 C10Memory Write
D11DMA Request5 C11Data8
D12DMA Acknoledge6 C12Data9
D13DMA Request6 C13Data10
D14DMA Acknoledge7 C14Data11
D15DMA Request7 C15Data12
D16 5 V C16Data13
D17Master 16 bit C17Data14
D18Ground C18Data15
Таблиця 2. Призначення контактів роз'єму 16-розрядної шини ISA.
Незважаючи на відсутність офіційного стандарту і технічних "родзинок" шина ISA
перевершувала потреби среднегопользователя зразка 1984 року, а "засилля" IBM
AT на ринку масових комп'ютерів призвело до того, що виробники плат
розширення і клонів ATпрінялі ISA за стандарт. Така популярність шини призвела до
тому, що слоти ISA досі присутні на всіх системних платах, та плати
ISA до сіхпроізводятся. Правда, Microsoft в специфікації PC99 передбачає
відмова від ISA, але, як кажуть, до цього потрібно ще дожити.
Шина EISA
(Extended Industry Standard Architecture)
Шина EISA явилась "асиметричною відповіддю" виробників клонів РС на попиткуIBM
поставити ринок під свій контроль. У вересні 1988 Compaq, підтриманий
"бандою дев'яти" - Wyse, AST Research, Tandy, собственноCompaq, Hewlett-Packard,
Zenith, Olivetti, NEC і Epson - представив 32-розрядне розширення шини ISA з
повної зворотну сумісність. Основниехарактерістікі нової шини були
наступними:
32-розрядна передача даних;
максимальна пропускна здатність - 33 МВ/сек;
32-розрядна адресація пам'яті дозволяла адресувати до 4GB (як і в розширенні
ISA, нові адресні лінії були без затримки);
підтримка multiply bus master;
можливість завдання рівня дворівневого (edge-triggered) переривання (що
дозволяло кільком пристроям іспользоватьодно переривання, як і у випадку
багаторівневого (level-triggered) переривання);
автонастройка плат розширення;
Як і у випадку 16-розрядного розширення, нові можливості забезпечувалися шляхом
добавленіянових ліній. Оскільки далі подовжувати роз'єм ISA було нікуди,
розробники знайшли оригінальне рішення: нові контакти були розміщені між
контактами шіниISA і не були доведені до краю роз'єму. Спеціальна система
виступів на роз'ємі і щілин у EISA-картах дозволяла їм глибше заходити в роз'єм
і приєднуватися кновим контактам. (Щоправда, стверджують, що при великому бажанні
можна запхати і ISA-карту так, щоб вона замкнула EISA-контакти. Не знаю, не
пробував, т.к.большого досвіду спілкування з EISA у мене немає: малий був ще).
Оскільки на даний момент шина EISA практично вимерла, приводити значення
контактовраз'ема не має сенсу. Варто відзначити лише два нових сигнальних лінії
- EX32 і EX16, які визначали, що bus slave підтримує відповідно 32 -
і16-розрядний цикл EISA. Якщо жоден із цих сигналів не був отриманий на початку
циклу шини, виконувався цикл ISA.
Важливою особливістю шини була можливість для будь-якого bus master звертатися
клюбу пристрою пам'яті або периферійний пристрій, навіть якщо вони мали
різні розряди шини. Говорячи про повну зворотної сумісності з ISA,
следуетотметіть, що ISA-картки, природно, не підтримували поділ
переривань, навіть будучи вставленими в EISA-конектор.
multiply busmaster, то вона представляла собою поліпшену і доповнену версію
такої для ISA. Також були присутні чотири рівні пріоритету:
1. схеми оновлення пам'яті;
2. DMA;
3. процесор;
4. адаптери шини
і арбітр шини EISA - периферійний контролер (ISP - Integrated System
Peripheral) - "стежив запорядком". Крім цього, було достатньо ще одне
пристрій - Intel's Bus Master Interface Chip (BMIC), яка стежила за тим,
щоб master "незасіжівался" на шині. Через певну кількість тактів
master "знімався" з шини і генерувати немаскіруемое переривання.
MCA проти EISA
Відразу ж після виходу шини EISA почалася "шинна війна", причому це була не
стільки війна між архітектурою (вони обидві ушлів минуле), скільки війна за
IBM контроль над ринком персональних комп'ютерів. І цю війну корпорація з
тріском програла. Так, архітектура MCA по заложеннимтехніческім рішенням і
перспективам розвитку виглядала краще. Але, як не дивно, саме це
виявилося другим фактором, який її сгубіл.Сравнітельная характеристика шин
EISA і MCA представлена у вигляді табл. 3.
MCAEISA
Пропускна здатність, МВ/сек 2033
Спосіб доступу до даних асінхроннийСінхронний
Розмір карти (довжина х ширина), мм 292.1 х 88.2333.5 х 127.0
Таблиця 3. Порівняльна характеристика шин EISA і MCA.
Площа поверхні картки EISA в 1.65 рази більше. А якщо ще врахувати, що
адаптер EISAмог споживати більш ніж в 2 рази більше потужності, ніж адаптер MCA,
стає зрозуміло, що робити периферію під EISA було і простіше і дешевше.
Крім того, в "шинної війні", як і скрізь, є "рука Intel".
Встремленіі звільнити ринок для нових процесорів 80386 і 80486, Intel випускав
EISA-чіпсети, які не підтримують 286 процесор (чи не так, знакомаясітуація),
в той час, як шина MCA чудово працювала і на комп'ютерах з 286. Таким
чином, перспективна розробка IBM так і залишилася перспектівнойразработкой,
але і шина EISA не стала хітом: на той час, коли потреби комп'ютерів
середнього рівня переросли можливості шини ISA, разработчікіперешлі, минаючи EISA,
до локальної шини.
Шина MCA
(Micro Channel Architecture)
"До 1 квітня 1987 життя в світі РС була вкрай простий: у байті було 8 біт,
і пріетом існувала тільки одна шина, по якій ці біти можна було
передавати. Звичайно, ця шина була "двох розмірів" - розрядністю 8 і 16 біт -
ноето була одна шина. Але наступного дня - 2 квітня - все змінилося, і,
здається, простота більше ніколи не повернеться. "
Кріс Лонг (Chris Long) PC User.
У 1987 році компанія IBM припинила випуск серії РС/АТ і почала виробництво
лінії PS/2.Однім з головних відмінностей нового покоління персональних комп'ютерів
була нова системна шина - Micro Channel Architecture (MCA). Ця шина не
обладалаобратной сумісністю з ISA, але зате містила ряд передових для
свого часу рішень:
8/16/32-разрядная передача даних;
20 МВ/сек пропускна здатність при частоті шини 10MHz (в 4 рази більше, ніж у
ISA!) При максимально можливої пропускної здатності шини 160 МВ/сек!
(більше, ніж у PCI) (правда, не всі картиспособни працювати з такою швидкістю);
Підтримка декількох bus master. Будь-який пристрій, підключений до шини, може
отримати право на її виняткове використання для передачі або прийому
даних з іншого сполученого з нею пристрою. Такоеустройство, по суті,
є спеціалізований процесор, який може здійснювати
обмін даними по шині незалежно від основного процессора.Работу пристроїв
координує пристрій, який називається арбітром шини (CACP - Central Arbitration
Control Point). Пріраспределеніі функцій управління шінойарбітр виходить з
рівня пріоритету, яким володіє той або інший пристрій або операція. Всього
таких рівнів чотири (у порядку убування):
5. регенерація системної пам'яті;
6. прямий доступ до пам'яті (DMA);
7. плати адаптерів.
8. процесор.
Якщо пристрою необхідний контроль над шиною, воно повідомляє про це арбітрові.
Пріпервой можливості (після обробки запитів з більш високими пріоритетами)
арбітр передає йому керування шиною. Поза системи пріоритетів
обслужіваютсятолько немаскіруемие переривання (NMI - non-maskable interrupts),
при виникненні яких управління негайно передається процесору;
11-рівневі переривання (11-level triggered interrupts) замість дворівневих
(trigger-edged) у ISA дозволяли ділити (share) переривання між пристроями,
що дозволило вилікувати одну з хвороб перший PC-брак ліній IRQ;
24 або 32 адресних лінії дозволяли адресувати до 4 GBпамяті;
автоматичне конфігурування пристроїв существенноупростіло установку нових
плат. У комп'ютерів з шиною MCA немає ніяких перемичок або перемикачів - ні
на системній платі, ні на платах розширення. Вместоіспользованія адрес
портів введення-виводу, зашиті у залізо, центральний процесор призначає їх при
старті системи, що базується на інформації, счітаннойіз ROM карти;
асинхронний протокол передачі даних знижував вероятностьвознікновенія
конфліктів і перешкод між пристроями, підключеними до шини.
Чи не правда, непоганий набір для 1987? Можливо, весь розвиток персональних
компьютеровпошло б іншим шляхом, якщо б не одне але - гроші. Справа в тому,
що IBM, вважаючи своє лідируюче положення на ринку персональних
компьютеровнезиблемим, запропонувало незалежним виробникам, які бажають
використовувати шину МСА, абсолютно кабальні умови, що включають вимогу
заплатити заіспользованіе шини ISA у всіх раніше створених комп'ютерах!
Як Ви самі розумієте, бажаючих виявилося, м'яко кажучи, небагато. Із серйозних
компанійтолько Apricot і Olivetti підтримали нову архітектуру (причому Olivetti
брала активну участь у розробці конкуруючого стандарту -
EISA). Більшість покупців систем PS/2 "купували IBM", а не МСА. У результаті
величезна робота - було розроблено 6 типів слотів -
16-розрядні (основні слоти, які устанавліваетсяво всі комп'ютери з шиною
МСА);
32-розрядні (встановлюються на комп'ютерах з шінойМСА і процесором 386DX і
вище. Так само, як і в ISA, є лише розширенням основного слота, але,
оскільки розроблялися одночасно сшіной, конструкція вийшла більш
логічною);
16 і 32-розрядні з доповненнями для плат пам'яті (встановлюються в деяких
комп'ютерах із шиною МСА, наприклад, PS/2 моделей 70і 80, мають 8 додаткових
контактів для роботи з платами розширення пам'яті, розташованих на самому початку
роз'єму, звернених до задньої стінці комп'ютера, перед основними контактами);
16 і 32-розрядні з доповненнями для відеоадаптерів (призначені для
збільшення швидкодії відеосистеми. Зазвичай в комп'ютері із шиною МСА
встановлений один такий слот. 10 додаткових контактів такжерасположени в
початку роз'єму і дозволяють платі відеоадаптера отримати доступ до встроеннщй в
системну плату схемою VGA)
пропала фактично задарма. На даний момент посилання на архітектуру МСА практично
не зустрічаються навіть наса IBM (НАСК?? ько мені відомо, в даний час
архітектура МСА використовується IBM тільки в RISC-системах, наприклад, сервер
RS/6000 побудований набазе шини МСА з пропускною здатністю 160 МВ/сек), тому
приводити таблиці значень контактів не буду.
Локальна шина (Local bus)
Всі описані раніше шини мають загальний недолік - порівняно низьку пропускну
здатність. Це пов'язано з тим, що шіниразрабативалісь в розрахунку на повільні
процесори. Надалі швидкодію процесора зростала, а характеристики
шин поліпшувалися в основному "екстенсивно", за рахунок додавання нових ліній.
Перешкодою для підвищення частоти шини було величезна кількість випущених
плат, які немогли працювати на великих швидкостях обміну (МСА це стосується в
меншою мірою, але в силу вищевикладених причин ця архітектура не грала
помітної ролі наринке). У той же час на початку 90-х років у світі персональних
комп'ютерів відбулися зміни, що зажадали різкого збільшення швидкості
обміну сустройствамі:
створення нового покоління процесорів типу Intel 80486, що працюють на частотах
до 66 MHz;
збільшення ємності жорстких дисків і створення болеебистрих контролерів;
розробка та активне просування на ринок графіческіхінтерфейсов користувача
(типу Windows або OS/2) призвели до створення нових графічних адаптерів,
підтримують більш високий дозвіл і большееколічество квітів (VGA і
SVGA).
Очевидним виходом з положення, що є наступний: здійснювати
частьоперацій обміну даними, що вимагають високих швидкостей, не через шину
введення/виводу, а через шину процесора, приблизно так само, як подключаетсявнешній
кеш. Така конструкція одержала назву локальної шини (Local Bus). Малюнки 1 і
2наглядно демонструють відмінність між звичайною архітектурою іархітектурой з
локальною шиною.
Локальна шина не заміняла собою прежніестандарти, а доповнювала їх. Основними
шинами в комп'ютері, як і раніше залишалися ISA або EISA, але до них додавалися
один або кілька слотів локальної шіни.Первоначально ці слоти використовувалися
майже виключно для установки відеоадаптерів, при цьому до 1992 року було
розроблено декілька несовместімихмежду собою варіантів локальних шин,
виключи-тільні права на які належачи-ли фірмам-виготовив-телям.
Природно, така плутанина сдержівалараспро-страненіе локальних шин, тому
VESA (Video Electronic Standard Association) - асоціація, представ-ляющие більш
100 компаній - запропонова-жила вавгусте 1992 свою специфікацію локальної шини.
Локальна шина VESA (VL-bus)
Основні характеристики VL-bus такі.
Підтримка процесорів серій 80386 та 80486. Шина розроблена для використання
в однопроцесорних системах, при цьому вспеціфікаціі передбачена можливість
підтримки х86-несумісних процесорів з допомогою моста (bridge chip).
Максимально число bus master - 3 (не включаючи контроллершіни). При
необхідності можлива установка декількох підсистем для підтримки більшої
числа masterов.
Незважаючи на те, що спочатку шина була разработанадля підтримки
відеоконтролерів, можлива підтримка та інших пристроїв (наприклад,
контролерів жорсткого диска).
Стандарт допускає роботу шини на частоті до 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 (PnP) PC architecture. Специфікація
шини PCI визначає три типи ресурсів: два звичайних (діапазон пам'яті і
діапазонввода/виводу, як їх називає компанія Microsoft) і configuration space
- "Конфігураційне простір".
Конфігураційне простір складається з трьох регіонів:
заголовка, незалежного від пристрою (device-independent header region);
регіону, який визначається типом пристрою (header-typeregion);
регіону, який визначається користувачем (user-definedregion).
У заголовку міститься інформація про виробника і тип пристрою - поле Class
Code (мережевий адаптер, контролер диска, мультимедіа і т.д.) і інша службова
інформація.
Наступний регіон містить регістри діапазонів пам'яті і введення/виводу, які
дозволяють динамічно виділяти пристрою областьсістемной пам'яті та адресного
простору. Залежно від реалізації системи конфігурація пристроїв
провадиться або BIOS (при виконанні POST - power-onself test), або
програмно. Базовий регістр expansion ROM аналогічно дозволяє відображати ROM
пристрою в системну пам'ять. Поле CIS (Card Information Structure) pointer
використовується картами cardbus (PCMCIA R3.0). З Subsystemvendor/Subsystem ID всі
зрозуміло, а останні 4 байти регіону використовуються для визначення переривання і
часу запиту/володіння.
Малюнок 4. Конфігураційне простір.
Accelerated Graphic Port
Все хороше колись закінчується. Прикро - але достеменно. Скільки писали про те,
що шина PCI нарешті усунула "узкоеместо" РС - обмін з відеокартами - але не
тут-то було! Прогрес, як відомо, не стоїть на місці. Поява різних там 3D
прискорювачів призвело ктому, що руба постало питання: що робити? Або збільшувати
кількість дорогою пам'яті безпосередньо на відеокарті, або зберігати частину
інформації в дешевойсістемной пам'яті, але при цьому яким-небудь чином
організувати до неї швидкий доступ.
Як це практично завжди буває в комп'ютерній індустрії, питання вирішено не
бил.Казалось б, ось вам просте рішення: переходьте на 66-мегагерцовим
64-розрядну шину PCI з великою пропускною здатністю, так ні ж. Intel
набазе того ж стандарту PCI R2.1 розробляє нову шину - AGP (R1.0, потім
2.0), яка відрізняється від свого "батька" в наступному:
1. шина здатна передавати два блоки даних за один 66 MHz цикл (AGP 2x);
2. усунена мультиплексування ліній адреси і даних (нагадаю, що в PCI
для здешевлення конструкції адреса і дані передавалися пооднім і тим же
лініях);
3. подальша конвейеризації операцій читання/запису, на думку розробників,
дозволяє усунути вплив затримок в модулях пам'яті нашвидку виконання цих
операцій.
У результаті пропускна здатність шини була оцінена в 500 МВ/сек, і
призначалася онадля того, щоб відеокарти зберігали текстури в системній
пам'яті, відповідно мали менше пам'яті на платі, і, відповідно,
дешевшали.
Парадокс у тому, що відеокарти все-таки вважають за краще мати БІЛЬШЕ пам'яті, і
МАЙЖЕ НІХТО не зберігає текстури в системній пам'яті, оскільки текстур такого
обсягу поки (підкреслюю - поки що) практично немає. При цьому в силу здешевлення
пам'яті взагалі, карти особливо й не дорожчають. Однакопрактіческі всі вважають, що
майбутнє - за AGP, а бурхливий розвиток мультимедіа-додатки (особливо - ігор)
може незабаром призвести до того, чтотекстури перестануть влазити і в системну
пам'ять. Тому має сенс, особливо не вдаючись у технічні подробиці,
розповісти, як же це все працює.
Отже, почнемо з початку, тобто з AGP 1.0. Шина має два основні режими роботи:
Execute і DMA. У режимі DMA основний памятьюявляется пам'ять карти. Текстура
зберігаються в системній пам'яті, але перед використанням (той самий execute)
копіюються в локальну пам'ять карти. Такімобразом, AGP діє як
"тиловий структури", що забезпечує своєчасну "доставку патронів" (текстур)
на передній край (влокальную пам'ять). Обмін ведеться великими послідовними
пакетами.
У режимі Execute локальна і системна пам'ять для відеокарти логічно
равноправни.Текстури не копіюються в локальну пам'ять, а вибираються
безпосередньо з системною. Таким чином, доводиться вибирати з пам'яті
щодо малиеслучайно розташовані шматки. Оскільки системна пам'ять
виділяється динамічно, блоками по 4К, в цьому режимі для забезпечення
пріемлемогобистродействія необхідно передбачити механізм, що відображає
послідовні адреси на реальні адреси 4-кілобайтні блоків в системній
пам'яті. Етанелегкая завдання виконується з використанням спеціальної таблиці
(Graphic Address Re-mapping Table або GART), розташованої в пам'яті.
При цьому адреси, які не потрапляють в діапазон GART (GART range), не змінюються і
безпосередньо відображаються на системну пам'ять іліобласть пам'яті пристрою
(device specific range). На малюнку в якості такої області показано локальний
фрейм-буфер карти (Local Frame Buffer або LFB). Точний вигляд і функціонування
GART не визначені й залежать від керуючої логіки карти.
Шина AGP повністю підтримує операції шини PCI, тому AGP-трафік може
являти собою суміш чергуються AGP і PCI операцій
читання/запісі.Операціі шини AGP є окремими (split). Це означає, що
запит на проведення операції відділений від власне пересилання даних.
Такий підхід дозволяє AGP-пристрою генерувати чергу запитів, не
чекаючи завершеніятекущей операції, що також підвищує швидкодію шини.
У 1998 році специфікація шини AGP отримала подальший розвиток - вийшов Revision
2.0. У результаті використання новихнізковольтних електричних специфікацій
з'явилася можливість здійснювати 4 транзакції (пересилання блоку даних) за один
66-мегагерцовим такт (AGP 4x), чтоозначает пропускну здатність шини в
1GB/сек! Єдине, чого не вистачає для повн?? го щастя, так це щоб
пристрій міг динамічно перемикатися междурежімамі 1х, 2х та 4х, але з
іншого боку, це нікому й не потрібно.
Однак потреби і запити в області обробки відеосигналів все зростають, і
Intelготовіт новуюспеціфікацію - AGP Pro (нині доступний Revision
0.9) - спрямовану на задоволення потреб
високопроізводітельнихграфіческіх станцій. Новий стандарт не видозмінює шину
AGP. Основний напрямок - збільшення енергопостачання графічних карт. З цією
метою враз'ем AGP Pro додано нові лінії живлення.
Передбачається, що буде існувати два типи карт AGP Pro - High Power і Low
Power. Карти High Power можуть споживати від 50 до110W. Звичайно, такі карти
мають потребу в гарному охолодженні. З цією метою специфікація вимагає наявності двох
вільних слотів PCI з component side (сторони, на якій розміщені основні
чіпи) карти.
При цьому дані слоти можуть використовуватися картою як додаткові кріплення,
дляподвода додаткового харчування і навіть для обміну по шині PCI! При цьому на
використання цих слотів накладаються лише незначні обмеження.
При використанні слотів для підведення додаткового харчування:
Не використовувати для харчування лінії VI/O;
Не встановлювати лінію M66EN (контакт 49В) в GND (чтовполне природно, так
як це переводить шину PCI в режим 33 MHz).
При використанні слота для обміну по шині:
Підсистема PCI I/O повинна розроблятися під напругу 3.3V c можливістю
функціонування при 5 V.
Підтримка 64-розрядного або 66 MHz режимів не потрібно.
Карти Low Power можуть споживати 25-50W, тому для забезпечення охолодження
спеціфікаціятребует наявності одного вільного слота PCI.
При цьому всі retail-карти AGP Pro повинні мати спеціальну накладку шириною
відповідно в 3 або 2 слота, при цьому картапріобретает вигляд досить
страхітливий.
Загалом, як представлю собі графічну станцію з двома процесорами Xeon і
відкритий AGP Pro High Power ... Можна здоровосекономіть на опаленні ...
Закрадається крамольна думка, що в специфікацію PC 200? буде закладено
рідинне охолодження. Знову ж таки, поживемо - побачимо ...
Шина USB
(Universal Serial Bus)
Що таке USB?
Специфікація периферійної шини USB розроблена лідерами комп'ютерної та
телекоммунікаціоннойпромишленності - Compaq, DEC, IBM, Intel, Microsoft, NEC і
Northern Telecom - для підключення комп'ютерної периферії поза корпусом машини по
стандартуplug'n'play, в результаті відпадає необхідність в установці
додаткових плат в слоти розширення і переконфігуруванні системи.
Персональниекомпьютери, що мають шину USB, дозволяють підключати периферійні
пристрої та здійснюють їх автоматичне конфігурування, як тільки
устройствофізіческі буде приєднано до машини, і при цьому немає необхідності
перезавантажувати або вимикати комп'ютер, а також запускати програми установки
іконфігурірованія. Шина USB дозволяє одночасно підключати послідовно до
127 пристроїв, таких, як м