ІНТЕРФЕЙС РСI_ ПРОТОКОЛ ОБМІНУ

Арбітражем запитів використання шини PCI займається спеціальний функціональний вузол, що входить до складу чіпсету системної плати. Кожен пристрій-ініціатор має пару сигналів - REQ# для запиту управління шиною і GNT# - підтвердження надання управління шиною. Схема пріоритетів (фіксований, циклічний, комбінований) визначається програмуванням арбітра. Кожен пристрій - потенційний ініціатор обміну (PCI Master) має власний програмований таймер MLT (Master Latency Timer), що визначає максимальну кількість тактів шини, допустиме однієї транзакції. Програмуванням значення при конфігуруванні пристроїв здійснюється розподіл смуги пропускання шини між абонентами шини. Кожен цільовий пристрій має інкрементний механізм стеження тривалістю циклів (Incremental Latency Mechanism), який дозволяє інтервалу між сусідніми фазами даних у пакеті перевищувати 8 тактів шини. Якщо цільовий пристрій не встигає працювати в такому темпі, він повинен зупиняти транзакцію.

рсi_
Мал. 1. Цикл обміну на шині PCI

Кількість фаз (циклів) даних пакеті заздалегідь не визначено, але перед останнім циклом ініціатор обміну при введеному сигналі IRDY# знімає сигнал FRAME#. Після останньої фази даних ініціатор знімає сигнал IRDY# і шина переходить у стан спокою (PCI Idle)-обидва сигнали FRAME# та IRDY# перебувають у пасивному стані. Максимальна кількість циклів даних у пакеті може бути неявно обмежена таймером, який визначає максимальний час, протягом якого ініціатор може користуватися шиною.

Ініціатор завершує транзакцію з однієї з трьох причин: ·

Нормальне завершення виконується після обміну даними.

Завершення по тайм-ауту (Time-out) відбувається, коли під час транзакції у ініціатора відбирають право на керування шиною (зняттям сигналу GNT#) або коли закінчується час, вказаний у його таймері MLT (цільовий пристрій занадто повільний або розпочата транзакція занадто довга) ·

Транзакція відкидається (Abort), коли протягом заданого часу ініціатор не отримує відповіді цільового пристрою (DEVSEL#).

Транзакція може бути припинена і з ініціативи цільового пристрою для цього може ввести сигнал STOP#. Можливі три основні типи припинення:

Вимкнення (Disconnect) - сигнал STOP# вводиться під час активності TRDY#. І тут транзакція завершується після фази даних.

Вимкнення з повтором (Disconnect/Retry) - сигнал STOP# вводиться при пасивному стані TRDY# і остання фаза даних відсутня. Таке завершення є вказівкою ініціатору необхідність повтору транзакції.

Відмова (Abort) - сигнал STOP# вводиться одночасно зі зняттям DEVSEL# (у попередніх випадках під час появи сигналу STOP# сигнал DEVSEL# був активним). У цьому випадку остання фаза даних теж відсутня, але повторення не запитується.

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