Pci життя триває

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

Pci життя триває

мікросхема моста
IBM PCI-X Bridge

Масове застосування PCI почалося в Pentium-системах, але використовувалася вона і з 486-ми процесорами. Частота шини становила від 20 до 33 МГц, а теоретична максимальна швидкість - 132 або 264 Мб / с для 32 або 64 розрядів відповідно. У сучасних системних платах частота на шині PCI задається як половина вхідний частоти процесора, т. Е. При частоті 66 МГц на PCI буде 33 МГц, при 75 МГц - 37,5 МГц. Це перша шина в архітектурі IBM PC, яка є процесорної-незалежної і застосовується на інших платформах.

Стандартна шина PCI здатна підтримувати не більше 10 навантажень або три-чотири слота. Дане обмеження долається за рахунок включення в ПК декількох шин. Це досягається за допомогою мостів двома способами: шина підключається або до іншої шині PCI, або безпосередньо до системної шини. Однак зазвичай сервер на базі ПК має не більше двох десятків слотів PCI.

Автоконфігурірованіе пристроїв (вибір запитів переривання, каналів DMA) підтримується засобами BIOS системної плати за принципом plug and play ( "включи і працюй"). Стандарт PCI для кожного слота визначає конфігураційний простір розміром до 256 восьмирозрядних регістрів, що не приписаних ні до простору пам'яті, ні до простору введення-виведення. Доступ до них здійснюється за спеціальними циклам шини Configuration Read і Configuration Write, які виробляються контролером при зверненні контролера шини PCI процесора до його регістрів, розташованим в його просторі введення-виведення.

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

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

З підвищенням тактової частоти процесорів до 1 ГГц при ширині шини процесор - пам'ять в 64 розряду, з одного боку, і в зв'язку з зростанням пропускної здатності локальної мережі до 1 Гбіт / с і появою високошвидкісних периферійних пристроїв на базі Ultra3 SCSI і Fibre Channel - з інший, пропускної здатності наявних на сьогодні PCI виявляється недостатньо. Так, теоретичну межу для 64-розрядної шини PCI на 66 МГц, найбільш продуктивною з можливих стандартних реалізацій, становить 533 Мб / с, до того ж найбільше поширення мають шини на 33 МГц, для яких максимум пропускної здатності становить 266 Мб / с.

Стандарт PCI-X

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

У разі традиційної шини PCI декодування отриманого сигналу на приймаючій стороні відбувається протягом того ж циклу, що і відправка. Це накладає дуже жорсткі вимоги на час декодування: в разі шини PCI з частотою 66 МГц воно становить всього 3 нс. Відповідно ж до нового міжрегістрових протоколом декодування проводиться за окремий цикл. Таке рішення, з одного боку, спрощує реалізацію шини з більш високою тактовою частотою, оскільки послаблює обмеження на час декодування, а з іншого - лише незначно збільшує загальне число циклів для однієї транзакції (якщо в разі PCI операція записи зазвичай виконується за дев'ять циклів, то з PCI-X вона буде завершена за десять).

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

Традиційний протокол PCI орієнтований на затримані транзакції. Його реалізація передбачає, що пристрій, зажадав дані, має постійно опитувати джерело, щоб визначити момент завершення обробки запиту і готовності даних в регістрі. Новий протокол усуває фазу опитування, яка, по суті, припиняє роботу шини. Суть механізму підтримки розділених транзакцій полягає в тому, що пристрій-ініціатор посилає джерела даних тільки сигнал запиту, отримуючи у відповідь квитанцію. Після цих операцій зв'язок між пристроями припиняється і регістр звільняється для обробки іншої інформації. Коли дані будуть готові, джерело ініціює нову транзакцію і пошле її пристрій запитає.

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

За підтримки протоколу PCI-X адаптери і мости можуть переривати транзакції тільки на природною лінією пакета 128 байт. Розбивка даних на більш довгі пакети дозволяє оптимізувати по швидкості операції як з кеш-пам'яттю, так і з основною пам'яттю і шиною процесора.

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

Думка голови не слід скидати з рахунків, адже членами PCISIG стали вже понад 940 провідних компаній. Цікаво, що в міру того, як PCI-X набирає обертів, їй починають виділяти ролі, на які вона, ймовірно, навряд чи призначалася з самого початку. Наприклад, грунтуючись як на продуктивності, так і на простоті використання цієї шини, експерти PCISIG вважають, що вона цілком може замінити собою AGP. Робилися навіть спроби переконати такі корпорації, як Sun і Apple, замінити в своїх робочих станціях AGP-порт на шину PCI-X. Нагадаємо, що 64-розрядна PCI-X на 133 МГц має приблизно однакову з AGP 4X пропускну здатність. В якості одного з основних аргументів вказувалася можливість одночасної роботи декількох графічних адаптерів на шині PCI-X на відміну від AGP. Втім, не зайве нагадати, що ліцензія на AGP видається безкоштовно, чого не скажеш про PCI-X (ціна $ 25).

Схожі статті