Предмет:
Тип роботи:
Лабораторна робота
К-сть сторінок:
24
Мова:
Українська
Тема роботи: Дослідження роботи і призначення шини РСІ, режимів роботи, протоколів обміну та сфери застосування.
Мета роботи: Вивчення принципу роботи і призначення шини РСІ, можливі режими роботи, підтримувані протоколи обміну та сфери застосування.
Теоретичні відомості
Загальні відомості
Призначення шини РСІ
РСІ (Peripheral Component Interconnect) local bus — шина сполучення периферійних компонентів. Називаючись локальною, ця шина займає особливе місце в сучасній PC архітектурі (mezzanine bus), будучи мостом між системною шиною процесора і шиною вводу/виводу ISA/EISA чи МСА. Ця шина розроблялася в розрахунку на Pentium системи, але добре сполучається і з 486 процесорами, а також із процесорами серій, відмінних від Intel х86. Шина РСІ є чітко стандартизованою високопродуктивною і надійною шиною розширення вводу/виводу. В даний час діє специфікація РСІ 2.1 .При частоті шини 33(66) МГц теоретична і максимальна швидкість досягає 256/528 Мбайт/с для 32/64 біт.
Шина є синхронною — фіксація всіх сигналів виконується по позитивному перепаду (фронту) сигналу CLK. Версія 2.1 допускає частоту до 66 МГц при „згоді” всіх абонентів шини. У кожній транзакції (обміні по шині) беруть участь два пристрої — ініціатор обміну (Initiator чи Master) і цільовий пристрій (Target чи І Slave).
Опис роботи шини
Шина РСІ усі транзакції трактує як пакетні: кожна транзакція починається фазою (циклом) адреси, за якою може біти одна чи кілька фаз даних. Для адреси і даних використовуються загальні мультиплексовані лінії AD. Чотири мультиплексовані лінії С/ВЕ[3:0] використовуються для кодування команд у фазі адреси і дозволу байт у фазі даних. На початку транзакції ініціатор активізує сигнал FRAME#, по шині AD передає цільову адресу, а по лініях С/ВЕ# інформацію про тип транзакції (команді). Адресований цільовий пристрій відзивається сигналом DEVSEL#, після чого ініціатор може вказати на свою готовність до обміну даними сигналом IRDY#. Коли до обміну даними буде готове і цільовий пристрій, він установить сигнал TRDY#. Дані по шині AD можуть передаватися тільки при одночасній наявності сигналів IRDY# і TRDY#., За допомогою цих сигналів ініціатор і цільовий пристрій узгоджують свої швидкості, вводячи такти чекання. На рис. 1 приведена часова діаграма обміну, у якій і ініціатор, і цільовий пристрій вводять такти чекання. Якщо б вони обоє ввели сигнали готовності наприкінці фази адреси і не скидали їх до кінця обміну, то в кожному такті після фази адреси передавалися б по 32 біта даних, що і забезпечило б вихід на граничну продуктивність обміну.
Рис. 1. Цикл обміну по шині PCI.
Кількість фаз (циклів) даних у пакеті на перед невизначена, перед останнім циклом ініціатор обміну при введеному сигналі IRDY# скидає сигнал FRAME#. Після останньої фази даних ініціатор скидає сигнал IRDY# і шина переходить у стан спокою (РСІ Idle) — обидва сигнали FRAME# і IRDY# перебувають в пасивному стані. Максимальна кількість циклів даних у пакеті може бути неявне обмежено таймером, що визначає максимальний час, протягом якого ініціатор може користуватися шиною. Ініціатор завершує транзакцію по одній із причин:
1. Нормальне завершення виконується по закінченню обміну даними.
2. Завершення по тайм ауту (Time out) відбувається, коли під час транзакції в ініціатора відбирають право на керування шиною (зняттям сигналу CNT#) або коли минає час, визначений в його таймері MLT (цільовий пристрій занадто повільний або почата транзакція занадто довга).
3. Транзакція відкидається (Abort), коли протягом заданого часу ініціатор не одержує відповіді цільового пристрою (DEVSEL#).
4. Транзакція може бути припинена і з ініціативи цільового пристрою, для цього він може ввести сигнал STOP#. Можливі три основних типи припинення транзакції:
- Відключення (Disconnect) — сигнал STOP# вводиться під час активного TRDY#. У цьому випадку транзакція завершується після фази даних.
- Відключення з повтором (Disconnect/Retry) — сигнал STOP# вводиться в пасивному стані TRDY#, і остання фаза даних відсутня. Таке завершення є вказівкою ініціатору на необхідність повтору транзакції.
- Відмова (Abort) сигнал STOP# вводиться одночасно з зняттям DEVSEL#, (в попередніх випадках під час поява сигналу STOPS сигнал DEVSEL# був активний). В цьому випадку остання фаза даних теж відсутня, але повтор не запитується.
Протокол квитування забезпечує надійність обміну — ініціатор завжди одержує інформацію про обробку транзакції цільовим пристроєм. Засобом підвищення надійності також є застосування контролю паритету: лінії AD[31:0] і С/ВЕ#[3;0] і у фазі адреси, і у фазі даних захищеній бітом паритету PAR (кількість одиничних біт цих ліній, включаючи PAR, повинна бути парною). Дійсне значення PAR з'являється на шині з затримкою в один такт відносно передачі по лініях AD і С/ВЕ#. При виявленні помилки цільовим пристроєм з зсувом ще на один такт виробляється сигнал PERR# У визначенні стану лінії паритету при передачі даних враховуються всі байти, включаючи і недійсні (відзначені високим рівнем сигналу С/ВЕ#0. Стан біт і недійсних байт даних повинен залишатися стабільним під час фази даних.
Арбітражем запитів на використання шини займається спеціальний функціональний вузол, що входить до складу чіпсета системної плати. Кожен пристрій ініціатор має пару сигналів — REQ# для запиту на керування шиною і GNT# — підтвердження надання керування шиною. Схема пріоритетів (фіксований, циклічний,