Системний контролер вводу-виводу для сполучення шин PCI і ISA

04.08.2015

реклама

Журнал «Chip News» №6 2001 р.

Ми вже розмовляли на сторінках журналу про продукцію компанії Winbond [Л. 1], що випускає широку гаму різноманітних мікросхем, починаючи з пам’яті мікроконтролерів і закінчуючи приладами для мобільних засобів зв’язку і розпізнавання мови. Приблизно в середині цього списку знаходяться ІС для комп’ютерів. У цій статті розглянемо контролери вводу-виводу W83С553F і W83С554F, які виконує функції моста між шинами PCI і ISA. Ця Тема повинна бути цікавою, хоча б уже тому, що зміна поколінь комп’ютерів вимагає від розробників вбудованих плат з інтерфейсом ISA стрімкої модернізації обладнання, з тим, щоб не втратити своїх замовників.

Термінологія (більш ніж коротко).

Щоб уникнути різночитань, визначимо основні терміни.

Шина PCI (Peripheral Component Interconnect) — шина з’єднання периферійних компонентів, яка є мостом між системною шиною процесора і шини вводу-виводу ISA. У кожному обмін по шині (транзакції) беруть участь два пристрої — ініціатор обміну (ведучий шини) і цільове пристрій (ведений шини).

Шина ISA (Industry Standard Architecture) — шина розширення, стала промисловим стандартом. Вона забезпечує можливість відображення 8 — і 16-розрядних регістрів на простір введення-виведення і пам’яті. Абоненти шини можуть використовувати три 8-розрядних каналу DMA, а на 16-бітної шині доступні ще три 16-розрядних каналу. Канал DMA використовується для забезпечення арбітражу управління шиною, а адаптер Bus-Master формує всі адресні та керуючі сигнали шини.

Загальні відомості.

Системний контролер вводу-виводу W83С553F/W83С554F з PCI арбітром (W83С554F повністю аналогічний W83С553F, але підтримує режим UltraDMA, тому надалі мова піде про обох мікросхемах) призначений для використання з мікроконтролерами сімейства х86 або PowerPC в будь-якій системі з шиною PCI. Ця мікросхема підтримує всі реалізації головного (CPU) мосту, сумісні з протоколом PCI 2.1, і забезпечує пряме сполучення шин PCI і ISA, включаючи два канали IDE з підтримкою до чотирьох зовнішніх пристроїв.

W83С553F є універсальним пристроєм PCI, яке можна використовувати для побудови різних видів CPU-PCI мосту. Дана ІС має 32-розрядну ISA DMA адресацію (що краще, ніж 24-розрядна) для спрощення застосування в пристроях з рекомпилированными версіями 32-розрядних операційних систем (Windows NT, PowerPC, Alpha або інші на базі RISC-процесорів).

До складу контролера W83С553F входять два семиканальных 32-розрядних контролера DMA 82С37А, що підтримують швидку DMA передачу даних від шини ISA на ізольовану шину PCI через 4 байтний лінійний буфер. Обидва цих контролера здатні виконувати передачу з «розкиданої» записом/читанням зі збором даних з декількох блоків пам’яті.

Системний контролер вводу-виводу забезпечує міст між шиною PCI і шиною розширення ISA. Крім цього, він має вбудований провідний контролер IDE для шини PCI, арбітр шини PCI (який може бути відключений в разі необхідності) і безліч функцій вводу-виводу для сучасних систем на базі ISA. До складу W83С553F входить також блок логіки повного інтерфейсу PCI (ініціатор і цільове пристрій) і інтерфейсу ISA (провідний і ведений). Наявність арбітражу PCI і ISA, контролера переривань на 14 рівнів, 16-розрядного BIOS таймера, трьох програмованих лічильників-таймерів, логіки управління немаскируемого переривання і регістра керування живленням при збійних ситуаціях дозволяє говорити про контролері W83С553F як про потужний апаратному засобі.

Вбудований контролер двонаправленого порту PCI IDE забезпечує високу швидкість передачі даних між пристроями IDE і шиною PCI. Кожне з чотирьох пристроїв IDE має свої програмовані регістри для вибору швидкості конвеєрної передачі даних (16 і 32 розряду), системи випереджаючого читання і затримки запису. Наявність великої буферу DMA FIFO (64 байта) дозволяє позбутися від необхідності введення стану очікування при передачі даних через шину PCI. Ведучий шини IDE пристроїв значно підвищує загальну продуктивність системи з PCI конфігурацією з багатьма ініціаторами обміну за рахунок різкого зниження використання центрального процесора при зверненні до жорсткого диска або CD-ROM. При частоті шини 33 МГц може бути забезпечена пакетна передача даних зі швидкістю 132 Мбайт/с на шині PCI.

В якості ядра системного контролера вводу-виводу W83С553F використано оригінальне ядро Sonata контролера W83789F з деякими змінами в маршрутизації. Розглянута ІС повністю сумісна з адаптером Bus-Master фірми Intel і специфікацією SFF8038i. Підтримка BIOS забезпечується ЗА всіх провідних компаній.

Структурна схема контролера W83С553F наведена на рис. 1.

Системний контролер вводу-виводу для сполучення шин PCI і ISA

Архітектура системи.

Контролер W83С553F являє собою багатофункціональний пристрій PCI: «функція 0″ — міст PCI-ISA; «функція 1″ — IDE контролер провідного шини. Кожна з функцій має свою власну область конфігурації PCI і область регістрів вводу-виводу.

Шинна структура контролера W83С553F забезпечує паралельне виконання операцій на всіх шинах одночасно і структурована наступним чином:

· шина PCI — первинна шина вводу-виводу;

· шина ISA — вторинна шина введення-виведення.

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

W83С553F ініціалізує і виконує регенерацію стандартної шини ISA. Формування команди і адреси регенерації шини ISA виконує вбудований контролер. Оскільки регенерація шини ISA «прозора» для шини PCI і циклу DMA, то арбітр мосту дозволяє будь-які конфлікти між шиною PCI, регенерацією та циклами DMA.

Передача даних пристроїв IDE виконується за двома спеціальними протоколами. Стандартний протокол — виконання PIO циклів на шині PCI і інтерфейси IDE. Розширений протокол дозволяє W83С553F передавати дані через шину PCI (як провідного шини) в/з пам’яті і через інтерфейси IDE з циклами DMA (одиничними або багатослівними). Цей протокол знижує завантаження процесора при одночасному збільшенні пропускної здатності шини PCI.

Всі передачі даних за протоколом IDE PIO (8-, 16 — або 32-розрядна) автоматично визначаються і підтримуються. Для будь-якого окремого приладу при операціях читання введення-виведення можливий режим випереджувального читання. Як наслідок цього, контролер може виконувати додаткові IDE цикли читання, в той час як процесор завершує попередній цикл запису в пам’ять. Аналогічно для кожного приладу можливий режим затриманої запису, який дозволяє IDE контролера завершувати поточний цикл запису при виконанні процесором наступної операції читання системної пам’яті. Все це значно підвищує продуктивність дискової підсистеми при одночасному зниженні завантаження системи.

Підтримка передачі даних/команд виконується у відповідності зі специфікацією «Programming Interface for Bus Master IDE Controller» ред. 1.0 (SFF8038i). Як наслідок, системного процесора немає необхідності займатися передачею даних між контролером IDE і системною пам’яттю (що вимагається при використанні стандартного протоколу PIO). До речі, при багатозадачному режимі процесор може займатися іншими завданнями (при цьому продуктивність шини PCI буде максимальною), а передачею даних займеться W83С553F (W83С554F).

Активний стан.

В активному стані W83С553F (W83С554F) контролює всі такти на шині PCI і реагує на цикли конфігурації та введення-виведення даних, причому для конфігурування необхідна безпосередня адресація, а для вводу-виводу використовуються дані з внутрішніх регістрів конфігурації. Цикли вводу-виводу використовуються для передачі команди/стану та даних до/від IDE пристроїв у відповідності з даними в регістрах провідного шини.

Однією з особливостей системного контролера фірми Winbond є наявність чотирьох каналів передачі даних (таблиця 1). Перший канал — функції синхронізації і управління для 8-розрядних циклів вводу-виводу IDE пристроїв, другий — такі ж функції, але для 16 — та 32-розрядних циклів вводу-виводу і використовуються для передачі даних по PIO протоколу. Третій канал передачі даних використовується для доступу до внутрішніх регістрів конфігурації і провідного шини IDE приладу. Останній шлях — протокол передачі даних, провідного шини. Крім цих каналів блок логіки поділяє 8-розрядні і 16/32-бітні цикли. Для управління IDE інтерфейсом і синхронізації, а також для управління упаковкою та розпакуванням даних при обміні між буфером IDE і буфером PCI.

Таблиця 1. Канали передачі адреси і даних для основних циклів.

Короткий опис статті: pci контролер Довідкові дані по електронним компонентам

Джерело: Системний контролер вводу-виводу для сполучення шин PCI і ISA

Також ви можете прочитати