План лекції

Лекція №1.3

“Принципи роботи шин ПК”

1. Історія розвитку шин ПК

2. Шина ISA

3. Шина PCI

4. Шина AGP

 

Звичайний пристрій являє собою металевий корпус з великою інтегральною схемою на дні, що називається материнською платою(политкорректности заради можна називати її системною платою). Материнська плата містить мікросхему процесора, кілька рознімань для модулів DIMM і різні допоміжні мікросхеми. Ще на материнській платі розташовуються шина (вона тягнеться уздовж плати) і кілька рознімань для приєднання пристроїв вводу-виводу. Іноді шин буває дві: одна (шина PCI), з високою швидкістю передачі даних, призначається для сучасних пристроїв вводу-виводу, а інша (шина ISA), з низькою швидкістю передачі даних, — для застарілих пристроїв. У сучасних комп'ютерах шина ISA, як правило, відсутня.

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

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

Шина використовується не тільки контролерами вводу-виводу, але і процесором для передачі команд і даних. А що відбувається, якщо процесор і контролер вводу-виводу хочуть одержати доступ до шини одночасно? У цьому випадку особлива мікросхема, що називається арбітром шини,вирішує, чия черга перша. Звичайна перевага віддається пристроям вводу-виводу, оскільки роботу дисків і інших пристроїв, що рухаються, не можна переривати, тому що це може привести до втрати даних. Коли жодне пристрій вводу-виводу не функціонує, центральний процесор може цілком розпоряджатися шиною для взаємодії з пам'яттю. Однак якщо працює який-небудь пристрій вводу-виводу, він буде запитувати доступ до шини й одержувати його щораз, коли йому це необхідно. Цей процес, що пригальмовує роботу комп'ютера, називається захопленнямциклу пам'яті(cycle stealing).

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

Однак у світі персональних комп'ютерів велика частина користувачів, заміняючи свій комп'ютер новою моделлю, ніяк не розраховує одночасно відмовлятися від своїх старих і звичних принтера, сканера і модему. Крім того, існувала ціла галузь промисловості, що випускала широкий спектр пристроїв вводу-виводу для комп'ютерів IBM PC, і виробники цих пристроїв зовсім не були зацікавлені в тім, щоб починати усі свої розробки заново. Компанія IBM пройшла цей важкий шлях, випустивши після лінійки IBM PC лінійку PS/2. У комп'ютерів PS/2 була нова шина з більш високою швидкістю передачі даних, але більшість виробників клонів продовжували використовувати стару шину PC, що зараз називається шиною ISA(Industry Standard Architecture — стандартна промислова архітектура).Більшість виробників дисків і пристроїв вводу-виводу також продовжували випускати контролери для старої моделі, тому компанія IBM виявилася в досить неприємній ситуації, оскільки в той момент вона була єдиним виробником персональних комп'ютерів, несумісних з лінійкою IBM. Зрештою компанія була змушена повернутися до виробництва комп'ютерів на основі шини ISA. Відзначимо, що абревіатура ISA також може розшифровуватися як Instruction Set Architecture (архітектура набору команд), якщо мова йде про рівні ієрархії команд.

Хоча вплив ринку привело до того, що ніяких змін у старій шині зроблено не було, швидше вона працювати не стала, і потрібно було щось почати. У результаті інші компанії почали робіти комп'ютери з декількома шинами, однієї з яких була або колишня шина ISA, або шина EISA(Extended ISA — розширена стандартна промислова архітектура),як і ISA, сумісна зі старими пристроями виводу-вводу-виводу. Що стосується іншої шини, то в даний час самою популярною моделлю є шина PCI(Peripheral Component Interconnect — взаємодія периферійних компонентів),розроблена компанією Intel, що вирішила відкрити всю зв'язану із шиною технічну інформацію, щоб сторонні виробники (у тому числі конкуренти компанії) могли розробляти відповідні пристрої.

Існує багато різних конфігурацій шини PCI. Найбільш типова з них показана на мал. 2.26. У такій конфігурації центральний процесор взаємодіє з контролером пам'яті по виділеному високошвидкісному з'єднанню. Таким чином, контролер з'єднується з пам'яттю безпосередньо, тобто передача даних між центральним процесором і пам'яттю відбувається не через шину PCI. Однак високошвидкісні периферійні пристрої, наприклад SCSI-диски, можуть приєднуватися прямо до шини PCI. Крім того, шина PCI має рівнобіжне з'єднання із шиною ISA, щоб можна було використовувати контролери ISA і відповідні пристрої. Машина такого типу звичайно містить 3 або 4 порожніх рознімання PCI і ще 3 або 4 порожніх рознімання ISA, щоб покупці мали можливість уставляти як старі плати виводу-вводу-виводу ISA (для низькошвидкісних пристроїв), так і нові карти PCI (для високошвидкісних пристроїв1).

В наш час існує велика кількість різноманітних пристроїв вводу-виводу. Ми торкнемося тільки найбільш розповсюджених з них.

 

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

 

Шини з'єднують комп'ютерну систему в єдине ціле. У цьому розділі ми розглянемо кілька прикладів шин: ISA, PCI і USB. Шина ISA являє собою незначно удосконалений варіант шини IBM PC — першої шини для персональних комп'ютерів компанії IBM. По розуміннях сумісності вона ще кілька років назад установлювалася у всіх персональних комп'ютерах Intel, але згодом Intel і Microsoft домовилися припинити її підтримку. У будь-якому випадку не занадто «древні» комп'ютери із шиною ISA завжди містять ще одну шину, що працює швидше, ніж ISA. Це — шина PCL Вона ширше, ніж ISA, і функціонує з більш високою тактовою частотою. Отже, за одну секунду вона передає більше даних, чим ISA. У більшості сучасних ПК саме вона бере на себе основне навантаження, хоча останнім часом усе помітніше стає роль шин USB, застосовуваних як інструмент вводу-виводу для периферійних пристроїв з невисокою швидкодією (таких як миші і клавіатури).

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

· лінії керування;

· лінії адресації;

· лінії даних.

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

Шини вводу-виводу розрізняються архітектурою. Основними на сьогоднішній день є:

• ISA (Industry Standard Architecture);

• MCA (Micro Channel Architecture);

• EISA (Extended Industry Standard Architecture);

• VESA (також називана VL-Bus або VLB);

• локальна шина PCI;

• AGP;

• PC Card (або PCMCIA);

• FireWire (IEEE-1394);

• USB (Universal Serial Bus).

Таблиця. Шини комп'ютерів і їхні короткі характеристики.

Тип шини Розрядність, біт Частота, МГц Швидкість передачі даних. Мбайт/з
8-розрядна ISA 4,77 2,39
16-розрядна ISA 8,33 8,33
EISA* 8,33 33,3
VLB* 33,33 133,33
PCI 33,33 133,33
PCI-2x** 66,66 266,66
64-розрядна PCI** 33,33 266,66
AGP 66,66 266,66
AGP-2x 66,66 533,33
AGP-4x 66,66 1 066,66

* У даний час ці шини ие використовуються.

** Ці шини запропоновані до реалізації, але широкого поширення не одержали.

 

.Локальні шини (Local buses)

Шини ISA, МСА і EISA мають загальний недолік - порівняно низьку пропускну здатність. Це зв'язано з тим, що шини розроблялися в розрахунку на повільні процесори. Надалі швидкодія процесора зростала, а характеристики шин поліпшувалися в основному "екстенсивно", за рахунок додавання нових ліній (збільшення розрядності). Перешкодою для підвищення частоти шини була величезна кількість випущених плат, що не могли працювати на великих швидкостях обміну. У той же час на початку 90-х років у світі персональних комп'ютерів відбулися зміни, що зажадали різкого збільшення швидкості обміну з пристроями:

· створення нового покоління процесорів типу Intel 80486, що працюють на частотах до 66 MHz;

· збільшення ємності твердих дисків і створення більш швидких контролерів;

· розробка й активне просування на ринок графічних інтерфейсів користувача (типу Windows або OS/2) привели до створення нових графічних адаптерів, що підтримують більш високий дозвіл і більша кількість кольорів (VGA і SVGA).

Очевидним виходом з положення, що створилося, є наступний: здійснювати частину операцій обміну даними, що вимагають високих швидкостей, не через шину вводу/виводу, а через шину процесора, приблизно так само, як підключається зовнішній кэш. Така конструкція одержала назву локальної шини (Local Bus).

Малюнки 7.1 і 7.2 наочно демонструють розходження між звичайною архітектурою й архітектурою з локальною шиною.

 

 

Локальна шина не заміняла собою колишні стандарти, а доповнювала їх. Основними шинами в комп'ютері як і раніше залишалися ISA або EISA, але до них додавалися один або декілька слотів локальної шини. Спочатку ці слоти використовувалися майже винятково для установки відеоадаптерів, при цьому до 1992 року було розроблено декілька несумісних між собою варіантів локальних шин, виключні права на які належали фірмам-виготовлювачам. Природно, така плутанина стримувала поширення локальних шин, тому VESA (Video Electronic Standard Association) - асоціація, що представляє більш 100 компаній – запропонувала в серпні 1992 року свою специфікацію локальної шини. (VL-bus).

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

 

Однак і ця шина не була позбавлена недоліків, головними з яких були наступні.

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

· Обмежена швидкодія (реальна частота VL-bus - не більше 50 MHz).

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

Незважаючи на існуючі недоліки, VL-bus була безсумнівним лідером на ринку, тому що дозволяла усунути вузьке місце відразу в двох підсистемах - відеопідсистемі і підсистемі обміну з твердим диском. Однак лідерство було недовгим, оскільки корпорація Intel розробила свою новинку - шину PCI.

 

Шина PCI (Peripheral Component Interconnect bus).

У червні 1992 року з'явилася шина PCI (Peripheral Component Interconnect bus— шина взаємозв'язку периферійних компонентів), а в квітні 1993 року про а була модернізована (версія 2.0). Остання версія 2.1 була анонсована на початку 1995 року. Її творці відмовилися від традиційної концепції, увівши ще одну шину між процесором і звичайною шиною вводу-виводу. Замість того щоб підключити її безпосередньо до шини процесора, досить чуттєвої до подібним до втручань, вони розробили новий комплект мікросхем контролерів і ввели ще одну "антресольну" (mezzanine) шину.

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

 

 

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

· Синхронний 32-х або 64-х розрядний обмін даними.

· Підтримка 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 (наприклад, кілька контролерів твердих дисків можуть одночасно працювати на шині).

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

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

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

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

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

Важливою властивістю PCI є те, що вона задовольняє специфікації Plug and Play фірми Intel. Це означає, що плата PCI не має перемичок і перемикачів і може налаштовуватись за допомогою спеціальної програми настроювання. Системи з Plug and Play здатні самостійно налаштовувати(настраивать) адаптери.