Для содержимого ПЗУ расширений BIOS, установленных на картах PCI, принят стандарт, несколько отличающийся от традиционных дополнительных модулей ROM BIOS. Заголовок ПЗУ соответствует традиционному, но дополнительно имеет указатель на структуру данных PCI. Идентификаторы производителя и устройства, а также код класса совпадают с описанными в конфигурационном пространстве устройства PCI. Поскольку шина PCI используется не только в PC, в ПЗУ карты может храниться несколько программных модулей. Каждый модуль начинается со структуры данных, сам модуль следует сразу за структурой. За ним начинается структура для следующего модуля (если у предыдущего не установлен признак последнего модуля) и т. д. Тип платформы (процессора) указывается в заголовке модуля, и при инициализации BIOS активизируется только нужный тип. Такой механизм позволяет, например, один и тот же графический адаптер устанавливать и в IBM PC, и в Power PC.
Слоты и карты PCI/PCI-X
Стандартные слоты PCI и PCI-X представляют собой щелевые разъемы, имеющие контакты с шагом 0,05 дюйма. Слоты расположены несколько дальше от задней панели, чем ISA/EISA или МСА. Компоненты карт PCI размещены на левой поверхности плат. По этой причине крайний PCI-слот обычно совместно использует посадочное место адаптера (прорезь на задней стенке корпуса) с соседним ISA-слотом. Такой слот называют разделяемым (shared slot), в него может устанавливаться либо карта ISA, либо карта PCI.
Карты PCI могут предназначаться для интерфейсных сигналов уровня 5 и 3,3 В, а также быть универсальными. Слоты PCI имеют уровни сигналов, соответствующие питанию микросхем PCI-устройств системной платы (включая главный мост): либо 5 В, либо 3,3 В. Во избежание ошибочного подключения слоты имеют ключи, определяющие номинал напряжения. Ключами являются пропущенные ряды контактов 12, 13 или/и 50, 51:
♦ для слота на 5 В ключ (перегородка) расположен на месте контактов 50, 51 (ближе к передней стенке корпуса); такие слоты отменены в PCI 3.0;
♦ для слота на 3,3 В перегородка находится на месте контактов 12, 13 (ближе к задней стенке корпуса);
♦ на универсальных слотах перегородок нет;
♦ на краевых разъемах карт на 5 В имеются ответные прорези только на месте контактов 50, 51; такие карты отменены в PCI 2.3;
♦ на картах 3,3 В прорези имеются только на месте контактов 12, 13;
♦ на универсальных картах имеются оба ключа (две прорези).
Ключи не позволяют установить карту в слот с неподходящим напряжением питания. Карты и слоты различаются лишь питанием буферных схем, которое поступает с линий +V I/O.
На слотах всех типов присутствуют питающие напряжения +3,3, +5, +12 и -12 В на одноименных линиях. В PCI 2.2 определена дополнительная линия 3.3Vaux — «дежурное» питание +3,3 В для устройств, формирующих сигнал РМЕ# при отключенном основном питании.
ПРИМЕЧАНИЕ
Выше приведены положения из официальных спецификаций PCI. На современных системных платах пока чаще всего встречаются слоты, по ключу являющиеся 5-вольтовыми, однако при этом напряжение на линиях +V I/O и уровни сигналов интерфейса являются 3,3-вольтовыми. В этих слотах нормально работают все современные карты с 5-вольтовыми ключами — их интерфейсные схемы подходят под оба напряжения питания (как 3,3, так и 5 В). Интерфейс с 5-вольтовым питанием может работать только на частоте до 33 МГц. «Настоящие» 5-вольтовые системные платы были только для процессоров 486 и первых моделей Pentium.
Наибольшее распространение получили 32-битные слоты, заканчивающиеся контактами А62/В62. 64-битные слоты встречаются реже, они длиннее и заканчиваются контактами А94/В94. Конструкция разъемов и протокол позволяют устанавливать 64-битные карты как в 64-битные, так и в 32-битные разъемы, и наоборот, 32-битные карты как в 32-битные, так и в 64-битные разъемы. При этом разрядность обмена будет соответствовать слабейшему компоненту.
Карты и слоты PCI-X по механическим ключам соответствуют 3,3-вольтовым картам и слотам; напряжение питания +V I/O для PCI-X Mode 2 устанавливается 1,5 В.На рис. 14.2 изображены карты PCI в конструктиве РС/АТ-совместимых компьютеров. Полноразмерные карты (Long Card, 107 х 312 мм) используются редко, чаще применяются укороченные платы (Short Card, 107 х 175 мм), но размеры многих карт еще меньше. Карта имеет обрамление (скобку), стандартное для конструктива ISA (раньше встречались карты и с обрамлением в стиле MCA IBM PS/2). У низкопрофильных карт (Low Profile) высота не превышает 64,4 мм; их скобки также имеют меньшую высоту. Такие карты могут устанавливаться вертикально в 19-дюймовые корпуса высотой 2U (около 9 см).
Назначение выводов разъема карт PCI/PCI-X приведено в табл. 14.3.
На некоторых старых системных платах позади одного из слотов PCI встречается разъем Media Bus, на который выводятся сигналы ISA. Он предназначен для размещения на графическом адаптере PCI звукового чипсета для шины ISA.
Большинство сигналов PCI соединяются по чистой шинной топологии, то есть одноименные контакты слотов одной шины PCI электрически соединяются друг с другом. Из этого правила есть несколько исключений: сигналы REQ#, GNT#, IDSEL и CLK заводятся на каждый слот индивидуально, сигналы INTA#, INTB#, INTC#, INTD# циклически сдвигаются по контактам (см. рис. 4.4).
Когда обычная системная плата используется в низкопрофильных корпусах, для подключения карт расширения можно применить пассивный переходник (riser card), устанавливаемый в один из слотов PCI. Если в переходник устанавливается более одной карты, то для реализации упомянутых исключений используют выносные разъемы PCI (маленькие печатные платы), с помощью которых вышеперечисленные сигналы берутся от других, свободных слотов PCI на системной плате. Переставляя эти разъемы, можно менять номера устройств на слотах переходника, а главное — их раскладку по линиям запросов прерывания. Беда такого подключения — длинные (10-15 см) шлейфы, соединяющие переходник со слотами. Из-за этого форма сигнала CLK искажается и вносится значительная задержка, что может приводить к внезапным «зависаниям» компьютера без всяких диагностических сообщений.