Виды pci express. Стандартные слоты и карты PCI. Проблемы, возникающие с PCI-контроллером

01.07.2020

PCI - шина

PCI (Peripheral Component Interconnect bus) - шина для подсоединения периферийных устройств. Стала массово применяться для Pentium-систем, но используется и с 486 процессорами. Частота шины от 20 до 33 МГц, теоретически максимальная скорость 132/264 Мбайт/с для 32/64 бит. В современных материнских платах частота на шине PCI задается как 1/2 входной частоты процессора, т.е при частоте 66 MHz на PCI будет 33 MHz, при 75 MHz - 37.5 MHz.

Имеет версии с питанием 5V, 3.3V и универсальную (с переключением линий +VI/O c 5V на 3,3V). Ключами являются пропущенные ряды контактов 12, 13 и 50, 51. Для слота с питанием 5V ключ расположен на месте контактов 50, 51, для 3,3 В - 12, 13, а для универсального - два ключа: 12, 13 и 50,51. 32-битный слот заканчивается контактами А62/В62, 64-битный - А94/В94.

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

Шина PCI - первая шина в архитектуре IBM PC, которая не привязана к этой архитектуре. Она является процессорно-независимой и применяется, например, в компьютерах Macintosh.

В отличие от остальных шин, компоненты расположены на левой поверхности плат PCI-адаптеров. По этой причине крайний PCI-слот обычно разделяет использование посадочного места с соседним ISA-слотом (Shared slot).

Процессор через так называемые мосты (PCI Bridge) может быть подключен к нескольким каналам PCI, обеспечивая возможность одновременной передачи данных между независимыми каналами PCI.

Автоконфигурирование устройств (выбор запросов прерывания, каналов DMA) поддерживается средствами BIOS материнской платы по образу и подобию стандарта Plug & Play.

Стандарт PCI определяет для каждого слота конфигурационное пространство размером до 256 восьмибитных регистров, не приписанных ни к пространству памяти, ни к пространству ввода-вывода. Доступ к ним осуществляется по специальным циклам шины Configuration Read и Configuration Write, вырабатываемым контроллером при обращении процессора к регистрам контроллера шины PCI, расположенным в его пространстве ввода-вывода.

На PCI определены два основных вида устройств - инициатор (по ГОСТ - задатчик), т.е. устройство, получившее от арбитра шины разрешение на захват ее и устройство назначения, цель (target) с которым инициатор выполняет цикл обмена данными.

Поддержка "горячей" замены PCI устройств, называемой в стандарте как PCI Hot-Plug. Ввод этой функции позволит добавлять/изымать PCI платы без выключения компьютера. Такая возможность особенно необходима для серверных платформ

Система управления энергопотреблением для устройств на шине PCI. Позволяет управлять энергопотреблением как для внешних PCI плат так и для встроенных на материнской плате устройств. Механизм управления подстроен под стандарт ACPI для облегчения управления энергопотреблением PCI устройств со стороны операционной системы.

Дополнены и переработаны требования к конструктивной реализации PCI плат.

Сигналы шины PCI

Знак - (минус) перед названием сигнала означает, что активный уровень этого сигнала логический ноль, обозначение {XX:0} означает группу сигналов с номерами от 0 до XX.

AD {31:0} - мультиплексированная шина адреса/данных. Адрес передается по сигналу - FRAME, в последующих тактах передаются данные.

-C/ BE {3:0} - команда/разрешение обращения к байтам. Команда, определяющая тип очередного цикла шины (чтение-запись памяти, ввода/вывода или чтение/запись конфигурации, подтверждение прерывания и другие) задается четырехбитным кодом в фазе адреса по сигналу - FRAME.

-FRAME - индикатор фазы адреса (иначе - передача данных).

-DEVSEL - выбор инициатором устройства назначения.

-IRDY - готовность инициатора к обмену данными.

-TRDY - готовность устройства назначения к обмену данными.

-STOP - запрос устройства назначения к инициатору на останов текущей транзакции.

-LOCK - используется для установки, обслуживания и освобождения захвата ресурса на PCI.

-GNT {3 0} - разрешение мастеру на использование шины.

PAR - общий бит четности для линий AD {31:0} и C/BE {3:0}.

-ParityER - сигнал об ошибке по четности (от устройства, ее обнаружившего).

-RST - сброс всех устройств.

IDSEL - выбор устройства назначения в циклах считывания и записи конфигурации.

-SERR - системная ошибка, активизируется любым устройством PCI и вызывает емаскируемое прерывание процессора (NMI).

-REQ64 - запрос на 64-битный обмен.

-ASK64 - подтверждение 64-битного обмена.

-INTR A,B,C,D - линии запросов прерывания, направляются на доступные линии IRQ BIOS компьютера. Запрос по низкому уровню допускает разделяемое использование линий прерывания.

Clock - сигнал синхронизации на тактовой частоте шины.

Test Clock, -TSTRES, TestDO, TestDI - сигналы для тестирования адаптеров по интерфейсу JTAG (на системной плате обычно не задействованы).

TSTMSLCT - перевод в режим тестирования.

Разъем шины PCI

Ряд В Номер Ряд А Ряд В Номер Ряд А
-12 В 1 -TSTRES -C / BE 3 26 IDSEL
Test Clock 2 +12 B AD 23 27 +3,3 B
GND 3 TSTMSLCT GND 28 AD 22
Test DO 4 Test DO AD 21 29 AD 20
+5 B 5 +5 B AD 19 30 GND
+5 B 6 -INTR A +3,3 B 31 AD 18
-INTR B 7 -INTR C AD 17 32 AD 16
-INTR D 8 +5 B -C / BE 2 33 +3,3 B
-PRSNT 1 9 Reserved GND 34 -FRAME
Reserved 10 +VI / O -IRDY 35 GND
-PRSNT 2 11 Reserved +3,3 B 36 -TRDY
GND / Ключ 12 GND /Ключ -DEVSEL 37 GND
GND / Ключ 13 GND /Ключ GND 38 -STOP
Reserved 14 Reserved -Lock 39 +3,3 B
GND 15 -RST ParityER 40 SDONE
Clock 16 +VI / O +3,3 B 41 -SBOFF
GND 17 -GNT SysERR 42 GND
-REQ 18 GND +3,3 B 43 PAR
+V I/O 19 Reserved -C / BE 1 44 AD 15
AD 31 20 AD 30 AD 14 45 +3,3 B
AD 29 21 +3,3 B GND 46 AD 13
GND 22 AD 28 AD 12 47 AD 11
AD 27 23 AD 26 AD 10 48 GND
AD 25 24 GND GND 49 AD 9
+3,3 B 25 AD 24 GND / Ключ 50** GND / Ключ
GND /Ключ 51**** GND / Ключ GND 73 AD 56
AD 8 52 -C / BE 0 AD 55 74 AD 54
AD 7 53 +3,3 B AD 53 75 +VI / O
+3,3 B 54 AD 6 GND 76 AD 52
AD 5 55 AD 4 AD 51 77 AD 50
AD 3 56 GND AD 49 78 GND
GND 57 AD 2 +VI / O 79 AD 48
AD 1 58 AD 0 AD 47 80 AD 46
+ VI / O 59 +VI / O AD 45 81 GND
-ACK 64 60 -REQ64 GND 82 AD 44
+5 B 61 +5B AD 43 83 AD 42
+5 B 62 +5B AD 41 84 +VI / O
Конец 32-битного разъема GND 85 AD 40
AD 39 86 AD 38
Reserved 63 GND AD 37 87 GND
GND 64 -C / BE 7 +VI / O 88 AD 36
-C / BE 65 - C / BE 5 AD 35 89 AD 34
-C / BE 66 + VI / O AD 33 90 GND
GND 67 PAR 64 GND 91 AD 32
AD 63 68 AD 62 Reserved 92 Reserved
AD 61 69 GND Reserved 93 GND
+VI / O 70 AD 60 GND 94 Reserved
AD 59 71 AD 58 Конец 64-битного разъема
AD 57 72 GND

*12, 13 - ключ для 3,3V

**50,51 - ключ для 5V

Циклы шины

По сигналам C/BE (от C/BE3 до C/BE0) во время фазы передачи адреса определяется тип цикла передачи данных.

C/BE Команда
0000 Interrupt Acknowledge (подтверждение прерывания)
0001 Special Cycle (специальный цикл)
0010 I/O Read (чтение порта)
0011 I/O Write (запись в порт)
0100 Reserved (резервировано)
0101 Reserved (резервировано)
0110 Memory Read (чтение памяти)
0111 Memory Write (запись в память)
1000 Reserved (резервировано)
1001 Reserved (резервировано)
1010 Configuration Read (чтение конфигурации)
1011 Configuration Write (запись конфигурации)
1100 Multiple Memory Read (множественное чтение памяти)
1101 Dual Address Cycle (двойной цикл адреса)
1110 Memory-Read Line (чтение памяти)
1111 Memory Write and Invalidate (запись в память и проверка)

Подтверждение прерывания (0000)

Контроллер прерываний автоматически распознает сигнал INTA и реагирует на него передачей вектора прерывания по шине AD.

Специальный цикл (0001)

Чтение порта (0010) и запись в порт (0011)

Порты ввода/вывода на шине PCI могут быть 8 или 16-ти разрядными, хотя собственно стандарт на шину PCI позволяет иметь 32-х разрядное адресное пространство. Это вызвано тем, что на компьютерах с архитектурой Intel x86, адрес порта может иметь не более 16 разрядов. Пока и 16-ти разрядный адрес порта не может быть использован, так как карты на шине ISAC:\www\doc2html\work\bestreferat-93864-13927654724498\input\isabus.htm могут декодировать только 10 разрядов.

Адресное пространство конфигурации доступно по адресам портов 0x0CF8 (Адрес) и 0x0CFC (Данные), причем адрес должен быть записан первым.

Чтение памяти (0110) и запись в память (0111)

По шинам AD передается адрес двойным словом (четыре байта). Сигналы AD0 и AD1 декодировать не требуется. Истинность данных определяется сигналами C/BE.

Чтение конфигурации (1010) и запись конфигурационных данных (1011)

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

Разъем для установки процессора или сокет

Разъем для установки процессора – это большой разъем в форме прямоугольника. Как правило, данный разъем находится в верхней части платы.

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

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

разъем для процессора или сокет

Современные процессоры от Intel используют такие типы разъемов:

  • Socket 1150
  • Socket 1155
  • Socket 1356
  • Socket 1366
  • Socket 2011

Современные процессоры от AMD используют такие типы разъемов:

  • Socket AM3
  • Socket AM3+
  • Socket FM1
  • Socket FM2

Разъемы для установки оперативной памяти или слоты

Разъемы для установки оперативной памяти – это длинные вертикальные разъемы размещенные справа или по обе стороны от процессора. Современные разъемы для оперативной памяти на материнской плате относятся к типу DDR3.

На более старых моделях материнских плат могут использоваться разъемы DDR2 или DDR1. Все эти типы не совместимы друг с другом. Поэтому установить DDR3 в разъем для DDR2 не получится.

Разъемы PCI Express

Разъемы PCI Express – это разъемы на материнской плате, которые предназначены для установки дополнительных плат. Эти разъемы расположены в нижней части материнской платы.

Разъемы PCI EXPRESS

Разъем PCI Express может быть нескольких типов: PCI Express x1, PCI Express x4 и PCI Express x16. В большинстве случаев, разъем PCI Express x16 используется для установки видеокарт, а остальные слоты для установки других плат расширения, например звуковых карт.

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

Разъем PCI – это старый разъем для подключения плат расширения. Сейчас он практически не используется и устанавливается только в некоторые материнские платы.

Разъем PCI можно найти в нижней части материнской платы, рядом с разъемами PCI Express.

Разъемы SATA это разъемы, предназначенные для подключения жестких дисков, SSD накопителей и дисководов.

Эти разъемы размещены в нижней части материнской платы и в большинстве случаев окрашены в красный цвет.

Существует три версии SATA, это SATA 1.0, SATA 2.0 и SATA 3.0. Все эти версии полностью совместимы и отличаются только скоростью передачи данных. Для SATA 1.0 скорость составляет 1.5 Гбит/с, для SATA 2.0 – 3 Гбит/с, а для SATA 3.0 – 6 Гбит/с.

Разъем для подключения питания материнской платы размещается справа от оперативной памяти. Он может состоять из 20, 24 или 28 контактов.

В этот разъем нужно подключить питание от блока питания.

Вконтакте

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

К счастью, когда речь заходит относительно интерфейса 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.

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

Разъем PCI Express

Существует несколько вариантов PCI-E, которые отличаются друг от друга длиной разъема. Чем длиннее разъем - тем быстрее он работает. Например, имеется однократный слот PCI-E x1, а также более длинные PCI-E x4, PCI-E x8 и особенно мощные PCI-E x16, по размерам почти совпадающий с классическим PCI.

Типы слотов для PCI Express

Обратите внимание, что слоты PCI Express имеют разные размеры для разных карт расширений. Причем, карты расширения PCIe входят и работают нормально в любых слотах с равным или большим количеством линий. Например, карта PCI Express x1 будет нормально работать и разъемах типа x4 и x16. На материнских платах могут встречаться разъемы всех трех типов.

PCI Express 2.0

Несмотря на то, что PCI Express был разработан совсем недавно, группой PCI-SIG (PCI Special Interest Group), которая занимается разработкой стандартов данного интерфейса, уже были представлены новые спецификации PCI Express 2.0 (PCIe 2.0), в которой еще больше увеличена пропускная способность. При этом PCIe 2.0 полностью совместим с интерфейсом PCIe 1.1, а старые карты расширения будут нормально работать в новых системных платах.

PCI Express External

Группа PCI-SIG объявила о принятии спецификации PCI Express External Cabling 1.0, которая описывает стандарт передачи данных по внешнему интерфейсу PCI Express 1.1. В рамках данного стандарта представлены четыре внешних разъема: PCI Express x1, x4, x8 и x16, последние три из них оснащены специальным язычком, облегчающим подключение.

Итак, переходим к самому интересному. Что же находится на сегодняшний день внутри большинства наших компьютеров? Естественно, шина PCI. Другой вопрос, почему именно эта шина. Попробуем разобраться.

Итак, разработка шины PCI началась весной 1991 года как внутренний проект корпорации Intel (Release 0.1). Специалисты компании поставили перед собой цель разработать недорогое решение, которое бы позволило полностью реализовать возможности нового поколения процессоров 486/Pentium/P6 (вот уже половина ответа). Особенно подчеркивалось, что разработка проводилась "с нуля", а не была попыткой установки новых "заплат" на существующие решения. В результате шина PCI появилась в июне 1992 года (R1.0). Разработчики Intel отказались от использования шины процессора и ввели еще одну "антресольную" (mezzanine) шину.

Благодаря такому решению шина получилась, во-первых, процессоро-независимой (в отличие от VLbus), а во-вторых, могла работать параллельно с шиной процессора, не обращаясь к ней за запросами. Например, процессор работает себе с кэшем или системной памятью, а в это время по сети на винчестер пишется информация. Просто здорово! На самом деле идиллии, конечно, не получается, но загрузка шины процессора снижается здорово. Кроме того, стандарт шины был объявлен открытым и передан PCI Special Interest Group, которая продолжила работу по совершенствованию шины (в настоящее время доступен R2.1), и в этом, пожалуй, вторая половина ответа на вопрос "почему PCI?"

Основные возможности шины следующие.


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

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

Шина PCI является той черепахой, на которой стоят слоны, поддерживающие "Землю" - архитектуру Microsoft/Intel Plug and Play (PnP) PC architecture. Спецификация шины PCI определяет три типа ресурсов: два обычных (диапазон памяти и диапазон ввода/вывода, как их называет компания Microsoft) и configuration space - "конфигурационное пространство".

Конфигурационное пространство состоит из трех регионов:

  • заголовка, независимого от устройства (device-independent header region);
  • региона, определяемого типом устройства (header-type region);
  • региона, определяемого пользователем (user-defined region).

В заголовке содержится информация о производителе и типе устройства - поле Class Code (сетевой адаптер, контроллер диска, мультимедиа и т.д.) и прочая служебная информация.

Следующий регион содержит регистры диапазонов памяти и ввода/вывода, которые позволяют динамически выделять устройству область системной памяти и адресного пространства. В зависимости от реализации системы конфигурация устройств производится либо BIOS (при выполнении POST - power-on self test), либо программно. Базовый регистр expansion ROM аналогично позволяет отображать ROM устройства в системную память. Поле CIS (Card Information Structure) pointer используется картами cardbus (PCMCIA R3.0). С Subsystem vendor/Subsystem ID все понятно, а последние 4 байта региона используются для определения прерывания и времени запроса/владения.

Похожие статьи