Шина рсі. Протокол обміну по шині рсі. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Шина рсі. Протокол обміну по шині рсі.



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

Шина PCI дозволяє об'єднувати однорангові пристрої. Будь-який пристрій шини може виступати як в ролі ініціатора транзакцій (задатчика), так і в ролі цільового пристрою. Цільовий пристрій відповідає на транзакції, адресовані до його ресурсів (областям пам'яті і портам введення-виводу). Право на управління шиною у будь-який момент часу дається лише одному пристрою даної шини; арбітраж запитів на управління шиною здійснюється централізованим способом.

Кожна фізична шина PCI дозволяє об'єднувати лише невелике число пристроїв (зазвичай не більше шести). Для збільшення числа пристроїв, що підключаються, застосовують мости PCI (РСІ-to-РСІ Bridge) — пристрої PCI з парою інтерфейсів, якими шини об'єднуються в деревовидну структуру. В корені цієї структури знаходиться хост — «господар шини», в обов'язки якого входить конфігурація всіх пристроїв, включаючи мости. В ролі хоста, як правило, виступає центральний процесор з головним мостом. Мости дозволяють об'єднувати шини PCI і PCI-X з різними характеристиками, а також підключати до РСІ/РСІ-Х інші шини: (E)ISA, MCA, шини блокнотных ПК, PCI Express, Hyper Transport та інші др.

Шина PСІ/РСІ-Х має декілька варіантів конструктивного оформлення, деякі з них за наявності спеціального контролера допускають «гарячу» заміну пристроїв:

шина об'єднання компонентів на друкарській платі (системній платі або карті розширення);

слотові роз'єми для установки карт розширення (у конструктивах РС і МСА);

роз'єми для малогабаритних карт розширення (Card Bus, Small PCI, Mini PCI);

модульні конструктиви для промислових і інструментальних комп'ютерів (COMPACTPCI, PXI).

Важливою частиною шини PCI є система автоматичної конфігурації; конфігурація виконується кожного разу при включенні живлення і ініціалізації системи. Спеціальне конфігураційне ПО дозволяє виявити і ідентифікувати всі встановлені пристрої, а також з'ясувати їх потреби в ресурсах (областях пам'яті, адресах вводу-виводу, перериваннях).

Пристрої PCI можуть виробляти запити апаратних переривань:

звичайні масковані — для сигналізації подій в пристрої; ці переривання можуть сигналізіроваться як традиційним способом — по спеціальних сигнальних лініях, так і передачею повідомлень (MSI);

немасковані — для сигналізації про серйозні помилки;

переривання системного управління (System Management Interrupt, SMI) — для сигналізації про події в системі управління енергоспоживанням і деяких системних цілей (наприклад, емуляції роботи стандартного контроллера клавіатури за допомогою пристроїв USB).

Обмін інформацією по шині PCI організований у вигляді транзакцій - логічно завершених операцій обміну. У кожної транзакції виконується одна команда - як правило, читання або запис даних за вказаною адресою. Транзакція починається з фази адреси, в якій ініціатор задає команду і цільову адресу. Далі можуть слідувати фази даних, в яких один пристрій (джерело даних) поміщає дані на шину, а інше (приймач) їх зчитує. Транзакції, в яких присутня безліч фаз даних, називаються пакетними. Є й поодинокі транзакції (з одного фазою даних). Транзакція може завершитися і без фаз даних, якщо цільовий пристрій (або ініціатор) не готовий до обміну.

У кожен момент часу шиною може управляти тільки один провідний пристрій, що одержав на це право від арбітра. Кожний провідний пристрій має пару сигналів - REQ# для запиту на управління шиною і GNT# для підтвердження надання керування шиною. Пристрій може починати транзакцію (встановлювати сигнал FRAME#) тільки при отриманому активному сигналі GNT# і дочекавшись відсутності активності шини. Зауважимо, що за час очікування спокою арбітр може «передумати» і віддати керування шиною іншого пристрою за більш високим пріоритетом. Зняття сигналу GNT# не дозволяє пристрою розпочати наступну транзакцію і навіть може змусити припинити розпочату транзакцію.

Для адреси і даних використовуються загальні мультиплексовані лінії AD. Лінії С/ВЕ[3:0] забезпечують кодування команд у фазі адреси і дозвіл байтів у фазі даних. У фазі адреси (початок транзакції) провідний пристрій активує сигнал FRAME#, передає цільової адресу по шині AD, а по лініях С/ВЕ# - інформацію про тип транзакції (команду). Адресований цільовий пристрій відзивається сигналом DEVSEL#. Провідний пристрій вказує на свою готовність до обміну даними сигналом IRDY#, ця готовність може бути виставлена ​​і до отримання сигналу DEVSEL#. Коли і цільовий пристрій виявляється готовим до обміну даними, він встановлює сигнал TRDY#. Дані по шині AD передаються тільки при одночасній наявності сигналів IRDY# і TRDY#. За допомогою цих сигналів провідний, і цільовий пристрої узгодять свої швидкості, вводячи такти очікування (wait states).

На шині PCI всі транзакції трактуються як пакетні: кожна транзакція починається фазою адреси, за якою може слідувати одна або декілька фаз даних. Кількість фаз даних в пакеті явно не вказується. Якщо пристрій не підтримує пакетні транзакції в підпорядкованому режимі, то воно повинно вимагати припинення пакетної транзакції протягом першої фази даних. У відповідь на це ведучий пристрій завершує дану транзакцію і продовжує обмін наступною транзакцією з наступним значенням адреси. Після завершальної фази даних провідний пристрій знімає сигнал IRDY#, і шина переходить в стан спокою (idle).
Ініціатор може розпочати наступну транзакцію і без такту спокою, такі швидкі суміжні транзакції (fast back-to-back transactions) можуть бути звернені як до одного, так і до різних цільових пристроїв. При обміні даними в режимі PCI-X швидкі суміжні транзакції неприпустимі.

Кожна транзакція на шині має бути завершена планово чи припинена з ініціативи ведучого або цільового пристрою.

Провідний пристрій може завершити транзакцію одним із таких способів.

♦ Comletion - нормальне завершення після закінчення обміну даними;

♦ Time-out - завершення по тайм-ауту, якщо цільове пристрій виявилося непередбачені повільним або запланована занадто довга транзакція;

♦ Master-Abort - припинення транзакції через відсутність відповіді від цільового пристрою.

Транзакція може бути припинена за ініціативою цільового пристрою (за сигналом ST0P#) з різних причин:

♦ retry - повтор, цільове пристрій через внутрішню зайнятості не встигає видати перші дані в покладений термін (це вказівка ​​ведучому влаштуванню на необхідність повторного запуску тієї ж транзакції);

♦ disconnect - відключення, цільове пристрій не здатний своєчасно видати або прийняти чергову порцію даних пакета (це вказівка ​​ведучому влаштуванню на необхідність повторного запуску транзакції, але з модифи-царювати стартовим адресою);

♦ target-abort - відмова, цільове пристрій не може обслужити даний запит (непідтримувана команда, фатальна помилка).

Припинення типу retry служить для організації відкладених транзакцій (delayed transactions). Відкладені транзакції використовуються тільки повільними цільовими пристроями, а також мостами PCI при трансляції транзакцій на іншу шину. Припиняючи (для ініціатора) транзакцію умовою retry, цільове пристрій внутрішньо виконує дану транзакцію. Коли ініціатор повторить цю транзакцію, у цільового пристрою (або мосту) вже буде готовий результат (дані читання або стан виконання записи), який воно швидко поверне ініціатору.

Команди шини PCI

Команди PCI визначають напрям і тип транзакцій, а також адресний простір, до якого вони належать. Набір команд шини PCI включає наступні:

♦ команди читання і запису портів введення-виведення (обігу до простору портів);

♦ команди звернення до пам'яті декількох типів, у тому числі до відображеним на пам'ять пристроїв введення-виведення і «справжньої» пам'яті, що допускає передвибірки (читання рядків, множинне читання, запис з інвалідацією);

♦ команди конфігураційних читання і запису (обігу до конфігураційного простору пристроїв);

♦ спеціальний цикл (передача широкомовних повідомлень);

♦ команда підтвердження переривання (читання вектора переривань).

Для кожного з трьох просторів - пам'яті, портів введення-виведення і конфігураційних регістрів - адресація різна; в спеціальних циклах адресу ігнорується.



Поделиться:


Последнее изменение этой страницы: 2016-07-14; просмотров: 449; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.81.240 (0.008 с.)