Виды слотов pci. PCI Express vs. PCI Вести со звуковых фронтов. Форматы шины PCI-E

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

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

Для чего необходим PCI-Express и что это такое?

Начнем, как обычно, с самых азов. Интерфейс PCI-Express (PCI-E) – это средство взаимодействия, в данном контексте, состоящее из контролера шины и соответствующего слота (рис.2) на материнской плате (если обобщить).

Данный высокопроизводительный протокол используется, как уже было отмечено выше, для подключения видеокарты в систему. Соответственно, на материнской плате присутствует соответствующий слот PCI-Express, куда и устанавливается видеоадаптер. Ранее, видеокарты, подключались по интерфейсу AGP, но когда данного интерфейса, попросту говоря: «перестало хватать», на помощь пришёл PCI-E, о подробных характеристиках которого мы сейчас и поговорим.

Рис.2 (Слоты PCI-Express 3.0 на материнской плате)

Основные характеристики PCI–Express (1.0, 2.0 и 3.0)

Несмотря на то, что названия PCI и PCI-Express очень похожи, принципы соединения (взаимодействия) у них кардинально отличаются. В случае PCI-Express используется линия – двунаправленное последовательное соединение, типа «точка-точка», данных линий может быть несколько. В случае с видеокартами и материнскими платами (не учитываем Cross Fire и SLI), которые поддерживают PCI-Express x16 (то есть большинство), можно запросто догадаться, что таких линий 16 (рис.3), довольно часто на материнских платах с PCI-E 1.0, можно было наблюдать второй слот x8, для работы в режиме SLI или Cross Fire.

Ну, а в PCI, устройство подключается к общей 32- х разрядной параллельной шине.

Рис. 3. Пример слотов с различным количеством линий

(как уже говорилось ранее, наиболее часто используется х16)


Для интерфейса пропускная способность составляет 2,5 Гбит/c. Эти данные нужны нам, чтобы отслеживать изменения этого параметра в различных версиях PCI-E.

Далее, версия 1.0 эволюционировала в PCI-E 2.0 . В результате данного преображения, мы получили в два раза большую пропускную способность, то есть 5 Гбит/c, но хотелось бы отметить, что в производительности графические адаптеры, особо не выиграли, так как это просто версия интерфейса. Большая часть производительности зависит от самой видеокарты, версия интерфейса может только незначительно улучшать или тормозить передачу данных (в данном случае «торможения» нет, и присутствует неплохой запас).

Точно так же в 2010 году, с запасом, был разработан интерфейс PCI-E 3.0 , на данный момент он используется во всех новых системах, но если у Вас все ещё 1.0 или 2.0, то не горюйте – ниже мы поговорим о относительно обратной совместимости различных версий.

В версии PCI-E 3.0, пропускная способность была увеличена в два раза по сравнению с версией 2.0. Также там было произведено немало технических изменений.

К 2015 году ожидается появление на свет PCI-E 4.0 , что для динамической IT-индустрии абсолютно неудивительно.

Ну да ладно, будем заканчивать с этими версиями и цифрами пропускной способности, и затронем очень важный вопрос обратной совместимости различных версий PCI-Express.

Обратная совместимость версий PCI-Express 1.0, 2.0 и 3.0

Данный вопрос волнует многих, особенно при выборе видеокарты для текущей системы. Так как довольствуясь системой с материнской платой, которая поддерживает PCI-Express 1.0, возникают сомнения, будет ли корректно работать видеокарта с PCI-Express 2.0 или 3.0? Да, будет, по крайней мере так обещают разработчики, которые обеспечили эту самую совместимость. Единственное то, что видеокарта, не сможет полностью раскрыться во всей красе, но потери производительности, в большинстве случаев, будут незначительны.


С точностью наоборот, можно преспокойно устанавливать видеокарты с интерфейсом PCI-E 1.0, в материнские платы, которые поддерживают PCI-E 3.0 или 2.0, тут вообще ничего не ограничивается, так что будьте спокойны по поводу совместимости. Если, конечно же, с другими факторами все в порядке, к таковым можно отнести недостаточно мощный блок питания и т.д.

В общем, мы довольно подробно поговорили относительно PCI-Express, что позволит вам избавиться от множества неясностей и сомнений по поводу совместимости и понимания различий в версиях PCI-E.

Где применяются негорючая ткань www.algo-textile.ru . Москитные сетки комплектующие для москитных сеток 2-sklad.ru .

PCI и PCI-X

Шины PCI и PCI-X

Введение

Шины PCI и PCI-X являются основными шинами расширения ввода/вывода в современных компьютерах; для подключения видеоадаптеров их дополняет порт AGP . Шины расширения ввода/вывода (Expansion Bus) являются средствами подключения системного уровня: они позволяют адаптерам и контроллерам периферийных устройств непосредственно использовать системные ресурсы компьютера — пространство адресов памяти и ввода/вывода, прерывания, прямой доступ к памяти. Устройства, подключенные к шинам расширения, могут и сами управлять этими шинами, получая доступ к остальным ресурсам компьютера. Шины расширения механически реализуются в виде слотов (щелевых разъемов) или штырьковых разъемов; для них характерна малая длина проводников, то есть они сугубо локальны, что позволяет достигать высоких скоростей работы. Эти шины могут и не выводиться на разъемы, но использоваться для подключения устройств в интегрированных системных платах.

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

Шина PCI является синхронной — фиксация всех сигналов выполняется по положительному перепаду (фронту) сигнала CLK. Номинальной частотой синхронизации считается частота 33,3 МГц, при необходимости она может быть понижена. Начиная с версии PCI 2.1 допускается повышение частоты до 66,6 МГц при «согласии» всех устройств на шине. В PCI-X частота может достигать 133 МГц.

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

Сравнительные характеристики шин PCI и PCI-X и других шин расширения PCсовместимых компьютеров приведены в табл. 1.1. Шина ISA из настольных компьютеров уходит, но она сохраняет свои позиции в промышленных и встраиваемых компьютерах, как в традиционном, слотовом, так и в «бутербродном» варианте PC/104. В блокнотных компьютерах широко применяются слоты PCMCIA с шинами PC Card и Card Bus. Шина LPC является современным дешевым средством для подключения нересурсоемких устройств к системной плате.

Шина Пиковая пропускная способность Мбайт/с Каналы DMA Bus-Master ACFG Разрядность данных Разрядность адреса Частота МгГц
ISA-8 4 3 - - 8 20 8
ISA-16 8
7
+
-
16
24
8
LPC 6,7
7
+
-
8/16/32
32
33
EISA
33,3 7 +
+
32
32
8,33
MCA-16
16
-
+
+
16
24
10
MCA-32
20
-
+
+
32
32
10
VLB
132
-
(+)
-
32/64
32
33-50(66)
PCI
133-533
-
+
+
32/64
32/64
33/66
PCI-X
533-4256
-
+
+
16/32/64
32/64
66-133
PCI Express
496-15872
-
+
+
1/2/4/8/12/16/32
32/64
2,5 ГГц
AGP 1x/2x/4x/8x
266/533/1066/2132
-
+
+
32
32/64
66
PCMCIA
10/22
+
-
+
8/16
26
10
Card Bus 132 - + + 32 32 33

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

Сигнальный протокол шин PCI и PCI-X

Обмен информацией по шине PCI и PCI-X организован в виде транзакций — логически завершенных операций обмена. В типовой транзакции участвуют два устройства —инициатор обмена (initiator), он же ведущее устройство (master), и целевое устройство (ЦУ, target)), оно же ведомое (slave). Правила взаимодействия этих устройств определяются протоколом шины PCI. Устройство может следить за транзакциями на шине и не являясь их участником (не вводя никаких сигналов); режиму слежения соответствует термин Snooping. Есть особый тип транзакции (Special Cycle) — широковещательный, в котором инициатор протокольно не взаимодействует ни с одним из устройств. В каждой транзакции выполняется одна команда — как правило, чтение или запись данных по указанному адресу. Транзакция начинается с фазы адреса, в которой инициатор задает команду и целевой адрес. Далее могут следовать фазы данных, в которых одно устройство (источник данных) помещает данные на шину, а другое (приемник) их считывает. Транзакции, в которых присутствует множество фаз данных, называются пакетными. Есть и одиночные транзакции (с одной фазой данных). Транзакция может завершиться и без фаз данных, если целевое устройство (или инициатор) не готово к обмену. В шине PCI-X добавлена фаза атрибутов, в которой передается дополнительная информация о транзакции.

Сигнальный протокол шин PCI и PCI-X

Состав и назначение интерфейсных сигналов шины раскрывает таблице ниже. Состояния всех сигнальных линий воспринимаются по положительному перепаду CLK, и именно эти моменты в дальнейшем описании подразумеваются под тактами шины (на рисунках отмечены вертикальными пунктирными линиями). В разные моменты времени одними и теми же сигнальными линиями управляют разные устройства шины, и для корректной (бесконфликтной) «передачи полномочий» требуется, чтобы существовал промежуток времени, в течение которого линией не управляет ни одно устройство. На временных диаграммах это событие — так называемый «пируэт» (turnaround) — обозначается парой полукруглых стрелок.

Таблица. сигналы шины PCI

Сигнал
Назначение
AD Address/Data — мультиплексированная шина адреса/данных. В начале транзакции передается адрес, в последующих тактах — данные
C/B # Command/Byte Enable — команда/разрешение обращения к байтам. Команда, определяющая тип очередного цикла шины, задается четырехбитным кодом в фазе адреса
FRAME#
Кадр. Введением сигнала отмечается начало транзакции (фаза адреса), снятие сигнала указывает на то, что последующий цикл передачи данных является последним в транзакции
DEVSEL#
Device Select — устройство выбрано (ответ ЦУ на адресованную к нему транзакцию)
IRDY#
Initiator Ready — готовность ведущего устройства к обмену данными
TRDY#
Target Ready — готовность ЦУ к обмену данными
STOP#
Запрос ЦУ к ведущему устройству на остановку текущей транзакции
LOCK#
Сигнал блокировки (захвата) шины для обеспечения целостного выполнения операции. Используется мостом, которому для выполнения одной операции требуется выполнить несколько транзакций PCI
REQ#
Request — запрос от ведущего устройства на захват шины
GNT#
Grant — предоставление ведущему устройству управления шиной
PAR
Parity — общий бит четности для линий AD и C/BE#
PERR#
Parity Error — сигнал об ошибке четности (для всех циклов, кроме специальных). Вырабатывается любым устройством, обнаружившим ошибку
PME#
Power Management Event — сигнал о событиях, вызывающих изменение режима потребления (дополнительный сигнал, введенный в PCI 2.2)
CLKRUN#
Clock running — шина работает на номинальной частоте синхронизации. Снятие сигнала означает замедление или остановку синхронизации с целью снижения потребления (для мобильных применений)
PRSN #
Present — индикаторы присутствия платы, кодирующие запрос потребляемой мощности. На карте расширения одна или две линии индикаторов соединяются с шиной GND, что воспринимается системной платой
RST#
Reset — сброс всех регистров в начальное состояние (по кнопке «Reset»
и при перезагрузке)
IDSEL
Initialization Device Select — выбор устройства в циклах конфигурационного считывания и записи; на эти циклы отвечает устройство, обнаружившее на данной линии высокий уровень сигнала
SERR#
System Error — системная ошибка. Ошибка четности адреса или данных в специальном цикле или иная катастрофическая ошибка, обнаруженная устройством. Активизируется любым устройством PCI и вызывает NMI
REQ64#
Request 64 bit — запрос на 64-битный обмен. Сигнал вводится 64-битным инициатором, по времени он совпадает с сигналом FRAME#. Во время окончания сброса (сигналом RST#) сигнализирует 64-битному устройству о том, что оно подключено к 64-битной шине. Если 64-битное устройство не обнаружит этого сигнала, оно должно переконфигурироваться на 32-битный режим, отключив буферные схемы старших байтов
ACK64#
Подтверждение 64-битного обмена. Сигнал вводится 64-битным ЦУ, опознавшим свой адрес, одновременно с DEVSEL#. Отсутствие этого подтверждения заставит инициатор выполнять обмен с 32-битной разрядностью
INTA#, INTB#, INTC#, INTD#
Interrupt A, B, C, D — линии запросов прерывания, чувствительность к уровню, активный уровень — низкий, что допускает разделяемость (совместное использование) линий
CLK
Clock — тактовая частота шины. Должна лежать в пределах 20—33 МГц, начиная с PCI 2.1 может быть до 66 МГц, в PCI-X до 100 и 133 МГц
M66EN
66MHz Enable — разрешение частоты синхронизации до 66 МГц (на картах 33 МГц заземлен, на 66 МГц — свободен)
PCIXCAP (38B)

Возможности PCI-X: на платах PCI — заземлен, на PCI-X133 соединен с землей через конденсатор 0,01 мкФ, на PCI-X66 — параллельной RC-цепочкой 10 кОм, 0,01 мкФ.

SDONE
Snoop Done — сигнал завершенности цикла слежения для текущей транзакции. Низкий уровень указывает на незавершенность цикла слежения за когерентностью памяти и кэша. Необязательный сигнал, используется только устройствами шины с кэшируемой памятью. Исключен начиная с PCI 2.2
SBO#
Snoop Backoff — попадание текущего обращения к памяти абонента шины в модифицированную строку кэша. Необязательный сигнал, используется только абонентами шины с кэшируемой памятью при алгоритме обратной записи. Исключен начиная с PCI 2.2
SMBCLK
SMBus Clock — тактовый сигнал шины SMBus (интерфейс I2C). Введен начиная с PCI 2.3
SMBDAT
SMBus Data — последовательные данные шины SMBus (интерфейс I2C). Введен начиная с PCI 2.3
TCK
Test Clock — синхронизация тестового интерфейса JTAG
TDI
Test Data Input — входные данные тестового интерфейса JTAG
TDO
Test Data Output — выходные данные тестового интерфейса JTAG
TMS
Test Mode Select — выбор режима для тестового интерфейса JTAG
TRST
Test Logic Reset — сброс тестовой логики

В каждый момент времени шиной может управлять только одно ведущее устройство, получившее на это право от арбитра. Каждое ведущее устройство имеет пару сигналов — REQ# для запроса на управление шиной и GNT# для подтверждения предоставления управления шиной. Устройство может начинать транзакцию (устанавливать сигнал FRAME#) только при полученном активном сигнале GNT# и дождавшись отсутствия активности шины. Заметим, что за время ожидания покоя арбитр может «передумать» и отдать управление шиной другому устройству с более высоким приоритетом. Снятие сигнала GNT# не позволяет устройству начать следующую транзакцию, а при определенных условиях (см. далее) может заставить прекратить начатую транзакцию. Арбитражем запросов на использование шины занимается специальный узел — арбитр, входящий в мост, соединяющий данную шину с центром. Схема приоритетов (фиксированный, циклический, комбинированный) определяется программированием арбитра.

Для адреса и данных используются общие мультиплексированные линии AD. Четыре мультиплексированные линии C/BE обеспечивают кодирование команд в фазе адреса и разрешение байтов в фазе данных. В транзакциях записи линии C/BE разрешают использование байтов данных одновременно с их присутствием на шине AD, в транзакциях чтения эти сигналы относятся к байтам следующей за ними фазы данных. В фазе адреса (начало транзакции) ведущее устройство активирует сигнал FRAME#, передает целевой адрес по шине AD, а по линиям C/BE# — информацию о типе транзакции (команду). Адресованное целевое устройство отзывается сигналом DEVSEL#. Ведущее устройство указывает на свою готовность к обмену данными сигналом IRDY#, эта готовность может быть выставлена и до получения DEVSEL#. Когда и целевое устройство будет готово к обмену данными, оно установит сигнал TRDY#. Данные по шине AD передаются только при одновременном наличии сигналов IRDY# и TRDY#. С помощью этих сигналов ведущее и целевое устройства согласовывают свои скорости, вводя такты ожидания (wait states). На рисунке ниже приведена временная диаграмма обмена, в которой и ведущее и целевое устройства вводят такты ожидания. Если бы они оба ввели сигналы готовности в конце фазы адреса и не снимали бы их до конца обмена, то в каждом такте после фазы адреса передавались бы по 32 бита данных, что обеспечило бы выход на предельную производительность обмена. В транзакциях чтения после фазы адреса необходим дополнительный такт для пируэта, во время которого инициатор прекращает управление линией AD; целевое устройство сможет взять на себя управление шиной AD только в следующем такте. В транзакции записи пируэт не нужен, поскольку данные передает инициатор.

На шине PCI все транзакции трактуются как пакетные: каждая транзакция начинается фазой адреса, за которой может следовать одна или несколько фаз данных. Количество фаз данных в пакете явно не указывается, но в такте последней фазы данных ведущее устройство при введенном сигнале IRDY# снимает сигнал FRAME#. В одиночных транзакциях сигнал FRAME# активен лишь в течение одного такта. Если устройство не поддерживает пакетные транзакции в ведомом режиме, то оно должно потребовать прекращения пакетной транзакции в течение первой фазы данных (выставив сигнал STOP# одновременно с TRDY#). В ответ на это ведущее устройство завершит данную транзакцию и продолжит обмен последующей транзакцией со следующим значением адреса. После завершающей фазы данных ведущее устройство снимает сигнал IRDY#, и шина переходит в состояние покоя (Idle) — оба сигнала: — FRAME# и IRDY# — находятся в пассивном состоянии.

Инициатор может начать следующую транзакцию и без такта покоя, установив FRAME# одновременно со снятием IRDY#. Такие быстрые смежные транзакции (Fast Back-to-Back) могут быть обращены как к одному, так и к разным целевым устройствам. Первый тип быстрых смежных транзакций поддерживается всеми устройствами PCI, выступающими в роли целевого устройства. На поддержку второго типа смежных транзакций (такая поддержка необязательна) указывает бит 7 регистра состояния. Инициатору разрешают (если он умеет) использовать быстрые смежные транзакции с различными устройствами (разрешение определяется битом 9 регистра команд), только если все агенты шины допускают быстрые обращения. При обмене данных в режиме PCI-X быстрые смежные транзакции недопустимы.

Протокол шины обеспечивает надежность обмена — ведущее устройство всегда получает информацию об отработке транзакции целевым устройством. Средством повышения достоверности обмена является применение контроля четности: линии AD и C/BE# и в фазе адреса, и в фазе данных защищены битом четности PAR (количество установленных битов этих линий, включая PAR, должно быть четным). Действительное значение PAR появляется на шине с задержкой в один такт относительно линий AD и C/BE#. При обнаружении ошибки устройство вырабатывает сигнал PERR# (со сдвигом на такт после появления на шине действительного бита четности). В подсчете четности при передаче данных учитываются все байты, включая и недействительные (отмеченные высоким уровнем сигнала C/BEx#). Состояние бит, даже и в недействительных байтах данных, во время фазы данных должно оставаться стабильным.

Каждая транзакция на шине должна быть завершена планово или прекращена, при этом шина должна перейти в состояние покоя (сигналы FRAME# и IRDY# пассивны). Завершение транзакции выполняется либо по инициативе ведущего устройства, либо по инициативе целевого устройства.

Ведущее устройство может завершить транзакцию одним из следующих способов:

  • comletion — нормальное завершение по окончании обмена данными;
  • time-out — завершение по тайм-ауту. Происходит, когда во время транзакции у ведущего устройства отбирают право на управление шиной (снятием сигнала GNT#), и истекает время, указанное в его таймере Latency Timer. Это может произойти, если адресованное целевое устройство оказалось непредвиденно медленным или запланирована слишком длинная транзакция. Короткие транзакции (с одной-двумя фазами данных) даже в случае снятия сигнала GNT# и срабатывания таймера завершаются нормально;
  • master-Abort — прекращение транзакции, когда в течение заданного времени ведущее устройство не получает ответа от целевого устройства (сигнала DEVSEL#).

Транзакция может быть прекращена по инициативе целевого устройства; для этого оно может ввести сигнал STOP#. Возможны три типа прекращения транзакции:

  • retry — повтор, введение сигнала STOP# при пассивном сигнале TRDY# до первой фазы данных. Эта ситуация возникает, когда целевое устройство изза внутренней занятости не успевает выдать первые данные в положенный срок (16 тактов). Прекращение типа retry является указанием ведущему устройству на необходимость повторного запуска той же транзакции;
  • disconnect — отключение, введение сигнала STOP# в течение или после первой фазы данных. Если сигнал STOP# введен при активном сигнале TRDY# очередной фазы данных, то эти данные передаются, на чем транзакция и завершается. Если сигнал STOP# выставлен при пассивном сигнале TRDY#, то транзакция завершается без передачи данных очередной фазы. Отключение производится, когда целевое устройство не способно своевременно выдать или принять очередную порцию данных пакета. Отключение является указанием ведущему устройству на необходимость повторного запуска этой транзакции, но с модифицированным стартовым адресом;
  • target-abort — отказ, введение сигнала STOP# одновременно со снятием сигнала DEVSEL# (в предыдущих случаях во время появления сигнала STOP# сигнал DEVSEL# был активен). После этого данные уже не передаются. Отказ производится, когда целевое устрйство обнаруживает фатальную ошибку или иные условия, по которым оно уже никак не сможет обслужить данный запрос (в том числе и неподдерживаемую команду).

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

Прекращение типа retry используется для организации отложенных транзакций (delayed transactions). Отложенные транзакции используются только медленными целевыми устройствами, а также мостами PCI при трансляции транзакций на другую шину. Прекращая (для инициатора) транзакцию условием retry, целевое устройство внутренне выполняет данную транзакцию. Когда инициатор повторит эту транзакцию (выдаст ту же команду с тем же адресом и тем же набором сигналов C/BE# в фазе данных), у целевого устройства (или моста) уже будет готов результат (данные чтения или состояние выполнения записи), который оно быстро вернет инициатору. Результат отложенной транзакции, выполненной данным устройством, устройство или мост должны хранить до тех пор, пока результаты не будут запрошены инициатором. Однако он может и «забыть» повторить транзакцию (из-за каких-либо нештатных ситуаций). Чтобы избежать переполнения буфера хранения результатов, устройству приходится отбрасывать (discard) эти результаты. Отбрасывание может быть выполнено без побочных эффектов, если откладывалась транзакция к памяти, допускающей предвыборку (с атрибутом prefetchable, см. далее). Остальные типы транзакций в общем случае безнаказанно отбрасывать нельзя (может нарушиться целостность данных), для них отбрасывание разрешается только после безрезультатного ожидания повтора в течение 215 тактов шины (по срабатыванию discard timer). Об этой особой ситуации устройство может сообщить своему драйверу (или всей системе).

Инициатор транзакции может потребовать монопольного использования шины PCI на все время выполнения операции обмена, требующей нескольких шинных транзакций. Так, например, если центральный процессор выполняет инструкцию модификации данных в ячейке памяти, принадлежащей устройству PCI, ему нужно прочитать данные из устройства, модифицировать их в своем АЛУ и вернуть результат в устройство. Чтобы в эту операцию не вклинивались транзакции от других инициаторов (что чревато нарушением целостности данных), главный мост выполняет ее как блокированную — на все время исполнения операции подается шинный сигнал LOCK#. Этот сигнал никак не используется (и не вырабатывается) обычными устройствами PCI (не мостами); он используется только мостами для управления арбитражем.

Аппаратные прерывания в PC-совместимых компьютерах

Устройства PCI имеют возможность сигнализации об асинхронных событиях с помощью прерываний. На шине PCI возможны четыре типа сигнализации прерываний:

  • традиционная проводная сигнализация по линиям INTx;
  • проводная сигнализация событий управления энергопотреблением по линии PME#;
  • сигнализация с помощью сообщений — MSI;
  • сигнализация фатальной ошибки по линии SERR#.

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

Аппаратные прерывания в PC-совместимых компьютерах

Аппаратные прерывания обеспечивают реакцию процессора на события, происходящие асинхронно по отношению к исполняемому программному коду. Напомним, что аппаратные прерывания делятся на маскируемые и немаскируемые. Процессор x86 по сигналу прерывания приостанавливает выполнение текущего потока инструкций, сохраняя в стеке состояние (флаги и адрес возврата), и выполняет процедуру обработки прерывания. Конкретная процедура обработки выбирается из таблицы прерываний по вектору прерывания — однобайтному номеру элемента в данной таблице. Вектор прерывания доводится до процессора разными способами: для немаскируемого прерывания он фиксирован, для маскируемых прерываний его сообщает специальный контроллер прерываний. Кроме аппаратных прерываний у процессоров x86 имеются также внутренние прерывания — исключения (exceptions), связанные с особыми случаями выполнения инструкций, и программные прерывания. Для исключений вектор определяется самим особым условием, и под исключения фирмой Intel зарезервированы первые 32 вектора (0-31 или 00-1Fh). В программных прерываниях номер вектора содержится в самой инструкции (программные прерывания — это лишь специфический способ вызова процедур по номеру, с предварительным сохранением в стеке регистра флагов). Все эти прерывания используют один и тот же набор из 256 возможных векторов. Исторически сложилось так, что векторы, используемые для аппаратных прерываний, пересекаются с векторами исключений и векторами для программных прерываний, используемых для вызовов сервисов BIOS и DOS. Таким образом, для ряда номеров векторов процедура, на которую ссылается таблица прерываний, должна в начале содержать программный код, определяющий, по какому поводу она вызвана: из-за исключения, аппаратного прерывания или же для вызова какого-то системного сервиса. Таким образом, процедура, собственно и обеспечивающая реакцию процессора на то самое асинхронное событие, будет вызвана только после ряда действий по идентификации источника прерываний. Здесь еще заметим, что один и тот же вектор прерывания может использоваться и несколькими периферийными устройствами — это так называемое разделяемое использование прерываний, которое подробно обсуждается ниже.

Вызов процедуры обслуживания прерываний в реальном и защищенном режимах процессора существенно различается:

  • в реальном режиме таблица прерываний содержит 4-байтные дальние указатели (сегмент и смещение) на соответствующие процедуры, которые вызываются дальним вызовом (Call Far с предварительным сохранением флагов). Размер (256 × 4 байт) и положение таблицы (начинается с адреса 0) фиксированы;
  • в защищенном режиме (и в его частном случае — режиме V86) таблица содержит 8-байтные дескрипторы прерываний, которые могут быть шлюзами прерываний (Interrupt Gate), ловушек (Trap Gate) или задач (Task Gate). Размер таблицы может быть уменьшен (максимальный — 256 × 8 байт), положение таблицы может меняться (определяется содержимым регистра IDT процессора). Код обработчика прерываний должен быть не менее привилегированным, чем код прерываемой задачи (иначе сработает исключение защиты). По этой причине обработчики прерываний должны работать на уровне ядра ОС (на нулевом уровне привилегий). Смена уровня привилегии при вызове обработчика приводит к дополнительным затратам времени на переопределение стека. Прерывания, вызывающие переключение задач (через Task Gate), расходуют значительноевремя на переключение контекста — выгрузку регистров процессора в сегмент состояния старой задачи и их загрузку из сегмента состояния новой.

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

На немаскируемое прерывание (NMI — Non-Maskable Interrrupt) процессор реагирует всегда (если обслуживание предыдущего NMI завершено); этому прерыванию соответствует фиксированный вектор 2. Немаскируемые прерывания в PC используются для сигнализации о фатальных аппаратных ошибках. Сигнал на линию NMI приходит от схем контроля памяти (четности или ECC), от линий контроля шины ISA (IOCHK) и шины PCI (SERR#). Сигнал NMI блокируется до входа процессора установкой в 1 бита 7 порта 070h, отдельные источники разрешаются и идентифицируются битами порта 061h:

  • бит 2 R/W — ERP — разрешение контроля ОЗУ и сигнала SERR# шины PCI;
  • бит 3 R/W — EIC — разрешение контроля шины ISA;
  • бит 6 R — IOCHK — ошибка контроля на шине ISA (сигнал IOCHK#);
  • бит 7 R — PCK — ошибка четности ОЗУ или сигнал SERR# на шине PCI.

Реакция процессора на маскируемые прерывания может быть задержана сбросом его внутреннего флага IF (инструкция CLI запрещает прерывания, STI — разрешает). Маскируемые прерывания используются для сигнализации о событиях в устройствах. По возникновении события, требующего реакции, адаптер (контроллер) устройства формирует запрос прерывания, который поступает на вход контроллера прерываний. Задача контроллера прерываний — довести до процессора запрос прерывания и сообщить вектор, по которому выбирается программная процедура обработки прерываний.

Процедура обработки прерывания от устройства должна выполнить действия по обслуживанию данного устройства, включая сброс его запроса для обеспечения возможности реакции на следующие события, и послать команды завершения в контроллер прерываний. Вызывая процедуру обработки, процессор автоматически сохраняет в стеке значение всех флагов и сбрасывает флаг IF, что запрещает маскируемые прерывания. При возврате из этой процедуры (по инструкции IRET) процессор восстанавливает сохраненные флаги, в том числе и установленный (до прерывания) IF, что снова разрешает прерывания. Если во время работы обработчика прерываний требуется реакция на иные прерывания (более приоритетные), то в обработчике должна присутствовать инструкция STI. Особенно это касается длинных обработчиков; здесь инструкция STI должна вводиться как можно раньше, сразу после критической (не допускающей прерываний) секции. Следующие прерывания того же или более низкого уровня приоритета контроллер прерываний будет обслуживать только после получения команды завершения прерывания EOI (End Of Interrupt).

В IBM PC-совместимых компьютерах применяется два основных типа контроллеров прерываний:

  • PIC (Peripheral Interrupt Controller) — периферийный контроллер прерываний, программно совместимый с «историческим» контроллером 8259A, применявшимся еще в первых моделях IBM PC. Со времен IBM PC/AT применяется связка из пары каскадно соединенных PIC, позволяющая обслуживать до 15 линий запросов прерываний;
  • APIC (Advanced Peripheral Interrupt Controller) — усовершенствованный периферийный контроллер прерываний, введенный для поддержки мультипроцессорных систем в компьютеры на базе процессоров 4-5 поколений (486 и Pentium) и используемый поныне для более поздних моделей процессоров. Кроме поддержки мультипроцессорных конфигураций современный APIC позволяет увеличивать число доступных линий прерываний и обрабатывать запросы прерываний от устройств PCI, посылаемые через механизм сообщений (MSI). Компьютер, оснащенный контроллером APIC, обязательно имеет возможность функционировать и в режиме, совместимом со стандартной связкой пары PIC. Этот режим включается по аппаратному сбросу (и включению питания), что позволяет использовать старые ОС и приложения MS DOS, «не знающие» APIC и мультипроцессирования.

Традиционная схема формирования запросов прерываний с использованием пары PIC изображена на рисунке ниже.

На входы контроллеров прерываний поступают запросы от системных устройств (клавиатура, системный таймер, CMOS-таймер, сопроцессор), периферийных контроллеров системной платы и карт расширения. Традиционно все линии запросов, не занятые перечисленными устройствами, присутствуют на всех слотах шины ISA/ EISA. Эти линии обозначаются как IRQx и имеют общепринятое назначение (см. таблицу ниже). Часть этих линий отдается в распоряжение шины PCI. В таблице отражены и приоритеты прерываний — запросы расположены в порядке их убывания. Номера векторов, соответствующих линиям запросов контроллеров, система приоритетов и некоторые другие параметры задаются программно при инициализации контроллеров. Эти основные настройки остаются традиционными для обеспечения совместимости с программным обеспечением, но различаются для ОС реального и защищенного режимов. Так, например, в ОС Windows базовые векторы для ведущего и ведомого контроллеров — 50h и 58h соответственно.

Имя (номер 1) Вектор 2 Вектор 3 Контроллер/маска Описание
NMI 02h


IRQ0 08h 50h
#1/1h
Контроль канала, четность памяти (в XT — сопроцессор)
IRQ1 09h 51h
#1/2h
Клавиатура
IRQ2 0Ah 52h
#1/4h
XT — резерв, AT — недоступно (подключается каскад IRQ8-IRQ15)
IRQ8 70h
58h
#2/1h
CMOS RTC — часы реального времени
IRQ9 71h
59h
#2/2h
Резерв
IRQ10 72h
5Ah
#2/4h
Резерв
IRQ11 73h
5Bh
#2/8h
Резерв
IRQ12 74h
5Ch
#2/10h
PS/2-Mouse (резерв)
IRQ13 75h
5Dh
#2/20h
Математический сопроцессор
IRQ14 76h
5Eh
#2/40h
HDC — контроллер НЖМД
IRQ15 77h
5Fh
#2/80h
Резерв
IRQ3 0Bh
52h
#1/4h
COM2, COM4
IRQ4 0Ch
53h
#1/10h
COM1, COM3
IRQ5I 0Dh
54h
#1/20h
XT — HDC, AT — LPT2, Sound (резерв)
IRQ6 0Eh
55h
#1/40h
FDC — контроллер НГМД
IRQ7 0Fh
56h
#1/80h
LPT1 — принтер

*1 Запросы прерываний 0, 1, 8 и 13 на шины расширения не выводятся.
*2 Указаны номера векторов при работе в реальном режиме процессора.
*3 Указаны номера векторов при работе в ОС Windows.

Каждому устройству, для поддержки работы которого требуются прерывания, должен быть назначен свой номер прерывания. Назначения номеров прерываний выполняются с двух сторон: во-первых, адаптер, нуждающийся в прерываниях, должен быть сконфигурирован на использование конкретной линии шины (джамперами или программно). Во-вторых, программное обеспечение, поддерживающее данный адаптер, должно быть проинформировано о номере используемого вектора. В процессе назначения прерываний может участвовать система PnP для шин ISA и PCI, для распределения линий запросов между шинами служат специальные параметры CMOS Setup. Современные ОС имеют возможность изменить назначение запросов относительно распределения, сделанного через CMOS Setup.

После того как произведено конфигурирование системы прерываний (проинициализирован контроллер прерываний, устройствам назначены линии запросов и установлены указатели на процедуры обработки), отработка маскируемых аппаратных прерываний происходит следующим образом:

  • устройство по событию прерывания возбуждает назначенную ему линию запроса прерывания;
  • контроллер принимает сигналы запросов от источников прерываний (сигналы IRQx) и при наличии незамаскированного запроса подает сигнал общего запроса прерывания (сигнал INTR) процессору x86;
  • процессор, реагируя на запрос (когда прерывания флагом IF разрешены), сохраняет в стеке содержимое регистра флагов и адрес возврата, после чего формирует шинный цикл INTA (Interrupt Acknowledge, подтверждение прерывания), который доводится до контроллера прерываний;
  • в момент получения сигнала INTA контроллер прерываний фиксирует состояние своих входов запросов — к этому моменту их состояние могло измениться: могли появиться новые запросы или пропасть запрос от «нетерпеливого» устройства. Контроллер анализирует поступившие запросы в соответствии с запрограммированной схемой приоритетов и посылает процессору вектор прерывания, соответствующий самому приоритетному незамаскированному запросу, присутствующему на входе контроллера в момент подачи шинной команды INTA. При этом контроллер выполняет и некоторые действия в соответствии с установленной приоритетной политикой, учитывающие, какой именно вектор был послан (какой из запросов пошел на обслуживание);
  • получив вектор прерывания, процессор по его номеру вызывает соответствующую процедуру обработки прерывания. Если данный вектор прерывания используется не только для аппаратных прерываний, но и для исключений и/или программных прерываний, то процедура в первую очередь должна определить, к какому из этих типов относится данное событие. Для этого процедура может обратиться к контроллеру PIC (прочитать регистр ISR) и проанализировать состояние регистров процессора. Дальнейшие шаги рассматриваются для случая, когда обнаружено аппаратное прерывание;
  • процедура обработки прерывания должна идентифицировать источник прерывания — определить устройство, его вызвавшее. В случае разделяемого использования несколькими устройствами данного номера запроса (следовательно, и вектора) идентифицировать источник прерывания можно только последовательными обращениями к регистрам каждого из этих устройств. При этом следует учитывать возможность поступления запросов от нескольких устройств одновременно или в процессе обработки прерывания от одного из них;
  • процедура должна обслужить устройство-источник прерывания — выполнить «полезные» действия, связанные с событием, о котором и сигнализировало устройство. Это обслуживание должно обеспечить и снятие сигнала запроса прерывания от данного устройства. В случае разделяемых прерываний источников может быть и несколько, и все они требуют обслуживания;
  • если обработка прерывания занимает значительное время, в течение которого требуется реакция системы на более приоритетные запросы, то после критической секции в обработчик включают инструкцию STI, устанавливающую флаг разрешения прерываний (IF) в процессоре. С этого момента возможны вложенные прерывания, прерывающие работу данного обработчика другой, более приоритетной процедурой;
  • процедура обработки прерывания должна послать контроллеру команду завершения обработки прерывания EOI (End Of Interrupt), по которой контроллер разрешит последующий прием сигнала с обслуженного входа и менее приоритетных. Это должно быть сделано после снятия сигнала прерывания от обслуженных устройств, иначе контроллер после EOI пошлет повторный запрос. Обработчик прерывания, для которого запрос поступил от ведомого контроллера, должен послать EOI как ведомому, так и ведущему контроллеру. Участок обработчика, начинающийся от подачи команды EOI до завершения (инструкции IRET), должен быть непрерываемым, то есть он является критической секцией. Если обработчик разрешал вложенные прерывания, то перед подачей команды EOI должна присутствовать инструкция CLI, запрещающая прерывания;
  • завершается обработка прерывания инструкцией IRET, по которой процессор возвращается к выполнению прерванного потока инструкций, предварительно извлекая из стека содержимое регистра флагов. При этом аппаратные прерывания снова окажутся разрешенными.

Эта последовательность описана применительно к обычному контроллеру прерываний (PIC), в системах с APIC меняется способ доставки вектора прерывания от контроллера к процессору, а в прерываниях MSI меняется способ доставки сигнала от устройства к контроллеру APIC. Эти нюансы описаны в последующих разделах.

Общая информация

Мосты PCI (PCI Bridge) — специальные аппаратные средства соединения шин PCI (и PCI-X) между собой и с другими шинами. Главный мост (Host Bridge) используется для подключения PCI к центру компьютера (системной памяти и процессору). «Почетной обязанностью» главного моста является генерация обращений к конфигурационному пространству под управлением центрального процессора, что позволяет хосту (центральному процессору) выполнять конфигурирование всей подсистемы шин PCI. В системе может быть и несколько главных мостов, что позволяет предоставить высокопроизводительную связь с центром большему числу устройств (число устройств на одной шине ограниченно). Из этих шин одна назначается условно главной (bus 0).

Равноранговые мосты PCI (PeertoPeer Bridge) используются для подключения дополнительных шин PCI. Эти мосты всегда вносят дополнительные накладные расходы на передачу данных, так что эффективная производительность при обмене устройства с центром снижается с каждым встающим на пути мостом.

Для подключения шин PCMCIA, CardBus, MCA, ISA/EISA, X-Bus и LPC используются специальные мосты, входящие в чипсеты системных плат или же являющиеся отдельными устройствами PCI (микросхемами). Эти мосты выполняют преобразование интерфейсов соединяемых ими шин, синхронизацию и буферизацию обменов данных.

Каждый мост программируется — ему указываются диапазоны адресов в пространствах памяти и ввода-вывода, отведенные устройствам его шин. Если адрес ЦУ текущей транзакции на одной шине (стороне) моста относится к шине противоположной стороны, мост транслирует транзакцию на соответствующую шину и обеспечивает согласование протоколов шин. Таким образом, совокупность мостов PCI выполняет маршрутизацию (routing) обращений по связанным шинам. Если в системе имеется несколько главных мостов, то сквозная маршрутизация между устройствами разных шин может оказаться невозможной: главные мосты друг с другом могут оказаться связанными лишь через магистральные пути контроллера памяти. Поддержка трансляции всех типов транзакций PCI через главные мосты в этом случае оказывается чересчур сложной, а потому спецификацией PCI строго и не требуется. Таким образом, все активные устройства всех шин PCI могут обращаться к системной памяти, но возможность равнорангового общения может оказаться в зависимости от принадлежности этих устройств той или иной шине PCI.

Применение мостов PCI предоставляет такие возможности, как:

  • увеличение возможного числа подключенных устройств, преодолевая ограничения электрических спецификаций шины;
  • разделение устройств PCI на сегменты — шины PCI — с различными характеристиками разрядности (32/64 бит), тактовой частоты (33/66/100/133 МГц), протокола (PCI, PC-X Mode 1, PCI-X Mode 2, PCI Express). На каждой шине все абоненты равняются на самого слабого участника; правильная расстановка устройств по шинам позволяет с максимальной эффективностью использовать возможности устройств и системной платы;
  • организация сегментов с «горячим» подключением/отключением устройств;
  • организация одновременного параллельного выполнения транзакций от инициаторов, расположенных на разных шинах.

Каждый мост PCI соединяет только две шины: первичную (primary bus), находящуюся ближе к вершине иерархии, с вторичной (secondary bus); интерфейсы моста, которыми он связан с этими шинами, называются соответственно первичным и вторичным. Допускается только чисто древовидная конфигурация, то есть две шины соединяются друг с другом лишь одним мостом и нет «петель» из мостов. Шины, подсоединяемые ко вторичному интерфейсу данного моста другими мостами, называются подчиненными (subordinated bus). Мосты PCI образуют иерархию шин PCI, на вершине которой находится главная шина с нулевым номером, подключенная к главному мосту. Если главных мостов несколько, то из их шин (равных друг другу по рангу) условно главной будет шина, которой назначен нулевой номер.

Мост должен выполнять ряд обязательных функций:

  • обслуживать шину, подключенную к его вторичному интерфейсу:
  • выполнять арбитраж — прием сигналов запроса REQx# от ведущих устройств шины и предоставление им права на управление шиной сигналами GNTx#
  • парковать шину — подавать сигнал GNTx# какому-то устройству, когда управление шиной не требуется ни одному из задатчиков;
  • генерировать конфигурационные циклы типа 0 с формированием индивидуальных сигналов IDSEL к адресуемому устройству PCI;
  • «подтягивать» управляющие сигналы к высокому уровню;
  • определять возможности подключенных устройств и выбирать удовлетворяющий их режим работы шины (частота, разрядность, протокол);
  • формировать аппаратный сброс (RST#) по сбросу от первичного интерфейса и по команде, сообщая о выбранном режиме специальной сигнализацией.
  • поддерживать карты ресурсов, находящихся по разные стороны моста;
  • отвечать под видом целевого устройства на транзакции, инициированные мастером на одном интерфейсе и адресованные к ресурсу, находящемся со стороны другого интерфейса; транслировать эти транзакции на другой интерфейс, выступая в роли ведущего устройства (мастера), и передавать их результаты истинному инициатору.

Мосты, выполняющие данные функции, называются прозрачными (transparrent bridge); для работы с устройствами, находящимися за такими мостами, не требуется дополнительных драйверов моста. Именно такие мосты описаны в спецификации PCI Bridge 1.1, и для них, как устройств PCI, есть специальный класс (06). В данном случае подразумевается «плоская» модель адресации ресурсов (памяти и ввода-вывода): каждое устройство имеет свои адреса, уникальные (не пересекающиеся с другими) в пределах данной системы (компьютера).

Существуют и непрозрачные мосты (non-transparrent bridge), которые позволяют организовывать обособленные сегменты со своими локальными адресными пространствами. Непрозрачный мост выполняет трансляцию (преобразование) адресов для транзакций, у которых инициатор и целевое устройство находятся по разные стороны моста. Досягаемыми через такой мост могут быть и не все ресурсы (диапазоны адресов) противоположной стороны. Непрозрачные мосты используются, например, когда в компьютере выделяется подсистема «интеллигентного ввода-вывода» (I20) со своим процессором ввода-вывода и локальным адресным пространством.

Общая информация

В шину PCI изначально заложены возможности автоматического конфигурирования системных ресурсов (пространств памяти и ввода-вывода и линий запроса прерываний). Автоматическое конфигурирование устройств (выбор адресов и прерываний) поддерживается средствами BIOS и ОС; оно ориентировано на технологию PnP. Стандарт PCI определяет для каждой функции конфигурационное пространство размером до 256 регистров (8-битных), не приписанных ни к пространству памяти, ни к пространству ввода-вывода. Доступ к ним осуществляется по специальным командам шины Configuration Read и Configuration Write, вырабатываемым с помощью одного из аппаратно-программных механизмов, описанных далее. В этом пространстве есть области, обязательные для всех устройств, и специфические. Конкретное устройство может иметь регистры не во всех адресах, но должно поддерживать нормальное завершение для адресуемых к ним операций. При этом чтение несуществующих регистров должно возвращать нули, а запись выполняться как холостая операция.

Конфигурационное пространство функции начинается со стандартного заголовка, в котором содержатся идентификаторы производителя, устройства и его класса, а также описание требуемых и занимаемых системных ресурсов. Структура заголовка стандартизована для обычных устройств (тип 0), мостов PCI-PCI (тип 1), мостов PCI-CardBus (тип 2). Тип заголовка определяет расположение общеизвестных регистров и назначение их бит. После заголовка могут располагаться регистры, специфичные для устройства. Для стандартизованных свойств (capability) устройств (например, управления энергопотреблением) в конфигурационном пространстве имеются блоки регистров известного назначения. Эти блоки организуются в цепочки, на первый такой блок есть ссылка в стандартном заголовке (CAP_PTR); в первом же регистре блока есть ссылка на следующий блок (или 0, если данный блок — последний). Таким образом, просмотрев цепочку, конфигурационное ПО получает список всех доступных свойств устройства и их позиций в конфигурационном пространстве функции. В PCI 2.3 определены следующие идентификаторы CAP_ID, часть из которых мы рассмотрим:

  • 01 — управление энергопотреблением;
  • 02 — порт AGP ;
  • 03 — VPD (Vital Product Data), данные, дающие исчерпывающее описание аппаратных (возможно, и программных) свойств устройств;
  • 04 — нумерация слотов и шасси;
  • 05 — прерывания MSI;
  • 06 — Hot Swap, горячее подключение для Compact PCI;
  • 07 — протокольные расширения PCI-X;
  • 08 — зарезервировано для AMD;
  • 09 — на усмотрение производителя (Vendor Specific);
  • 0Ah — отладочный порт (Debug Port);
  • 0Bh — PCI Hot Plug, стандартное обеспечение «горячего подключения».

В PCI-X для устройств Mode 2 конфигурационное пространство расширено до 4096 байт; в расширенном пространстве могут присутствовать расширенные описания свойств.

После аппаратного сброса (или при включении питания) устройства PCI не отвечают на обращения к пространству памяти и ввода-вывода, они доступны только для операций конфигурационного считывания и записи. В этих операциях устройства выбираются по индивидуальным сигналам IDSEL, чтением регистров конфигурационное ПО узнает о потребностях в ресурсах и возможных вариантах конфигурирования устройств. После распределения ресурсов, выполняемого программой конфигурирования (во время теста POST или при загрузке ОС), в конфигурационные регистры устройства записываются параметры конфигурирования (базовые адреса). Только после этого устройствам (точнее, функциям) устанавливаются биты, разрешающие им отвечать на команды обращения к памяти и портам ввода-вывода, а также самим управлять шиной. Для того чтобы всегда можно было найти работоспособную конфигурацию, все ресурсы, занимаемые картами, должны быть перемещаемыми в своих пространствах. Для многофункциональных устройств каждая функция должна иметь собственное конфигурационное пространство. Устройство может одни и те же регистры отображать и на память, и на пространство ввода-вывода. При этом в их конфигурационных регистрах должны присутствовать оба описателя, но драйвер должен использовать только один способ обращения (предпочтительно через память).

В заголовке конфигурационного пространства описываются потребности в адресах трех типов:

  • регистры в пространстве ввода-вывода (I/O Space));
  • регистры ввода-вывода, отображенные на память (Memory Mapped I/O). Это область памяти, обращения к которой должны производиться в строгом соответствии с тем, что запрашивает инициатор обмена. Обращение к этим регистрам может изменять внутреннее состояние периферийных устройств;
  • память, допускающая предвыборку (Prefetchable Memory). Это область памяти, «лишнее» чтение которой (с неиспользуемыми результатами) не приводит к побочным эффектам, все байты считываются независимо от сигналов BE#, и записи отдельных байтов мостом могут быть объединены (то есть это память в чистом виде).

Потребности в адресах указываются в регистрах базовых адресов — BAR (Base Address Register). Конфигурирующая программа может определить и размеры требуемых областей. Для этого после аппаратного сброса она должна считать и сохранить значения базовых адресов (это будут адреса по умолчанию), записать в каждый регистр FFFFFFFFh и снова считать их значение. В полученных словах нужно обнулить биты декодирования типа (биты для памяти и биты для вводавывода), инвертировать и инкрементировать полученное 32-битное слово — результатом будет длина области (для портов биты игнорировать). Метод подразумевает, что длина области выражается числом 2n и область выровнена естественным образом. Стандартный заголовок вмещает до 6 регистров базового адреса, но при использовании 64-битной адресации число описываемых блоков сокращается. Неиспользуемые регистры BAR при чтении всегда должны возвращать нули.

В PCI имеется поддержка старых (legacy) устройств (VGA, IDE), которые сами себя таковыми объявляют по коду класса в заголовке. Их традиционные (фиксированные) адреса портов не заявляются в конфигурационном пространстве, но как только устанавливается бит разрешения обращения к портам, устройствам разрешается ответ и по этим адресам.

В нем применено две новых частоты работы: 100 МГц и 133 МГц. Кроме того, в данной шине реализован механизм раздельных транзакций в целях улучшения производительности при единовременном подключении нескольких устройств.

По сути, PCI-X, который можно расшифровать как PCI-eXtended , является укороченной версией PCI-E. Впоследствии расширение было вытеснено своим более компактным аналогом, поскольку пространство на материнской плате стало все более острым вопросом, "материнки" становились все меньше, что требовало того же от слотов. Так PCI-E практически полностью вытеснил PCI-X.

Для шины PCI-X существуют ограничения по числу подключаемых к ней устройств: 66 МГц - 4, 100 МГц - 2, 133 МГц - 1, 2, 266 и 533 МГц - только 1.

Данная шина совместима со всеми 3.3 В и универсальными картами расширения PCI. Как правило, PCI-X не широко используется на современных материнских платах. В проф-сегменте используется для RAID -контроллеров, в SSD, под PCI-E .

PCI-X была разработана в сотрудничестве компаниий IBM, HP и Compaq. Шина появилась на рынке в 1998 году. Основной целью создания новой шины являлась попытка внедрить на рынок кодифицированную различными расширениями на платформе локальной PCI новую шину, которая бы исключила недостатки PCI, была бы быстрее и производительнее, и при этом увеличила бы популярность таких устройств, как: Gigabit Ethernet , Fibre Channel и карт Ultra3 SCSI . PCI-X отключается от других PCI шин и позволяет различным агентам использовать ее. Сплит-ответы увеличивают эффективность шины за счет устранения повторных циклов, в течение которых данные не могут быть переданы по шине. Кроме того, в PCI-X добавились устройства MSI, прерывание системы с помощью записи в хост-памяти.

Теоретически, максимальный объем данных, передаваемых между процессором и периферийными устройствами посредством PCI-X, составляет 1,06 Гб/с, по сравнению с 133 Мб/с у стандартного PCI. PCI-X также обладает улучшенным уровнем отказоустойчивости, позволяя пользователю, например, провести повторную инициализацию неисправной карты или перевести ее в автономный режим.

PCI-X не совместим со старыми 5-Вольтовыми I/O, которые так широко применялись в стандартной версии PCI.

В чем отличие PCI-X от PCI 64?

64-битный PCI слот отличим от 32-битного по длине, в первую очередь, а от PCI-X он отличается наличием трех сегментов, с одним посередине, который намного короче остальных. PCI-X слоты можно отличить от PCI 64 по маленькому сегменту а начале, такой же маленький в PCI 64 находится посередине слота. Это что касается визуальных отличий.

32-битная карта будет должным образом функционировать на PCI-X слоте, но PCI-X карты не будут работать на 32-битном слоте. Некоторые PCI 64 карты могут функционировать на 32-битных слотах нормально, но при неизбежной двукратной потери мощности, поскольку пропускная способность шины - ниже.


Версии:

Карты

  • 66 MHz
  • 100 MHz
  • 133 MHz
  • 266 MHz
  • 533 MHz

Слоты

  • 66 MHz
  • 133 MHz
  • 266 MHz
  • 533 MHz

PCI Express vs. PCI
Вести со звуковых фронтов

Когда нам ждать звуковых карт на PCIe?

Наши читатели задаются вопросом задержки выхода PCI Express звуковых карт. Цитата из форума: «На новых материнских платах обычные PCI слоты в дефиците, а встроенный звук слишком посредственный. Чего там производители тянут? Вроде времени прошло уже немало, где PCI Express карты?»

Действительно, спецификация PCI Express была объявлена ещё в середине 2002 года. PCIe призвана сменить шину PCI, бывшую общепринятым стандартом для карт расширения в течение более чем десятка лет.

Основные отличия PCI Express от PCI:

  1. PCI Express — шина последовательная, а не параллельная. Основные преимущества — снижение стоимости, миниатюризация, лучшее масштабирование, более выгодные электрические и частотные параметры (нет необходимости синхронизировать все сигнальные линии);
  2. Спецификация разделена на стек протоколов, каждый уровень которого может быть усовершенствован, упрощен или заменен, не сказываясь на остальных;
  3. В спецификации заложены возможности горячей замены карт;
  4. В спецификации заложены возможности создания виртуальных каналов, гарантирования пропускной полосы и времени отклика, сбора статистики QoS (Quality of Service);
  5. В спецификации заложены возможности контроля целостности передаваемых данных (CRC);
  6. В спецификации заложены возможности управления питанием.

Реально из устройств на рынке доступны лишь видеокарты, где большая пропускная способность может найти наилучшее применение. Слот для видеокарты PCIe 16x имеет наибольшую скорость и подсоединен к северному мосту чипсета. Однако даже внедрение видеокарт прошло с большими проблемами. Из-за отсутствия спроса и весьма невысокого прироста производительности по сравнению с AGP производители понесли убытки. И это учитывая полное отсутствие альтернативы, в виду того что слот AGP в новых PCIe чипсетах был убран.

Что говорить о периферийных слотах PCIe 1x для карт расширения, таких как звуковые карты, модемы, TV-тюнеры и прочее? Для них мало того, что присутствуют слоты PCI, но и отсутствуют потенциальные преимущества для перехода на новую шину. Стоит ли удивляться, что наученные опытом гигантов видеокарто-строения, производители периферии, имеющие более скромные бюджеты и возможности для маневра, не стали рисковать и бросаться выпускать PCIe карты. Всё же PCIe 16х для видео — это одно, а PCIe 1x для периферии — совсем другое. Все помнят судьбу изобретённых Intel неполноценных разъемов для звуковух/модемов/сетевых плат AMR, CNR, ACR.

Мотивация пользователей ослаблена ещё одним фактором. Современные чипсеты и основанные на них материнские платы предлагают обширные встроенные возможности: AC"97/HDA-звук, 100 Мбит/1 Гбит сеть, RAID массив, 8 портов USB2.0. Что ещё нужно рядовому пользователю? Категория энтузиастов, скорее всего, озаботится наличием PCI слотов в материнской плате, чтобы не идти на бессмысленные траты. Особенно если это касается тех устройств, которым с запасом хватает PCI. Для звука есть также альтернатива — USB и FireWire устройства.

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

В сфере аудио у многих была надежда на появление под PCIe нового поколения звуковых карт Creative. Но разработка X-Fi под шину PCI длилась более 5 лет. По заявлению производителя, попытки адаптации под PCIe вызвали технические затруднения, в частности, с latency (время задержки звука на буферизацию и обработку), так что в ближайшее время выход карт под новую шину не ожидается. Что касается опасений в отношении упущенной прибыли от потенциальных продаж несуществующих пока PCIe карт, Creative не успевает отгружать в магазины карты X-Fi с шиной PCI. Уже несколько месяцев подряд новые карты в дефиците и раскупаются моментально.

С технической стороны последовательная шина с той же частотой имеет большую latency, чем параллельная, так как отсутствуют служебные сигнальные линии, посему для звуковых задач, где важнее не пиковая скорость при пересылке гигабайт, а быстрый доступ на малых объемах, подходит хуже. К сожалению, в сети сложно найти тесты сравнения именно карт PCIe 1x vs. PCI. Рекламные заявления о превосходстве шины PCIe во всём сложно принимать на веру.

Независимая энциклопедия Wikipedia говорит следующее: «PCIe посылает все управляющие команды, включая прерывания, по тем же линиям, что и данные. Последовательный протокол нельзя разделить на отдельные части, так что latency сравнима с PCI. <...> Спецификация PCIe называет эти чередующиеся данные «полосы данных» <...> такие данные не обязательно уменьшают latency на небольших пакетах данных, передаваемых по шине».

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

Ведущий английский журнал профессионального звукового оборудования Sound on Sound в декабрьском номере 2005 года провел круглый стол с представителями проаудио производителей и задал им подобные вопросы. Мы публикуем часть дискуссии в русском переводе (полную версию на английском языке можно прочесть на сайте упомянутого журнала).

Поддержка PCI Express

PC со слотами PCI Express доступны на рынке более года, но пока ни одного аудио интерфейса PCI Express не анонсировано. Что вы думаете о способностях новой шины, ожидается ли разработка новых продуктов с поддержкой PCI Express?

Матиас Карстенс, RME: Устройство шины PCI Express намного сложнее, чем в случае PCI. Без сомнений индустрии проаудио потребуется год или больше для исследований и производства образцов. Согласно некоторым источникам, рано или поздно готовые решения появятся.

PCI имеет все необходимое для обычных нужд. PCI Express будет полезна только для профессионального мультитрекового использования, когда лимитирующим фактором будет шина. Например, при использовании нескольких карт HDSP MADI (каждая имеет 64 входа/выхода), ожидается, что PCI Express значительно поможет. Поэтому неудивительно, что у нас в планах портировать карту MADI на PCI Express, но точная дата пока неизвестна.

Интересно отметить, что первые PCI Express Firewire карты сейчас доступны. Первые тесты показывают, что все работает как обычно. Это хороший знак, потому как в случае полной непригодности PCI Express (например, постоянные щелчки, несмотря на высокую пропускную способность) никто бы в аудио мире не удивился. Дальнейшие тесты с несколькими устройствами Firefaces, работающими на 192 кГц, будут необходимы для выявления предела использования PCI Express для аудио целей. Если новая шина подойдет лучше (а пока все Firewire интерфейсы основаны на PCI), внедрение PCI Express пойдет быстрее.

Клаус Райтмюллер, ESI: Шина PCI Express как минимум такая же продвинутая и гибкая, как и PCI или PCI-X. Однако они несовместимы. Это на сегодня представляет большие затруднения для производителей железа. В любом случае, PCI Express, несомненно, в планах ESI Professional в будущих разработках.

Мило Стрит, Echo: Мы пока оцениваем шину PCI Express и, вероятно, будем производить продукты с её поддержкой в будущем. Одно потенциальное преимущество над PCI заключается в качестве обслуживания и возможности управления полосой пропускания. В теории это может позволить иметь меньшую latency, чем PCI, что уже лучше, чем Firewire или USB.

Брет Костин, M-Audio: PCI Express обещает увеличенную полосу пропускания, но наши пользователи пока вполне довольны продуктами на Firewire, USB and PCI. Малая часть из сегодняшних компьютеров имеет дополнительные PCI Express слоты для аудио, а поддержки PCI Express среди производителей звуковых чипов, кажется, пока нет.

Фил Палмер, Edirol: У нас пока нет планов в отношении PCI Express. Edirol/Roland возглавил разработку USB-интерфейсов для PC и Mac. Мы и сейчас плотно работаем с Apple над Firewire продуктами. Мы чувствуем, что концентрация на этих технологиях — это лучший способ произвести передовые продукты. Протокол PCI Express пока еще слишком новый и, как и все высоко-скоростные технологии, скорее всего, изначально предназначен для определенного рода непрерывной однонаправленной передачи данных, что характерно для дисковых контроллеров и графических карт.

Марио Мичел, Terratec: Звуковые PCI системы Terratec Producer всегда основаны на специализированных чипах контроллеров на шине PCI, таких как VIA1712(24). До сегодняшнего дня мы не слышали о стандартных чипах звуковых PCI Express контроллеров, поэтому у нас нет никаких планов. В любом случае, PCI Express нужно в основном для гигантского количества аудиоканалов (как, например, 64 канала у MADI). Мы не планируем выпускать такие устройства в ближайшем будущем.

Питер Пек, Yamaha: Yamaha не может комментировать какие-либо новые разработки, которые ведутся. Мы сосредоточены на разработке продуктов mLAN, так как потребности наших пользователей более чем удовлетворены возможностями шины IEEE1394. В данный момент нет острой необходимости бросаться разрабатывать PCI Express, тогда как уже есть такое количество входов и выходов через mLAN, что превышает большинство запросов для работы со звуком. Однако… никогда не говори никогда!

Джим Купер, MOTU: Как ведущий производитель звуковых интерфейсов, MOTU
серьезно приглядывается ко всем новым интерфейсным технологиям.

Смерть PCI карт

С анонсом PCI Express и популярностью интерфейсов на USB и Firewire, многие музыканты начинают предполагать, что звуковые карты на PCI сродни вымирающему виду. Как вы думаете, сколько времени потребуется для полного исчезновения интерфейса PCI, как это произошло в случае с предыдущим стандартом ISA?

Клаус Райтмюллер, ESI: На текущий момент, решения на шинах PCI и PCI-X наиболее рентабельны, как в высшем сегменте, где требуется множество аудио каналов (например, наша серия MaXiO), так и на рынке устройств начального уровня (такие продукты, как Juli@ или ESP1010). Шина PCI позволяет реализовать решения с наивысшим соотношением цена/качество, что пока невозможно для устройств на USB или Firewire по той же цене, или с тем же качеством. Даже по этой причине, мы продолжим видеть PCI аудиоустройства в течение продолжительного времени в будущем. В конечном счете, PCI Express заменит PCI и ещё более упрочит себя в роли решения, более предпочтительного, чем Firewire и уж точно USB.

Джим Купер, MOTU: Текущие системы MOTU на PCI все ещё более производительны, чем Firewire или USB продукты, даже на шинах второго поколения Firewire B (800 Мбит/с) и USB 2.0 (480 Мбит/с). И наши продажи подтверждают это. PCI системы MOTU всё ещё весьма привлекательны для многих пользователей — в основном для high-end покупателей, которым нужно высочайшее качество АЦП/ЦАП, насколько только возможно, большое количество каналов, различные форматы интерфейсов, низкая latency и широкомасштабное межинтерфейсное микширование, предоставляемое нашей серией продуктов PCI424. Мы полагаем, что система PCI424 является самой лучшей системой, среди доступных в продаже.

Брет Костин, M-Audio: Скорее, это будет двумя годами позже. Производительность звуковых карт ISA и PCI сильно отличалась, так как последние имели серьезные преимущества над ISA. Сегодняшние преимущества не так значительны, в результате продвижение идет недостаточно агрессивно для внедрения новой технологии.

Марио Мичел, Terratec: Наши разработки сосредоточены на USB 1.1/2.0 и IEEE1394 Firewire 400/800. Мы не планируем новых PCI систем в ближайшем будущем, и будем обновлять драйвера и софт для существующих PCI продуктов ещё долгое время. Мы будем продавать наши PCI системы столько, сколько покупатели будут готовы их покупать, и я уверен, что стабильные продажи PCI устройств сохранятся в ближайшие 2-3 года.

Фил Палмер, Edirol: Сложно предсказывать, но я полагаю, что PCI продукты сохранятся до тех пор, пока производители не перестанут устанавливать PCI слоты в компьютерах.

Матиас Карстенс, RME: Как минимум 5 последующих лет. IMHO.

Мило Стрит, Echo: Преимущества PCI Express над PCI для аудио не такие значительные, как это было в случае превосходства PCI над ISA. Наверное, PCI будет существовать, пока PCI слоты не исчезнут с материнских плат (это заняло несколько лет в случае ISA), так что покупаемые сегодня звуковые PCI интерфейсы останутся пригодными надолго. Однако можно ожидать, что большинство производителей со временем или перейдут на PCI Express, или будут поддерживать только последовательные интерфейсы.

Питер Пек, Yamaha: По моему опыту, музыкантам больше нравится гибкость внешних устройств — с возможностью переносить железо на другой компьютер без вскрытия корпуса. Далее, с увеличением использования ноутбуков для музыкального продакшена, внешние устройства окажутся ещё более привлекательными для покупателя. Эта гибкость позволяет продлить срок службы внешнего устройства по сравнению с внутренними картами и отработать большие деньги. Это еще один фактор, который ставит шину PCI под удар.

Спасибо Sound on Sound за интересное интервью. Совершенно недавно о первом появлении звукового PCIe интерфейса, правда, только под Mac.

Digidesign предлагает две равноправные версии своей профессиональной аудио-продакшн системы Pro Tools|HD. Производитель стремится обеспечить совместимость с максимально возможным количеством компьютеров, оборудованных шинами PCI, PCI-X и PCIe, поэтому продолжает выпускать существующую версию под PCI и анонсирует новую версию под PCI Express.

Предполагается выпуск Pro Tools|HD версии PCIe для нового ряда Apple Power Mac G5. Так как новые компьютеры Power Mac G5 имеют лишь три разъема PCIe, первоначально поддержка PCIe-версии Pro Tools|HD ограничено установкой максимум трех карт. Если требуется большее число карт, необходимо воспользоваться Digidesign Expansion|HD (стоимостью $2400), исполненном во внешнем 4U модуле адаптером расширения с шин PCI, PCI-X, PCIe на 6 слотов PCI.

Варианта для платформы Windows в настоящий момент не имеется. Digidesign планирует протестировать и адаптировать PCIe систему для Windows-компьютеров, как только на этой платформе станет стандартом как минимум три свободных PCIe слота в каждой машине. До этого момента можно без проблем использовать PCI версию.

PCIe-совместимые системы Pro Tools|HD имеют ту же цену, что и PCI решения. Digidesign предлагает специальную программу апгрейда Pro Tools LE или Pro Tools TDM до систем Pro Tools|HD на шинах PCI, PCIe. Также имеется программа замены PCI версии на PCIe.

На сайте Digidesign приведен интересный FAQ, из которого можно понять, что: Digidesign не собирается прекращать выпуск PCI версии в обозримом будущем, PCIe решения требуют для работы программный пакет Digidesign Pro Tools HD версии 7.1, более трех карт PCIe установить никак не удастся, решений расширения PCIe-to-PCIe не существует.

Напомним, система Pro Tools|HD в обоих вариантах с одной картой HD Core (PCI) или Accel Core (PCIe) обеспечивает 32 канала вход/выход, 96 аудио дорожек и предлагается по цене $7995. Две карты предлагают вдвое более высокую функциональность по цене $10995. Три карты обойдутся в $13995.

Поздравляем поклонников шины PCIe — лед тронулся!

Участник круглого стола Sound On Sound, Матиас Карстенс из RME, после анонса Pro Tools|HD PCIe так прокомментировал ситуацию: «Естественно мы добавим PCI Express версии существующих продуктов в нашу линейку». По его мнению, первые анонсы должны состояться в следующем году на Frankfurt Musikmesse. «Используя последние технологии FPGA , мы сможем полностью реализовать все существующие наработки RME. Например, HDSP 9652, где технология FPGA полностью воплощена в текущей модели. Эта карта не имеет Steady Clock, и также отсутствует инверсия фазы и опциональное усиление +6dB в микшере Total Mix. В версии PCI Express мы можем добавить эти функции. Мы также сделаем PCI Express версию выпускаемой интерфейсной HDSP карты для пользователей Digiface и Multiface, но она будет функционально идентична PCI модели, для совместимости с внешними устройствами».

Пока что у RME нет планов предложить пользователям возможность апгрейда PCI карт на PCI Express, и Матиас отметил, что анонс PCIe продукта для платформы Apple не повлиял на планы его компании по продвижению PCI Express продуктов на рынок. Причина, почему другие производители не анонсируют PCI Express карты, может быть в том, что нет сопутствующих решений для внедрения новой шины, таких как мосты «PCIe-to-PCI», или готовые чипы контроллеров, как Via Envy24, которые повсеместно используются в массовых PCI звуковых картах и интерфейсах. А подобных решений нет из-за отсутствия на них спроса. Получаем замкнутый круг, разомкнуть который, очевидно, под силу лишь лидерам рынка, остальные подтянутся. Слово за производителями чипов.

Каждый пользователь ПК хоть раз открывал диспетчер устройств на своем компьютере. Не важно, будь то обычный стационарный компьютер или ноутбук, везде можно найти так называемый PCI-контроллер. Что это и зачем он нужен в компьютере? Где его искать и что с ним делать?

Что такое PCI-контроллер?

PCI является универсальной шиной для подключения различных устройств. Обычно они находятся на материнской плате компьютера и с их помощью к ней могут быть подключены различные дополнительные платы. Обладателям стационарного компьютера будет проще обнаружить на своем ПК PCI-разъемы. Сняв боковую крышку корпуса, вы увидите материнскую плату своего ПК, а на ней несколько больших белых разъемов. Вот эти разъемы и называются PCI-шинами. С их помощью к материнской плате можно подключать видеокарту, звуковую карту, платы с дополнительными разъемами (USB или COM), сетевую карту и т.д.

Сам по себе PCI-контроллер является частью материнской платы и отвечает за нормальную работу самих шин и устройств, подлеченных к ним. PCI-разъемы могут иметь разные версии и предназначаются для различных типов плат. Если внимательно посмотреть на материнскую плату ПК, можно заметить, что разъем для подключения видеокарты отличается от остальных. Это сделано потому, что для видеокарт предусмотрена более высокая скорость обмена данными с материнской платой, а также они потребляют больше электроэнергии. На материнских платах можно обнаружить и маленький PCI-разъем, который предназначен для сетевых или различных других плат, которые потребляют меньше электроэнергии и им не требуется широкий канал передачи данных.

Установка PCI-устройства

Выбирая дополнительное устройство для своего ПК, узнайте, какая версия PCI-разъемов установлена на вашей материнской плате. Помните, разные версии данных разъемов отличаются своей формой, поэтому устройство для одной версии разъема будет физически несовместимо с разъемом другой версии, который имеется на материнской плате.

Узнать, совместимо ли устройство с вашей материнской платой довольно просто:

  1. Загрузите программу Everest , установите и запустите её.
  2. В левой колонке выберите "Устройства" и там же выберите пункт "PCI устройства". Центральное окно программы будет разделено надвое, в верхнем будут перечислены все устройства, которые подключены к PCI-шинам. Нажав на устройство, в нижнем окне можно будет увидеть информацию об устройстве и о самой шине, к которой оно подключено. Там же можно узнать и версию PCI-шины.
  3. Можно поступить проще и найти в сети Интернет описание вашей материнской платы, после чего просто сравнить его с характеристиками устройства, которые вы хотите установить. Узнать модель материнской платы можно с помощью программы Everest, открыв раздел "системная плата".

Если выбранная плата совместима с вашей материнской платой, можно переходить к непосредственной установке устройства.

  1. Снимите боковую крышку корпуса ПК.
  2. Выберите PCI-слот, в который будет установлено устройство, или удалите из нужного слота устройство, которое вы хотите заменить новым.
  3. Просто аккуратно вставьте плату так, чтобы она полностью заходила в разъем. Тут вы не ошибетесь, так как неправильно установить плату в разъем физически невозможно.
  4. Подключите дополнительные разъемы (если это требуется) и поставьте на место крышку корпуса.
  5. Запустите ПК. Когда ОС загрузится, вы увидите системное сообщение о том, что было подключено новое устройство. Установите необходимые для его работы драйверы с установочного диска, который идет в комплекте с устройством, загрузив драйвер из сети или воспользовавшись автоматической установкой драйвера.

Проблемы, возникающие с PCI-контроллером

Иногда после переустановки ОС может возникнуть следующая проблема - система не сможет распознать PCI-контроллер. Открыв диспетчер устройств, вы обнаружите пункт "неизвестное оборудование" вместо "PCI-контроллер". Решение проблемы очень простое - загрузите нужный драйвер с сайта производителя вашей системной платы и установите его.