Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Энциклопедия PC

.pdf
Скачиваний:
30
Добавлен:
13.03.2015
Размер:
8.94 Mб
Скачать

706 Глава12. Шинырасширения Таблица12.1. Характеристикишинрасширения

Шина

Пропускная

Каналы

Bus-

ACFG2

Разряд-

Разрядность

Частота,

 

способность,

DMA

Master

 

ность

адреса

МГц

 

Мбайт/с1

 

 

 

данных

 

 

 

ISA-8

4

3

 

 

8

20

(1 Мбайт)

8

ISA-16

8

7

+

16

24

(16 Мбайт)

8

LPC

6,7

7

+

 

8/16/32

32 (4 Гбайт)

33

EISA

33,3

7

+

+

32

32 (4 Гбайт)

8,33

MCA-16

16

+

+

 

16

24

(16 Мбайт)

10

MCA-32

20

+

+

 

32

32

(4 Гбайт)

10

VLB

132

(+)

 

 

32/64

32

(4 Гбайт)

33-50 (66)

PCI

132/264

+

 

 

32/64

32

(4 Гбайт)

33/66

PCMCIA

10/20

+

-

+

8/16

26 (64 Мбайт)

 

Card Bus

132

+

+

 

32

32 (4 Гбайт)

33

1Указанамаксимальнаяпропускнаяспособность. Реальнаяпримерновдваразанижезасчетпрерываний, регенерацииипротокольныхпроцедур.

2Поддержкаавтоматическогоконфигурирования, ДляISA PnP являетсяпозднейшейнадстройкой, реализуемойадаптерамииПО.

Шины расширения обычных ПК конструктивно оформляются в виде щелевых разъемов (слотов) на системной плате для установки плат адаптеров, для блокнотных промышленных ПК применяют штырьковые разъемы. Типы слотов легко определить визуально (см. п. 4.2.4).

12.1. ШинаISA

ISABus (Industry Standard Architecture) — шина расширения, применявшаяся с первых моделей PC и ставшая промышленным стандартом. В компьютере XT использовалась шина с разрядностью данных 8 бит и адреса — 20 бит. В компьютерах AT ее расширили до 16 бит данных и 24 бит адреса. В таком виде она существует и поныне. Конструктивно, как показано на рис. 12.1, шина выполнена в виде двух щелевых разъемов с шагом выводов 2,54 мм (0,1 дюйма). Подмножество ISA-8 использует только 62-контактный слот (ряды А, В), в ISA-16 применяется дополнительный 36-контактный слот (ряды С, D). С появлением 32-битных процессоров делались попытки расширения разрядности шины, но все 32-битные шины ISA не являются стандартизованными, кроме EISA. Шина РС/104, разработанная для встраиваемых контроллеров на базе PC, отличается от обычной ISA только конструктивно.

D18

D1 В31

 

В1

 

 

 

 

ч

I!

Ч

I

 

 

 

 

С18

С1 А31

 

А1

 

 

 

Рис. 12.1. СлотISA

12.1. Шина ISA 707

Для шины ISA выпущено (и продолжает выпускаться) огромное количество разнообразных карт расширения. Ряд фирм выпускает карты-прототипы (Prototype Card), представляющие собой печатные платы полного или уменьшенного формата с крепежной скобой. На платах установлены обязательные интерфейсные цепи — буфер данных, дешифратор адреса и некоторые другие. Остальная часть платы свободна, и здесь разработчик может разместить макетный вариант своего устройства. Эти платы удобны для проверки нового изделия, а также для монтажа единичных экземпляров устройства, когда разработка и изготовление печатной платынерентабельно.

Шина ISA обеспечивает возможность обращения к 8- или 16-битным регистрам устройств, отображенным на пространства ввода-вывода и памяти, непосредственно доступные по командам центрального процессора. Диапазон адресов памяти для устройств ограничен областью верхней памяти UMA (AOOOO-FFFFFh), поскольку нижеивышенаходитсяОЗУ, расположенноенасистемнойплате. Дляшины ISA-16 настройками CMOS Setup может быть разрешено пространство между 15-м и 16-м мегабайтом памяти (при этом компьютер не сможет использовать более 15 Мбайт ОЗУ). Процессоры х86 при адресации портов ввода-вывода используют только 16 разрядов адреса, так что максимально возможный диапазон адресов ввода-вывода

— ОООО-FFFFh. Для шины ISA диапазон адресов ввода-вывода сверху ограничен количеством задействованных для дешифрации бит адреса, нижняя область адресов О-FFh недоступна (зарезервирована под устройства системной платы). В PC была принята 10-битная адресация ввода-вывода, при которой линии адреса А[15:10] устройствами игнорировались. Таким образом, диапазон адресов устройств шины ISA ограничивается областью lOOh—3FFh, то есть всего 758 адресов 8-битных регистров. На некоторые из адресов претендуют стандартные устройства (см. п. 3.3). Впоследствии стали применять 12-битную адресацию (диапазон lOOh-FFFh). При ее использовании приходится учитывать возможность присутствия на шине старых 10-битных адаптеров, которые «отзовутся» на адрес с подходящими ему битами А[9:0] во всей допустимой области 12-битного адреса четыре раза (у каждого 10-битного адреса будет еще по три 12-битных псевдонима). Полный 16битныйадресиспользуется только в шинах EISA и PCI.

Шина ISA-8 может предоставить до 6 линий запросов прерываний, IS А-16 —11. Часть из них могут «отобрать» устройства системной платы или шина PCI.

Шина ISA-8 позволяет использовать до трех 8-битных каналов DMA. На 16- битнойшинедоступныещетри16-битныхиодин8-битныйканал.

В каждый момент времени шиной может управлять только одно устройство- задатчик, обращающееся к ресурсам (портам или ячейкам памяти) устройств- исполнителей. Основным задатчиком является контроллер шины, расположенный на системной плате. Он формирует запросы к исполнителям по командам обращения к памяти или вводу-выводу, выполняемым центральным процессором посигналамконтроллера DMA иконтроллера регенерации памяти. Задатчикомна некоторое время может стать устройство, захватившее управление шиной через запрос по 16-битному каналу DMA. Такой режим работы устройства называют прямым управлением шиной (bus mastering). При этомканалDMA применяется для арбитража шины, а адаптер bus-master формирует все адресные и управляющие сигналы шины, не забывая передать управление шиной процессору не позднее, чемчерез15 мкс(чтобыненарушитьрегенерацию памяти).

708 Глава12. Шинырасширения

Все перечисленные ресурсы шины должны быть бесконфликтно распределены. Бесконфликтность подразумевает выполнение следующихусловий.

жКаждое устройство-исполнитель должно управлять шиной данных только при чтении по его адресам или по используемому им каналу DMA. Области адресов, по которым выполняется чтение регистров различных устройств, не должны пересекаться. Поскольку при записи шиной данных управляет лишь текущий задатчик, возможность конфликтов, приводящих к искажениям данных, исключена. «Подсматривать» операции записи, адресованные неданномуустройству, невозбраняется.

жНазначенную линию IRQx или DRQx устройство должно держать на низком уровне в пассивном состоянии и переводить в высокий уровень для активации запроса. Неиспользуемыми линиями запросов устройство управлять не имеет права, они должны быть электрически откоммутированы или подключаться к буферу, находящемуся в третьем состоянии. Одной линией запроса может пользоваться только одно устройство. Такая нелепость (с точки зрения схемотехники ТТЛ) была допущена в первых PC и из требований совместимости тиражируется досихпор.

Задача распределения ресурсов для старых адаптеров решалась с помощью джамперов, затем появились программно конфигурируемые устройства, которые вытесняются автоматически конфигурируемыми платами РпР (см. п. 12.4).

Назначение контактов слотов шин ISA и EISA приведено в [4].

Прямой доступ к памяти позволяет абоненту шины организовывать обмен данными между своим регистром и памятью под управлением контроллера DMA, минуя центральный процессор. До выполнения обмена канал DMA должен быть инициализирован — задан начальный адрес и размер пересылаемого блока памяти, направление и режим обмена. После инициализации канала обмен выполняетсяпоинициативеПУ.

Для интерфейса ПУ каждыйканал DMA представляется парой сигналов: запрос обмена — DRQx и подтверждение обмена — DACKx#, где х — номер используемого канала. На рис. 12.2 приведена диаграмма стандартного цикла передачи байта (для 8-битного канала) или слова (для 16-битного) от ПУ в память по каналуDMA.

Диаграмма обратной пересылки (из памяти в ПУ) отличается только тем, что на месте сигнала IOR# будет сигнал MEMR#, а на месте MEMW# — сигнал IOW#. Направление обмена и параметры режима задаются программированием контроллера DMA.

Напомним, что по 8-битным каналам DMA за один сеанс настройки контроллера можно передавать не более 64К байт данных, начинающихся с любого адреса (но с учетом границ страниц, см. п. 3.5). По 16-битным каналам за сеанс можно передавать не более 64К слов данных, начинающихся с четного адреса, и границы страниц иные. Используя DMA в режимах, отличных от одиночного, длительность непрерывной передачи не должна превышать 15 мкс (для обеспечения регенерации памяти).

В случае прямого управления шиной (bus mastering) инициатором обмена становится контроллер какого-либо устройства или интерфейса, но не процессор и не канал DMA. Прямое управление позволяет контроллеру, не отвлекая цент-

12.1. ШинаISA 709

ральныйпроцессор, выполнятьобменданнымисвысокойпроизводительностью и, возможно, по более сложным правилам и без ограничений, присущих каналам DMA (невозможность пересечения границы страницы). Контроллер, как правило, обеспечивает обмен данными между системным ОЗУ и своим периферийным устройством или интерфейсом. В принципе он может общаться с памятью или портами другого абонента шины, но для упрощения организации всех информационных связей центральным «перевалочным пунктом» все-таки является системное ОЗУ. Получить право на управление шиной ISA может только контроллер, подключенный к 16-битному слоту. Для арбитража запросов на управление шиной от нескольких источников — центрального процессора, контроллера DMA и контроллеров-абонентов шины используется второй контроллер DMA (каналы5-7).

DMA IDLE DMA1

1

1

1 DMA 2 ! DMA3 1

 

DMA 4 ', DMA IDLE

 

CLOCK

J~i_ i_n_ unjij^j4j~iJ4jnjn

BUS CLK DMA

 

 

 

 

 

 

 

 

DRQx

I

 

 

 

 

~ r

rn

AEN

 

 

 

i

 

i

i

 

 

 

 

 

 

 

 

 

DACKx#

 

 

 

i

 

i

i

 

 

 

 

 

 

 

 

 

 

 

 

 

, ———————— | ———————— | ———————— L_. —————— ,

SAO-SA20, SBHE

\

1

Действительныйадреспамяти

д

 

 

 

 

 

 

 

 

 

 

IORD#

 

 

 

1

 

]

'1

 

 

 

 

1

 

1

 

 

 

 

 

 

 

 

 

 

MEMW#

 

 

1

1

1

1

 

 

 

 

 

 

 

 

 

SDO-SD15

 

 

1

 

1

 

 

 

 

 

 

 

 

 

 

отl/O-порта

 

 

 

 

 

 

 

 

 

 

 

——— i ———— о- '

 

 

 

 

 

 

 

 

 

 

 

Рис. 12.2. ЦиклобменаDMA

 

 

Динамическая память, применяемая в компьютере в качестве системного ОЗУ, а также, возможно, находящаяся на картах расширения, требует регенерации — периодического «освежения» (refresh) всех строк матрицы. На системной плате всегда имеется контроллер регенерации памяти, в задачу которого входит регулярный перебор строк памяти с формированием специального цикла регенерации. Каждые 15 мкс контроллер регенерации формирует цикл регенерации (сигнал REFRESH*), диаграмма которого аналогична циклу DMA, но вместо чтения данных выполняетсярегенерация.

Если какое-либо устройство захватывает управление шиной более чем на 15 мкс, оно должно позаботиться о регенерации памяти. Для этого раз в 15 мкс оно должновырабатыватьсигналREFRESH*, «отпуская» всеадресныеиуправля-

710 Глава12. Шинырасширения

ющие сигналы. Если устройство, надолго захватившее шину, сигнал регенерации не формирует, то запросы регенерации накапливаются в контроллере регенерации, и как только управление будет возвращено, эти запросы будут немедленно удовлетворены. Однако число безнаказанно пропущенных запросов ограничено свойствами динамической памяти, и очередь запросов в контроллере регенерации можетограничиваться, например, четырьмя.

На шине ISA имеются линии запросов маскируемых и немаскируемых аппаратных прерываний. Линии запросов маскируемых прерываний IRQ2-IRQ7 поступают на входы первичного контроллера прерываний, IRQ9-IRQ15 — на входы вторичного. Контакт В4 (IRQ2/9) запрос IRQ2 вырабатывал только у машин РХ/ХТ. На всех современных машинах (класса AT) он является запросом IRQ9, хотя на многих адаптерах(всех8-битных) онобозначается какIRQ2.

Устройство может использовать одну или несколько линий запроса прерывания. На используемой линии запроса устройство в покое должно формировать низкий уровень сигнала, а при возникновении условия прерывания устанавливать на нем высокий уровень запроса. Неиспользуемые линии должны быть электрически отключены от шины или же их выходные формирователи должны переводиться в третье состояние. Переход из низкого в высокий уровень является сигналом для контроллера прерываний на формирование запроса прерывания к процессору. Устройство должно удерживать высокий уровень запроса до тех пор, пока к нему не обратится программа-обработчик прерывания, что будет означать не только обнаружение, но и правильную идентификацию источника запроса прерывания. Если запрос снят преждевременно, идентификация будет некорректной. Детально механизмобслуживания прерываний рассмотрен вп. 3.4.

Способ подачи сигнала прерывания, принятый в ISA — чувствительность к уровню, причем к высокому, — имеет меньшую помехозащищенность, чем срабатывание по отрицательному перепаду, и отрезает путь к нормальному разделению (совместному использованию) линий запросов.

Линия ЮСНК# позволяет вызывать немаскируемое прерывание (NMI), на которое процессор реагирует вне зависимости от каких-либо флагов. Это прерывание принято использовать для сообщения о серьезных ошибках, требующих реакции системы, но не для регулярной работы. Вызов NMI от данной линии разрешается установкой бита 3 (EIC) системного порта 061h, а признаком того, что NMI вызвано сигналомЮСНК#, являетсяединичноезначениебита6 (ЮСНК) тогожепорта.

12.2. Шина PC/104

Шина РС/104, предназначенная для построения относительно несложных встраиваемых контроллеров, логически эквивалентна ISA. В ее названии 104 — число контактов коннектора, на который выводятся сигналы шины ISA. От ISA шина РС/104 отличается только типом коннектора и нагрузочными характеристиками линий: поскольку протяженность линий значительно сократилась, сигнальные цепи могут быть слаботочными. Контроллер с шиной РС/104 имеет разъем-ро- зетку. Плата расширения имеет вилку РС/104, которая вставляется в плату контроллера. Кроме вилки на плате расширения может присутствовать и розетка

12.3. ШинаEISA 711

PC-104 (коннектор двусторонний), так что можно собрать «бутерброд» из нескольких плат. Если плат более трех, то сверху «бутерброда» устанавливают терминатор. Для фиксации плат стандартизовано расположение крепежных отверстий. Платы скрепляются четырьмя несущими стоечками высотой 0,6" (или длиннымивинтамисвтулками).

12.3. ШинаEISA

EISA Bus (Extended ISA) — стандартизованное расширение ISA до 32 бит. Конструктивное исполнение обеспечивает совместимость с ней ISA-адаптеров (рис. 12.3). Узкие дополнительные контакты расширения (ряды Е, F, G, Н) расположены между ламелями (контактными площадками) разъема ISA и ниже ламелей А, В, С, D таким образом, что адаптер ISA, не имеющий дополнительных ключевых прорезей в краевом разъеме, не достает до них. Установка карт EISA в слоты ISA недопустима, поскольку ее цепи попадут на контакты ISA, в результате системнаяплатаокажетсянеработоспособной(ксчастью, «бездыма»).

КонтактыISA (рядыА, В, С, D)

КонтактыEISA (рядыЕ, F, G, H)

Рис. 12.3. РазъемшиныEISA

Для режимов EISA используются дополнительные управляющие сигналы, обеспечивающие более эффективные режимы передачи. В обычном (не пакетном) режиме передачи за каждую пару тактов может быть передано до 32 бит (один такт — на фазу адреса, один — на фазу данных). В пакетном режиме (Burst Mode) пакетыданныхпересылаютсябезуказаниятекущегоадресавнутрипакета. В пакете очередные данные передаются в каждом такте шины, длина пакета достигает 1024 байт. Шина предусматривает более производительные режимы DMA, при которых скорость обмена может достигать 33 Мбайт/с. Линии запросов прерываний допускают разделяемое использование, причем сохраняется совместимость с ISA-картами: каждая линия запроса может программироваться на чувствительность как по перепаду (как в ISA), так и по низкому уровню. Шина допускает потребление каждой картой расширения мощности до45 Вт, ноэто не означает, что мощность блока питания для 8 слотов должна быть более 360 Вт— полнуюмощностьнепотребляетниодинизадаптеров.

Многие решения EISA напоминают МСА. Каждый слот (максимум — 8) и системная плата имеют селективное разрешение адресации ввода-вывода

712Глава12. Шинырасширения

иотдельные линии запроса и подтверждения управления шиной. Арбитраж запросов выполняет устройство ISP (Integrated System Peripheral). Приоритеты (в порядке убывания): регенерация, DMA, CPU, Bus-Master. Обязательной принадлежностью системной платы с шиной EISA является энергонезависимая память конфигурации NVRAM, в которой хранится информация об устройствах EISA для каждого слота. Формат записей стандартизован, для модификации информации применяется специальная утилита ECU (EISA Configuration Utility). Архитектура позволяет при использовании программно-конфигурируемых адаптеров автоматически разрешать конфликты, но в отличие от РпР не допускает динамического конфигурирования — после выхода из режима конфигурирования необходима перезагрузка. Изолированный доступ к портам ввода-вывода каждой карты во время конфигурирования обеспечивается просто: сигнал AEN, разрешающий декодирование адреса в цикле ввода-вывода, на каждый слот приходит по отдельной линии AENx, в это время программно-управляемой. Так можно обращаться и к картам ISA, но из этого нельзя извлечь выгоды, поскольку они не поддерживают обмена конфигурационной информацией. Идеи конфигурирования EISA были использованы в спецификации РпР для шины ISA (формат конфигурационных записей ESCD напоминает NVRAM EISA).

EISA — дорогая, но в свое время оправдывавшая себя архитектура, применявшаяся в основном на серверах, где требуется высокоэффективное расширение шины ввода-вывода. Перед шиной PCI у нее было преимущество в количестве слотов (8 против 4).

Шина EISA позволяет устройствам работать как в режиме ISA, так и в новых режимах EISA. Из сигналов ISA используются линии адреса/данных с расширением их до 32 бит, сигналы прерываний и прямого доступа к памяти и синхронизации. Для своих циклов обмена EISA использует собственный набор управляющихсигналовсобязательнойсинхронизациейпосигналуBCLK.

12.4. Конфигурирование интерфейсныхкартISA иEISA

Как было указано выше, всем устройствам-абонентам шин ISA и EISA должны назначаться свои системные ресурсы — области адресов в пространствах памяти и ввода-вывода, линии запросов прерываний и каналы прямого доступа к памяти, причем устройства не должны конфликтовать по ресурсам. Иными словами, все устройства, подключенные к шине, требуется должным образом сконфигурировать. Под этим подразумевается бесконфликтная настройка их дешифраторов адресов и коммутация сигналов запросов прерываний и пар сигналов для работы с каналами DMA. Кроме того, выбранные аппаратные настройки должны быть сообщены программному обеспечению, непосредственно взаимодействующему с устройствами через порты, ячейки памяти, каналы DMA и контроллер прерываний.

Задача конфигурирования осложняется из-за отсутствия общего механизма автоматической передачи установленных параметров прикладному и системно-

12.4. КонфигурированиеинтерфейсныхкартISA иEISA 713

му ПО. Конфигурирование старых карт расширения выполняется переключением джамперов, затем установленные параметры заносятся в конфигурационные файлы.

Позже на картах ISA стали применять микросхемы энергонезависимой памяти (как правило, NVRAM в ее разновидности EEPROM), хранящей настройки. С такими картами поставляются утилиты настройки, позволяющие в диалоговом режиме задать требуемые параметры. Отсюда их названия: программно-кон-

фигурируемые (Software Configured) или безджамперные (jumperless). В общем это позволило облегчить конфигурирование — для смены настроек не нужно вынимать карту и переставлять джамперы. Правда, пользователю все равно приходится вникать в распределение системных ресурсов. Утилита может проверить выбираемые установки на отсутствие конфликта. Однако конфликт может быть не замечен или же ошибочно обнаружен там, где его нет. Некоторые программноконфигурируемые адаптеры все же имеют джамперы, что бывает полезно для установки типовой настройки, устраняющей конфликты (например, наложение областей памяти сетевого адаптера и видеопамяти). Применение NVRAM при соответствующих драйверах позволяет также отказаться от хранения конфигурационной информации в специальных файлах (если драйвер всегда может прочитать и расшифровать содержимое NVRAM). Программно-конфигурируемые карты, как правило, допускают только статическое конфигурирование — изменения, внесенные утилитой, будут действовать только после перезагрузки компьютера. Однако хуже другое — для того чтобы «достучаться» до NVRAM, расположенной на карте расширения, остальные устройства не должны конфликтовать с ресурсами, требуемыми для конфигурирования (портами или ячейками памяти).

Всистемах с большим числом разнообразных карт расширения это может оказаться недостижимым, и утилита будет сообщать, что ее карта не установлена.

Втаком случае на время выполнения конфигурирования можно попытаться оставить эту карту в одиночестве, временно изъяв все остальные, не требующиеся для загрузки. Разумно спроектированные программно-конфигурируемые карты, как правило, допускают установку нескольких однотипных карт, и утилита способна идентифицировать каждую и управлять ими по отдельности. Однако установка разнотипных программно-конфигурируемых карт может бытьпроблематичной.

Идеальными условиями для программного конфигурирования, и тем более автоматического (без вмешательства пользователя) конфигурирования, является изоляция карты от всех остальных. Тогда ПО конфигурирования сможет вести с картой диалог, на который не влияет присутствие других устройств. Изоляция карт при конфигурировании заложена в шины MCA, PCI и EISA, но в ISA такой возможности нет. В EISA для каждого слота возможно программное селективное управление сигналом AEN, что позволяет на время конфигурирования разрешить дешифрацию адресов портов ввода-вывода только для выбранного слота. В системе

сшиной EISA имеется энергонезависимая память конфигурирования слотов, с которой взаимодействуют диалоговые утилиты конфигурирования ECU (EISA Configuration Utility). Но машины с EISA были слишком дороги, и для массовых компьютеров с шиной ISA была разработана аппаратно-программная спецификация автоматического конфигурирования ISA PnP, описанная ниже. Для автоматического конфигурирования необходимо также обес-

714 Глава12. Шинырасширения

печить единый метод двустороннего обмена конфигурационной информацией между картой и конфигурационным ПО. Для этого были расширены функции BIOS — появилась спецификация PnP BIOS, описанная в п. 15.8. Полная поддержка автоматического конфигурирования карт ISA требует наличия PnP BIOS, карт и/или модулей ISA PnP на системной плате, а также ОС с поддержкой PnP или же специализированного ПО.

12.4.1. СпецификацияPlug and Play

дляшиныISA

Решением задачи изоляции карт ISA, программного распределения системных ресурсов, конфигурирования и передачи параметров операционной системе и прикладному ПО явилась спецификация компаний Intel и Microsoft «Plug and Play ISA Specification», ее версия l.Oa была опубликована в мае 1994 года. Вышеперечисленные задачи решаются для карт PnP, которые могут работать и в окружении традиционных карт, называемых Legacy Cards («наследие тяжелого прошлого»). Поскольку описание программной части этой спецификации достаточно объемно и выходит за рамки данной книги, рассмотрим принципы реализации PnP в основном с точки зрения аппаратных средств.

Конфигурирование в системе PnP состоит из следующих шагов.

1.Производится изоляция одной карты от всех остальных.

2.Карте назначается номер CSN (Card Select Number), фигурально выражаясь

— «приделывается ручка» (Assign a handle), за которую ее можно «ухватить» дальнейшимкомандамPnP.

3.С карты считываются данные о сконфигурированных и поддерживаемых ресурсах.

Эти шаги повторяются для всех карт, после чего выполняются завершающие шаги.

4. Производитсяраспределение(арбитраж) системныхресурсов, выделяемых

каждойкарте.

•5. Каждая карта конфигурируется согласно выбранному распределению ресурсов и активируется (переводится в рабочий режим).

Все шаги конфигурирования выполняет процедура POST (если BIOS имеет поддержку PnP) или операционная система при загрузке. PnP BIOS может ограничиться конфигурированием и активацией только устройств, участвующих в загрузке, оставляя конфигурирование и активацию дополнительных устройств операционной системе. BIOS без поддержки PnP может использовать необходимые для загрузки устройства, сконфигурированные с параметрами умолчания, а изоляцией карт, сбором информации и конфигурированием займется операционная система при загрузке. Вариантов много, но все они опираются на единые методы взаимодействия с картами ISA PnP. Конфигурирование выполняется в специальном состоянии плат, в которое их всех можно программно перевести с помощью специального ключа инициализации, защищающего конфигурационную информацию от случайного разрушения. Подробно спецификация описана в[1,4].

12.5. ШинаPCI 715

12.5. ШинаPCI

PCI (Peripheral Component Interconnect) local bus — шина соединения перифе-

рийных компонентов является основной шиной расширения современных компьютеров. Шина разрабатывалась в расчете на Pentium, но хорошо сочеталась и с процессорами 486. Сейчас PCI является четко стандартизованной высокопроизводительной инадежнойшинойрасширения. ПерваяверсияPCI 1.0 появилась в 1992 году. В PCI 2.0 (1993 г.) введена спецификация коннекторов и карт расширения. В версии 2.1 (1995 г.) введена частота 66 МГц. В настоящее время действует спецификация PCI 2.2 (декабрь 1998 г.), которая уточняет и разъясняет некоторые положения предшествующей версии 2.1. Данное описание основано на тексте стандарта «PCI Local Bus Specification. Revision 2.2» от 18.12.1998, опубликованноморганизациейPCI SIG (Special Interest Group).

Поначалу шина PCI вводилась как пристройка (mezzanine bus) к системам с основной шиной ISA, став позже центральной шиной: она соединяется с системной шиной процессора высокопроизводительным мостом («северным»), входящим в состав чипсета. Остальные шины расширения ввода-вывода (ISA/EISA или МСА), а также локальная ISA-подобная шина X-BUS и интерфейс LPC, к которым подключаются микросхемы системной платы (ROM BIOS, контроллеры прерываний, клавиатуры, DMA, портов СОМ и LPT, НГМД и прочие «мелочи»), подключаютсякшинеPCI через «южный» мост. Всовременных системных платах с хабовой архитектурой (см. п. 4.1) шину PCI отодвинули на периферию, не ущемляя ее в мощности канала связи с процессором и памятью, но иненагружая транзитнымтрафикомустройствдругихшин.

Шина является синхронной — фиксация всех сигналов выполняется по положительному перепаду (фронту) сигнала CLK. Номинальной частотой синхронизациисчитается33 МГц, принеобходимостичастотаможетбытьпонижена(на машинах с процессором 486 использовали частоты 20-33 МГц). Во многих случаях частоту успешно разгоняют и до 41,5 МГц (половина типовой частоты системной шины 83 МГц). Начиная с версии 2.1, допускается повышение частоты до66 МГцприсогласиивсехустройствнашине.

Номинальнаяразрядностьшиныданных— 32 бита, спецификацияопределяети расширение разрядности до 64 бит. При частоте шины 33 МГц теоретическая пропускная способность достигает 132 Мбайт/с для 32-битной шины и 264 Мбайт/с для 64-битной; при частоте синхронизации 66 МГц — 264 и 528 Мбайт/с соответственно. Однако эти пиковые значения достигаются лишь во время передачи пакета, а из-за протокольных накладных расходов реальная средняя суммарная (для всех задатчиков) пропускная способность шины будет ниже.

Слот PCI достаточен для подключения адаптера (в отличие от VLB), на системнойплатеонможетсосуществоватьслюбойизшинввода-вывода(идажес

VLB).

С устройствами PCI процессор может взаимодействовать командами обращения к памяти и портам ввода-вывода, адресованным к областям, выделенным данномуустройствуприконфигурировании. Устройствамогутвырабатыватьзапросы маскируемых и немаскируемых прерываний. Понятия каналов DMA для