Андрей Смирнов
Время чтения: ~20 мин.
Просмотров: 1

Pci контроллер simple communications: что это такое и где взять для него драйвер

Стандартные модификации

Типы PCI-слотов

PCI 2.0

Первая версия базового стандарта, получившая широкое распространение, использовались как карты, так и слоты с сигнальным напряжением только 5 вольт. Пиковая пропускная способность — 133 Мбайт/с.

PCI 2.1 — 3.0

Отличались от версии 2.0 возможностью одновременной работы нескольких шинных задатчиков (англ. bus-master, т. н. конкурентный режим), а также появлением универсальных карт расширения, способных работать как в слотах, использующих напряжение 5 вольт, так и в слотах, использующих 3,3 вольта (с частотой 33 и 66 МГц соответственно). Пиковая пропускная способность для 33 МГц — 133 Мбайт/с, а для 66 МГц — 266 Мбайт/с.

  • Версия 2.1 — работа с картами, рассчитанными на напряжение 3,3 вольта, и наличие соответствующих линий питания являлись опциональными.
  • Версия 2.2 — сделанные в соответствии с этими стандартами карты расширения имеют универсальный ключ разъёма по питанию и способны работать во многих более поздних разновидностях слотов шины PCI, а также, в некоторых случаях, и в слотах версии 2.1.
  • Версия 2.3 — несовместима с картами PCI, рассчитанными на использование 5 вольт, несмотря на продолжающееся использование 32-битных слотов с 5-вольтовым ключом. Карты расширения имеют универсальный разъём, но не способны работать в 5-вольтовых слотах ранних версий (до 2.1 включительно).
  • Версия 3.0 — завершает переход на карты PCI 3,3 вольт, карты PCI 5 вольт больше не поддерживаются.

PCI 64

Расширение базового стандарта PCI, появившееся в версии 2.1, удваивающее число линий данных, и, следовательно, пропускную способность. Слот PCI 64 является удлинённой версией обычного PCI-слота. Формально совместимость 32-битных карт с 64-битным слотами (при условии наличия общего поддерживаемого сигнального напряжения) полная, а совместимость 64-битной карты с 32-битным слотами является ограниченной (в любом случае произойдёт потеря производительности). Работает на тактовой частоте 33 МГц. Пиковая пропускная способность — 266 Мбайт/с.

  • Версия 1 — использует слот PCI 64-бита и напряжение 5 вольт.
  • Версия 2 — использует слот PCI 64-бита и напряжение 3,3 вольта.

PCI 66

Версия PCI 66 является работающим на тактовой частоте 66 МГц развитием PCI 64; использует напряжение 3,3 вольта в слоте; карты имеют универсальный, либо форм-фактор на 3,3 В. Пиковая пропускная способность — 533 Мбайт/с.

PCI 64/66

Комбинация PCI 64 и PCI 66 позволяет вчетверо увеличить скорость передачи данных по сравнению с базовым стандартом PCI; использует 64-битные 3,3-вольтовые слоты, совместимые только с универсальными, и 3,3-вольтовые 32-битные карты расширения. Карты стандарта PCI64/66 имеют либо универсальный (но имеющий ограниченную совместимость с 32-битными слотами), либо 3,3-вольтовый форм-фактор (последний вариант принципиально не совместим с 32-битными 33-мегагерцовыми слотами популярных стандартов). Пиковая пропускная способность — 533 Мбайт/с.

PCI-X

Основная статья: PCI Extended

Развитие версии PCI 64. Для всех вариантов шины существуют следующие ограничения по количеству подключаемых к каждой шине устройств: 66 МГц — 4, 100 МГц — 2, 133 МГц — 1 (или 2, если одно или оба устройства не находятся на платах расширения, а уже интегрированы на одну плату вместе с контроллером), 266, 533 МГц и выше — 1.

Версия 1.0 — введено две новые рабочие частоты: 100 и 133 МГц, а также механизм раздельных транзакций для улучшения производительности при одновременной работе нескольких устройств. Как правило, обратно совместима со всеми 3,3-вольтовыми и универсальными PCI-картами. Карты обычно выполняются в 64-битном формате на 3,3 В и имеют ограниченную обратную совместимость со слотами PCI64/66, а некоторые — в универсальном формате и способны работать (хотя практической ценности это почти не имеет) в обычном PCI 2.2/2.3. Пиковая пропускная способность — 1024 Мбайт/с.

Версия 2.0 — введено две новые рабочие частоты: 266 и 533 МГц, а также коррекция ошибок чётности при передаче данных (ECC). Расширяет конфигурационное пространство PCI до 4096 байт и допускает расщепление на 4 независимых 16-битных шины, что применяется исключительно во встраиваемых и промышленных системах, сигнальное напряжение снижено до 1,5 В, но сохранена обратная совместимость разъёмов со всеми картами, использующими сигнальное напряжение 3,3 В. Пиковая пропускная способность — 4096 Мбайт/с.

StackPC

Индустриальная шина, использующая набор сигналов PCI-E.

, мезонинная шина, соответствующая стандарту IEEE P1386.1.

Cервис директорий BIOS32

Обнаружение отсутствия или присутствия 32-битного сервиса BIOS с использованием 32-разрядного кода может быть проблематичным. Стандартная точка входа в BIOS не может быть вызвана на всех машинах в 32-битном режиме, потому что BIOS платформы может не поддерживать 32-разрядные вызовы. В этом разделе описывается&nbsp
механизм для определения присутствия в 32-битного сервиса BIOS’а. Несмотря на то, что механизм
позволяет производить поиск PCI BIOS, он призван быть более широким, тем самым он позволяет находить любые / все возможные 32-битные сервисы BIOS’а.

Описание этого механизма, известного как
сервис директорий BIOS32, представлен в трех частях: первая часть определяет алгоритм для определения существования сервиса директорий BIOS32 на данной платформе, вторая часть&nbsp
определяет интерфейс для обращения с сервисом директорий BIOS32, и третья часть описывается, как сервис директорий BIOS32 реализует поддержку метода определения наличия PCI BIOS.

определение существования сервиса директорий BIOS32

BIOS, который реализует сервиса директорий BIOS32 должен включить определенную, смежную 16-байтовую структуру данных, начинающуюся на 16-байтовой границе где-нибудь в физическом адресном пространстве 0E0000h — 0FFFFFh. Описание полей структуры приведены в Таблице.

смещение размер описание
0h 4 байта Сигнатура, строка в ASCII кодах. Эта строка – ”_32_”.“_” смещение 0, “3” смещение 1, “2” смещение 2, “_” смещение 3.
4h 4 байта Точка входа для сервиса директорий BIOS32. Это 32-битный физический адрес.
8h 1 байт Версия. Эта версия составляет 00.
9h 1 байт Длина структуры в параграфах (т.е. 16 байт). Для данной структуры 01h.
0Ah 1 байт Контрольная сумма. Эта поле должно содержать число, так чтобы сумма всех 16 байт по модулю 255 равнялась нулю.
0Bh 5 байт Резерв. Должно быть ноль.

Клиенты сервиса директорий BIOS32 должны определить его существование путем сканирования диапазона 0E0000h к 0FFFF0h и поиска ASCII сигнатуры, а после проверка контрольной суммы. Если структура данных найдена, то сервиса директорий BIOS32 доступен через точку входа. Если структура не найдена, то сервиса директорий BIOS32 не поддерживается данной платформой (как следствие и PCI BIOS).

Интерфейс вызовов для службы директорий BIOS32

Для доступа к Сервис Директорий BIOS32 используется дальний вызов CALL FAR к точки входа, находящейся в структуре данных сервиса (см. предыдущую секцию). Есть несколько требований к окружающей среде запроса, которые должны выполняться. Селектор сегмента кода CS и селектор сегмента данных DS должен быть настроены, так чтобы охватить физическую страницу, содержащую точку входа так же неплохо бы еще и последующую страницу. У них должна также быть та же самая база, что и у точки входа. Авторы BIOS платформы должны предполагать, что CS предназначен только для выполнения, и DS только для чтения. Селектор сегмента стека SS должен обеспечивать по крайней мере 1 КБ стекового пространства. Окружающая среда запроса также должна разрешать доступ к пространству портов в/в.
Сервис Директорий BIOS32 обеспечивает единственную функцию, чтобы определить, поддержано ли конкретный 32-битовый сервис BIOS’ом данной платформы. Все параметры в функцию передают в регистрах. Описания параметров доступно чуть ниже. Если конкретный сервис реализован в BIOS’е платформы, три параметры будут выданные в качестве результата. Первый параметр — базовый физический адрес сервиса BIOS. Второе значение — длина сервиса BIOS. Эти два параметра могут использоваться, чтобы создать селектор сегмента кода, и селектор сегмент данных для того, чтобы получить доступ к сервису. Третья значение — точка входа в сервис BIOS, это значение следует воспринимать как смещение от базы.

ENTRY:
EAX Идентификатор Сервиса. Это — четыре символа (строка), используемые, чтобы достоверно определить. Существует ли конкретный 32-разрядный Сервис BIOS’а.
EBX Младший байт () выбирает функцию Сервиса Директорий BIOS32. В настоящее время только одна функция определена (с кодом ноль), который возвращает значения, обеспеченные ниже. Старшие три байта зарезервированы и должны быть нулевые на входе.
EXIT:
AL Возвращаемые коды:00h = Сервис, соответствующий идентификатору Сервиса, присутствует.80h = Сервис, соответствующий идентификатору Сервиса, не присутствует.

81h = Функция свободна для Сервиса Директорий BIOS (то есть. на входе содержит нераспознанное значение).

EBX Физический адрес базы сервиса BIOS’а.
ECX Длина сервиса BIOS’а.
EDX Точка входа в сервис BIOS’а. Это смещение относительно базы заданной в EBX.

Доступ к конфигурационному пространству

Чтение байта(Byte) из конфигурационного пространства

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

ENTRY:
AH PCI_FUNCTION_ID=0B1h
AL READ_CONFIG_BYTE=08h
BH номер шины (0..255)
BL Номер устройства в верхних 5 битах,номер функции в нижних 3 битах.
DI Номер регистра (0…255)
EXIT:
CL Прочитанный байт.
AH Возвращаемые коды:SUCCESSFUL
CF Статус завершения, 1 = ошибка,0 = успешно.

Чтение слова(Word) из конфигурационного пространства

Эта функция позволяет читать индивидуальные слова из конфигурационного пространства конкретных устройств. Номера регистров в параметрах должны быть кратны двум (т.е. нулевой бит должен быть установлен в 0). :

ENTRY:
AH PCI_FUNCTION_ID=0B1h
AL READ_CONFIG_WORD=09h
BH номер шины (0..255)
BL Номер устройства в верхних 5 битах,номер функции в нижних 3 битах.
DI Номер регистра (0, 2, 4, …, 254)
EXIT:
CX Прочитанное слово.
AH Возвращаемые коды:SUCCESSFUL

BAD_REGISTER_NUMBER

CF Статус завершения, 1 = ошибка,0 = успешно.

Чтение двойного слова(DWord) из конфигурационного пространства

Эта функция позволяет читать индивидуальные двойные слова из конфигурационного пространства конкретных устройств. Номер регистров в параметрах должны быть кратными четырем (т.е. бит 0 и бит 1 должен быть установлены в 0). :

ENTRY:
AH PCI_FUNCTION_ID=0B1h
AL READ_CONFIG_DWORD=0Ah
BH номер шины (0..255)
BL Номер устройства в верхних 5 битах,номер функции в нижних 3 битах.
DI Номер регистра (0, 4, 8, …, 252)
EXIT:
ECX Прочитанное двойное слово.
AH Возвращаемые коды:SUCCESSFUL

BAD_REGISTER_NUMBER

CF Статус завершения, 1 = ошибка,0 = успешно.

Запись байта(Byte) в конфигурационное пространство

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

ENTRY:
AH PCI_FUNCTION_ID=0B1h
AL WRITE_CONFIG_BYTE=0Bh
BH номер шины (0..255)
BL Номер устройства в верхних 5 битах,номер функции в нижних 3 битах.
DI Номер регистра (0…255)
CL Байт для записи.
EXIT:
AH Возвращаемые коды:SUCCESSFUL
CF Статус завершения, 1 = ошибка,0 = успешно.

Запись слова(Word) в конфигурационное пространство

Эта функция позволяет записать индивидуальные слова в конфигурационное пространство конкретных устройств. Номер регистра в параметрах должен быть кратным двум (т.е. нулевой бит должен быть установлен в 0). :

ENTRY:
AH PCI_FUNCTION_ID=0B1h
AL WRITE_CONFIG_WORD=0Ch
BH номер шины (0..255)
BL Номер устройства в верхних 5 битах,номер функции в нижних 3 битах.
DI Номер регистра (0, 2, 4, …, 254)
CX Слово для записи.
EXIT:
AH Возвращаемые коды:SUCCESSFUL

BAD_REGISTER_NUMBER

CF Статус завершения, 1 = ошибка,0 = успешно.

Запись двойного слова(DWord) в конфигурационное пространство

Эта функция позволяет записать индивидуальные двойные слова в конфигурационное пространство конкретных устройств. Номер регистра в параметрах должен быть кратным четырем (т.е. бит 0 и бит 1 должен быть установлен в 0). :

ENTRY:
AH PCI_FUNCTION_ID=0B1h
AL WRITE_CONFIG_DWORD=0Dh
BH номер шины (0..255)
BL Номер устройства в верхних 5 битах,номер функции в нижних 3 битах.
DI Номер регистра (0, 2, 4, …, 254)
ECX Двойное слово для записи.
EXIT:
AH Возвращаемые коды:SUCCESSFUL

BAD_REGISTER_NUMBER

CF Статус завершения, 1 = ошибка,0 = успешно.

Список функций

Функция AH AL
PCI_FUNCTION_ID 0B1h
PCI_BIOS_PRESENT 01h
FIND_PCI_DEVICE 02h
FIND_PCI_CLASS_CODE 03h
GENERATE_SPECIAL_CYCLE 06h
READ_CONFIG_BYTE 08h
READ_CONFIG_WORD 09h
READ_CONFIG_DWORD 0Ah
WRITE_CONFIG_BYTE 0Bh
WRITE_CONFIG_WORD 0Ch
WRITE_CONFIG_DWORD 0Dh
GET_IRQ_ROUTING_OPTIONS 0Eh
SET_PCI_IRQ 0Fh
RETURN CODES возвращаемые коды AH
SUCCESSFUL успех 00h
FUNC_NOT_SUPPORTED функция не поддерживается 81h
BAD_VENDOR_ID плохой ID поставщика 83h
DEVICE_NOT_FOUND устройство не найденно 86h
BAD_REGISTER_NUMBER плохой номер регистра 87h
SET_FAILED ошибка установки 88h
BUFFER_TOO_SMALL буфер мал 89h

Программное управление шиной

Генерация конфигурационных транзакций

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

Для генерации конфигурационных транзакций PCI на ПК используются обращения к двум портам ввода-вывода, носящим имена CONFIG_ADDRESS и CONFIG_DATA, имеющим адреса 0CF8h и 0CFCh соответственно и входящим в состав моста Host–PCI, через который шина PCI прямо или косвенно соединяется с процессором.

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

Когда необходимо выполнить конфигурационную транзакцию, в этот порт записывается адрес регистра конфигурационного пространства PCI, состоящий из номеров шины (разряды 23–16), устройства (15–11), функции (10–8) и собственно регистра (7–2). Биты 1 и 0 должны всегда содержать нули, а старший бит должен содержать единицу, разрешая тем самым выполнение конфигурационной транзакции. Разряды 30–24 зарезервированы и должны содержать нули.

Собственно генерация конфигурационной транзакции происходит при чтении или записи порта CONFIG_DATA, когда в CONFIG_ADDRESS был записан адрес с установленным старшим битом и номером шины, соответствующим шине, подключенной к мосту Host–PCI, или любой шине PCI, лежащей ниже этой шины и соединённой с ней через один или несколько мостов PCI–PCI (допустимый диапазон номеров шин задаётся мосту Host–PCI в процессе его настройки). Доступ к порту CONFIG_DATA должен иметь размер, равный размеру считываемого или записываемого конфигурационного регистра, адрес которого находится в CONFIG_ADDRESS.

Если номер шины, заданный в CONFIG_ADDRESS, совпадает с номером шины, подключённой непосредственно к мосту Host–PCI, генерируется конфигурационная транзакция с адресом типа 0 (см. Функционирование шины PCI), причём номер устройства, находящийхся в разрядах 15–11 порта CONFIG_ADDRESS, используется для выдачи одного из сигналов IDSEL, которые и служат для выбора конкретного устройства. Кроме того, декодированный номер устройства (один единичный и остальные нулевые биты) в фазе адреса конфигурационной транзакции передаётся в разрядах 31–11 адреса.

Если адрес в CONFIG_ADDRESS указывает на ту шину, которая непосредственно подключена к мосту Host–PCI, последний генерирует конфигурационную транзакцию с адресом типа 1. Она будет обработана мостом PCI–PCI, который опознает содержащийся в адресе номер шины. Этот мост либо выполнит конфигурационную транзакцию с адресом типа 0 (если адресуемое устройство подключено к шине, прямо подсоединённой к этому мосту), либо сгенерирует транзакцию с адресом типа 1, обеспечив тем самым её прохождение через следующий мост. Длина этой цепочки теоретически ограничена только разрядностью поля, отведённого под номер шины (8 бит).

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

Генерация специальных циклов

Мост Host–PCI может, но не обязан, давать возможность программному обеспечению генерировать транзакции, использующие команду «Специальный цикл». Такие транзакции являются широковещательными (не обращёнными к конкретному устройству) и используются для управления работой шины.

Генерация специальных циклов выполняется тем же способом, что и генерация конфигурационных транзакций, но со специальным значением адреса. В поле номера шины порта CONFIG_ADDRESS записывается номер шины, в поля номеров устройства и функции — все единицы, а в поле номера регистра — нули. Когда после этого производится запись значения в порт CONFIG_DATA, мост, к которому присоединена указанная шина, вместо обычной конфигурационной транзакции генерирует специальный цикл, в первой фазе данных которого передаёт данные, записанные в порт CONFIG_DATA. Результат попытки чтения из CONFIG_DATA после занесения в CONFIG_ADDRESS описанного выше специального адреса спецификацией не определён.

Содержимое пакетов уровня транзакций

Рисунок 3 — Пример запроса на запись в память длиной в 1 DWРисунок 4 — Пример запроса на чтение из памяти длиной в 1 DWРисунок 5 — Пример успешного ответа на чтениеРисунок 6— Пример ответа о неподдерживаемом запросеРисунок 7 — Пример заголовка запроса на запись 128 байтТаблица 4 — Перечень сокращений для полей заголовков

№ п.Обозначение поляНазвание поляНазначение
1TCКатегория трафика ‒ Traffic ClassОпределяет принадлежность к виртуальному каналу
2Атр.АтрибутыУстанавливают порядок очередности пакетов: строгий, нестрогий, очередность только по ID, нестрогая очередность вместе с адресацией по ID.
3THНаличие подсказки обработки пакетов ‒ TLP Processing HintПоказывает, есть ли подсказка по обработке пакета в битах двойного слова с младшими байтами адреса.
4TDНаличие на уровне транзакций контрольной суммы пакета ‒ TLP DigestПоказывает, является последнее двойное слово в пакете контрольной суммой или нет.
5EPНаличие ошибки целостности данных пакетаПоказывает, нарушена целостность данных пакета или нет.
6ATТрансляция адреса ‒ Address TranslationОпределяет, должен ли адрес быть транслирован: адрес не транслирован, запрос трансляции, адрес транслирован
7BEАктивные байты в первом и последнем двойных словах ‒ Byte EnableОпределяет положение активных байт внутри первого и последнего двойных слов
8PHПодсказка по обработке пакета ‒ Processing HintПодсказывает получателю пакета, как должен использоваться пакет, а также ‒ структуру данных
9BCMНаличие изменения числа байтПоказывает, было ли изменено количество байт в пакете. Флаг может устанавливать только отправитель в лице PCI-X устройства
  • унаследованные прерывания (Legacy Interrupts или INT);
  • прерывания в виде сообщений (Message Signaled Interrupts или MSI);
  • расширенные прерывания в виде сообщения (Message Signaled Interrupts Extended или MSI-X).

Рисунок 8 — Таблица векторов прерываний MSI-XРисунок 9 — Таблица флагов ожидающих прерываний

PCI BIOS 32-битный сервис

Сервис BIOS 32 может быть использован для определения присутствия PCI BIOS. Сервисный идентификатор для PCI BIOS это «$PCI» (049435024h).
32-битные функции PCI BIOS должны быть доступны при помощи дальнего вызова CALL FAR.
CS и DS дескрипторов должен быть настроены, так чтобы охватывать физические адреса, указанные Базой и
Длиной, в параметрах возвращаемых сервисом каталогов BIOS32.
CS и DS дескрипторы должны иметь ту самую Базу. Вызывающая среда должна разрешить доступ к портам в/в и должна обеспечивать, по крайней мере 1k стека. Программисты Platform BIOS должны предполагать, что CS предназначен только для исполнения и DS только для чтения.

Что такое PCI Express и что он обозначает?

PCI Express означает Peripheral Component Interconnect Express и представляет собой стандартный интерфейс для подключения периферийного оборудования к материнской плате на компьютере. Другими словами, PCI Express или сокращенно PCIe — это интерфейс, который подключает к материнской плате внутренние карты расширения, такие как видеокарты, звуковые карты, адаптеры Ethernet и Wi-Fi . Кроме того, PCI Express также используется для подключения некоторых типов твердотельных накопителей, которые обычно очень быстрые.

Какие типы слотов и размеров PCI Express существуют, и что означают линии PCIe? Для подключения плат расширения к материнской плате PCI Express использует физические слоты. Обычными слотами PCI Express, которые мы видим на материнских платах, являются PCIe x1, PCIe x4, PCIe x8 и PCIe x16. Число, которое следует за буквой «х», говорит нам о физических размерах слота PCI Express, который, в свою очередь, определяется количеством контактов на нем. Чем больше число, тем длиннее слот PCIe и тем больше контактов, которые соединяют плату расширения с гнездом.

Кроме того, число «х» также указывает, сколько полос доступно в этом слоте расширения. Вот как сравниваются часто используемые слоты PCIe:

  • PCIe x1: имеет 1 полосу , 18 контактов и длину 25 мм
  • PCIe x4: имеет 4 линии , 32 контакта и длину 39 мм
  • PCIe x8: имеет 8 линий , 49 контактов и длину 56 мм
  • PCIe x16: имеет 16 линий , 82 контакта и длину 89 мм

Линии PCI Express — это пути между набором микросхем материнской платы и слотами PCIe или другими устройствами, являющимися частью материнской платы, такими как разъем процессора, слоты M.2 SSD, сетевые адаптеры, контроллеры SATA или контроллеры USB.

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

Вот идея, которая может упростить вам понимание того, что такое линии PCI Express: просто представьте, что PCI Express — это магистраль, а автомобили, которые едут по ней, — это данные, которые передаются. Чем больше полос движения доступно на шоссе, тем больше автомобилей можно проехать по нему; чем больше у вас PCIe-линий, тем больше данных можно передать.

Карта PCI Express может устанавливаться и работать в любом слоте PCIe, доступном на материнской плате, если этот слот не меньше платы расширения. Например, вы можете установить карту PCIe x1 в слот PCIe x16. Тем не менее, вы не можете сделать обратное. Например, вы можете установить звуковую карту PCIe x1 в слот PCIe x16, но вы не можете установить графическую карту PCIe x16 в слот PCIe x1.

Какие версии PCI Express существуют, и какую скорость передачи данных (пропускную способность) они поддерживают?

Сегодня используются четыре версии PCI Express: PCI Express 1.0, PCI Express 2.0, PCI Express 3.0 и PCI Express 4.0. Каждая версия PCIe поддерживает примерно удвоенную пропускную способность предыдущего PCIe . Вот что предлагает каждый из них:

  • PCI Express 1.0: имеет пропускную способность 250 МБ / с на линию
  • PCI Express 2.0: имеет пропускную способность 500 МБ / с на линию
  • PCI Express 3.0: имеет пропускную способность 984,6 МБ / с на линию
  • PCI Express 4.0: имеет пропускную способность 1969 МБ / с на линию

Помните, что слоты PCIe могут предложить не одну, а несколько дорожек? Значения полосы пропускания, которые мы разделили, умножаются на количество линий, доступных в слоте PCIe. Если вы хотите рассчитать, сколько пропускной способности доступно для определенной платы расширения, вам нужно умножить пропускную способность PCIe на линию на количество доступных для нее линий.

Например, графическая карта, которая поддерживает PCI Express 4.0 и подключена к слоту PCIe x16, имеет доступ к общей пропускной способности около 31,51 ГБ / с. Это результат умножения 1969 МБ / с на 16 (пропускная способность PCIe на линию * 16 линий). Впечатляет, правда?

Вот как масштабируются версии PCI Express, если принять во внимание линии PCI Express:

В будущем появятся новые версии PCI Express, такие как PCI Express 5.0 и PCI Express 6.0. Спецификация PCIe 5.0 была доработана летом 2019 года, предлагая пропускную способность до 3938 МБ / с на линию и до 63 ГБ / с в конфигурации x16. Однако, скорее всего, мы не увидим его в ближайшее время на компьютерном оборудовании потребительского уровня.

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

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

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

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

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

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

Анализ события

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

Для анализа состояния оборудования откройте окно «Выполнить» (клавиши Win + R), наберите devmgmt.msc и нажмите Enter. При появлении запроса от контроля учетных записей нажмите «Да» для входа с правами администратора.

Кликните правой кнопкой мыши на устройстве, которое вызывает ошибку, и выберите Свойства.

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

Конфигурирование

PCI-устройства с точки зрения пользователя самонастраиваемы (Plug and Play). После старта компьютера системное программное обеспечение обследует конфигурационное пространство PCI каждого устройства, подключённого к шине, и распределяет ресурсы.

Каждое устройство может затребовать до шести диапазонов в адресном пространстве памяти PCI или в адресном пространстве ввода-вывода PCI.

Кроме того, устройства могут иметь ПЗУ, содержащее исполняемый код для процессоров x86 или PA-RISC, Open Firmware (системное ПО компьютеров на базе SPARC и PowerPC) или драйвер EFI.

Настройка прерываний осуществляется также системным программным обеспечением (в отличие от шины ISA, где настройка прерываний осуществлялась переключателями на карте). Запрос на прерывание на шине PCI передаётся с помощью изменения уровня сигнала на одной из линий IRQ, поэтому имеется возможность работы нескольких устройств с одной линией запроса прерывания; обычно системное ПО пытается выделить каждому устройству отдельное прерывание для увеличения производительности.

Рейтинг автора
5
Материал подготовил
Максим Иванов
Наш эксперт
Написано статей
129
Ссылка на основную публикацию
Похожие публикации