Что значит pci шина

Опубликовано: 09.05.2024

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

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

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

  • Синхронный 32-х или 64-х разрядный обмен данными (правда, насколько мне известно, 64-разрядная шина в настоящее время используется только в Alpha-системах и серверах на базе процессоров Intel Xeon, но, в принципе, за ней будущее). При этом для уменьшения числа контактов (и стоимости) используется мультиплексирование, то есть адрес и данные передаются по одним и тем же линиям.
  • Поддержка 5V и 3.3V логики. Разъемы для 5 и 3.3V плат различаются расположением ключей

  • 132 МВ/сек при 32-bit/33MHz;
  • 264 MB/сек при 32-bit/66MHz;
  • 264 MB/сек при 64-bit/33MHz;
  • 528 МВ/сек при 64-bit/66MHz.

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

Шина поддерживает метод передачи данных, называемый "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 байта региона используются для определения прерывания и времени запроса/владения.

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

С высокими темпами роста технологий, скорость и мощность компьютерных компонентов в последнее время значительно возросли.

Таким образом, ведущие к компьютеру и его компонентам, производители разрабатывают новые приложения, способные идти в ногу с повышенной мощностью и скоростью ПК.

Например, видеокарта может связываться с процессором компьютера также через PCIe. И в основном видеокарта позволяет отображать изображения на вашем ПК . Самое лучшее в PCI - это то , что он позволяет менять некоторые части компьютера. Например, если вам нужна более качественная видеокарта, вы можете просто отсоединить старую и вставить желаемую видеокарту.

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

Периферийная плата PCI ( Peripheral Component Interconnect ), также известная как шина PCI или обычный PCI - это интерфейс подключения, который соединяет компьютерные компоненты с компьютером. Иногда задний PCI-слот обычно использовался для подключения видеокарт к компьютеру, но из-за сложных графических технологий в игровом секторе он больше не был надежным. PCI был более популярен с 1995 по 2005 год, позже он был заменен другими передовыми технологиями, такими как PCI Express и USB.

Для обеспечения обратной совместимости настольные компьютеры по-прежнему оснащены слотами PCI, прикрепленными к их материнской плате, однако в настоящее время устройства, которые раньше были подключены как расширение PCI той эпохи, теперь присоединяются (интегрируются) к материнским платам компьютера, а иногда и к другому компьютеру разъемы типа PCIe (PCI Express).

PCI позволяет обмениваться различными периферийными устройствами, подключенными к ПК. Другими словами, он позволяет использовать различные жесткие диски и звуковые карты. Как правило, материнская плата имеет от 3 до 4 слотов PCI или PCIe .

Вы можете просто подключить желаемый компонент, отключив старый, или, если у вас есть свободный слот, вы можете подключить новую периферию. Большинство компьютеров поставляются с различными типами PCI/PCIe шин для обработки различных типов трафика. 64-битная и 32-битная - это две версии шины PCI, шина работает на частоте 66 МГц или 33 МГц.

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

В настоящее время очень немногие материнские платы имеют слоты PCI, вместо этого они поставляются с новым PCIe. Тем не менее, те материнские платы, которые все еще поддерживают PCI, имеют от 1 до 3 слотов.

Карты PCI / PCIe бывают разных размеров и форм, известных как форм-факторы. У нас есть полноразмерные карты, короткие карты и другие варианты, включая Compact PCI/PCIe , низкопрофильные PCI/PCIe , mini PCI/PCIe и так далее. В то время как полноразмерные карты PCI/PCIe имеют длину около 312 мм, короткие карты имеют длину от 119 до 167 мм.

Где PCI использует 47 контактов для подключения к компьютеру. Устройства, использующие 5 Вольт или 3.3 Вольт, являются единственными устройствами, которые получают поддержку PCI.

Принимая во внимание, что физические размеры карт различаются, давайте посмотрим на различные PCI/PCIe карты с точки зрения физических вариаций.


PCI (англ. Peripheral component interconnect , дословно — взаимосвязь периферийных компонентов) — шина ввода/вывода для подключения периферийных устройств к материнской плате компьютера.

Стандарт на шину PCI определяет:

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

Развитием стандарта PCI занимается организация PCI Special Interest Group.

Содержание

История создания

Весной 1991 года компания 486, Pentium Pro. Кроме того, было необходимо учесть ошибки допущенные VLB (электрическая нагрузка не позволяла подключать более 3 плат расширения), а также реализовать автоконфигурирование устройств по примеру протокола Amiga.

В 1992 году появляется первая версия шины PCI, Intel объявляет, что стандарт шины будет открытым и создаёт PCI Special Interest Group. Благодаря этому, любой заинтересованный разработчик получает возможность создавать устройства для шины PCI без необходимости приобретения лицензии. Первая версия шины имела тактовую частоту 33 МГц, могла быть 32 или 64 битной, а устройства могли работать с сигналами в 5 В или 3,3 В. Теоретически, пропускная способность шины 133 Мбайт/с, однако в реальности пропускная способность составляла около 80 Мбайт/с.

В середине 1993 года компания Intel выходит из ассоциации VESA и начинает предпринимать активные шаги по продвижению шины PCI на рынке. Ответом на критику со стороны специалистов из конференций

В 1995 году появляется версия PCI 2.1 (ещё одно название — «параллельная шина PCI», которая обеспечила передачу данных по шине с частотой 66 МГц и максимальную скорость передачи в 533 Мбайт/с (для 64-битного варианта с частотой 66 МГц). Кроме того, эта шина уже была поддержана на уровне ОС Windows 95 (технология Plug and Play), что позволило пользователям IBM PC больше не чувствовать себя ущемлёнными по отношению к другим платформам. Версия шины PCI 2.1 оказалась настолько популярной, что вскоре уже она была перенесена на платформы с процессорами Alpha, MIPS, SPARC и др.

В 1997 году, в связи с развитием компьютерной графики и разработкой шины видеокартам и перестала использоваться для установки видеокарт. Смысла приобретать PCI-видеокарту нет уже более 10 лет.

В настоящее время интерфейс PCI постепенно вытесняется интерфейсами PCI Express и 2008 год) устанавливается всего лишь 2-3 разъёма PCI вместо 5-6, устанавливавшихся ранее.

Основные сведения

Первоначально 32 проводника адрес/данные на частоте 33 МГц. Позже появились версии с 64 проводниками (используется дополнительная колодка разъема) и частотой 66 МГц.

Шина децентрализована, нет главного устройства, любое устройство может стать инициатором транзакции. Для выбора инициатора используется арбитраж с отдельно стоящей логикой арбитра. Арбитраж «скрытый», не отбирает времени — выбор нового инициатора происходит во время транзакции, исполняемой предыдущим инициатором.

Транзакция состоит из 1 или 2 циклов адреса (2 цикла адреса используются для передачи 64-битных адресов, поддерживаются не всеми устройствами, дают поддержку DMA на памяти более 4 Гб) и одного или многих циклов данных. Транзакция со многими циклами данных называется «взрывной» (burst), понимается как чтение/запись подряд идущих адресов и даёт более высокую скорость — один цикл адреса на несколько, а не на каждый цикл данных, и отсутствие простоев (на «успокоение» проводников) между транзакциями.

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

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

Поддерживаются «расщеплённые» транзакции, когда целевое устройство отвечает состоянием «в процессе» и инициатор должен освободить шину для других устройств, захватить её снова через арбитраж и повторить транзакцию. Это делается, пока целевое устройство не ответит «сделано». Используется для сопряжения шин с разными скоростями (сама PCI и frontside процессора) и для предотвращения тупиковых ситуаций в сценарии с многими межшинными мостами.

Богатая поддержка межшинных мостов. Богатая поддержка режимов кэширования, таких, как:

  • posted write — данные записи немедленно принимаются мостом и мост сразу отвечает «сделано», уже после этого пытаясь провести операцию записи на ведомой шине.
  • write combining — несколько запросов на posted write, идущих подряд по адресам, соединяются в мосте в одну «взрывную» транзакцию на ведомой шине.
  • prefetcing — используется при транзакциях чтения, означает выборку сразу большого диапазона адресов одной «взрывной» транзакцией в кеш моста, дальнейшие обращения исполняются самим мостом без операций на ведомой шине.

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

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

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

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

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

PCI Local Bus (Peripheral Component Interconnect, межсоединение периферийных компонентов) — синхронная параллельная шина, предназначенная для соединения различных контроллеров, находящихся на системной плате компьютера или установленных в гнёзда расширения, друг с другом и с так называемым «центральным ресурсом» (central resource), т.е. с процессорами и памятью. Эта шина порядка 10 лет была основой ПК, полностью вытеснив другие шины (ISA, EISA, MicroChannel, VLB). Сейчас ей на смену пришла PCI Express, хотя гнёзда для установки плат расширения стандарта PCI имеются пока на практически всех системных платах.

Помимо шины PCI, на ПК ранее широко применялась её специализированная версия AGP, однако с появлением шины PCI Express AGP была полностью вытеснена. Другой вариант PCI, шина PCI-X, используется в некоторых серверах и промышленных компьютерах. В отличие от обычной PCI, она поддерживает частоту до 133 МГц, что обеспечивает пиковую пропускную способность до 1064 МБайт/с. Ещё одним промышленным вариантом является шина CompactPCI.

История

Развитием стандарта PCI занимается организация PCI Special Interest Group. Спецификации официально доступны лишь за плату, хотя на просторах Интернета их можно найти и бесплатно.

Прототип шины PCI был разработан фирмой Intel весной 1991 г. Новая шина должна была обладать высокой пропускной способностью, необходимой для эффективной работы процессоров 80486 и Pentium, а также поддерживать программное конфигурирование подключенных к ней устройств. Кроме того, от PCI требовалась достаточно высокая нагрузочная способность, чтобы к ней можно было подключить значительное число контроллеров без применения различных ухищрений.

В 1992 г. была создана PCI Special Interest Group (PCI SIG) и опубликована первая версия стандарта шины PCI Local Bus. Шина обеспечивала передачу 32- и 64-разрядных данных, использовала 32- и 64-разрядные адреса и поддерживала напряжения питания 5 и 3,3 В, но не была привязана к архитектуре конкретного процессора. Пиковая пропускная способность 32-разрядной шины, работавшей на частоте 33 МГц, достигала 132 Мбайт/с, у 64-разрядной она была вдвое больше.

В следующем году появилась вторая версия стандарта, а ещё через два года, в 1995-м — версия 2.1, важнейшим отличием которой от предыдущих версий стала поддержка частоты 66 МГц. Именно ей удалось полностью вытеснить другие шины аналогичного назначения. Она нашла применение как в ПК на базе процессоров IA-32, так и в компьютерах на процессорах других архитектур — DEC Alpha, IBM PowerPC, Sun SPARC, MIPS и др.

На этом развитие шины PCI не остановилось (например, в 2002 г. вышла сначала версия 2.3, а затем и 3.0), однако вносимые изменения были не слишком существенны. Так, в версии 3.0 упразднили поддержку плат расширения с напряжением питания 5 В.

Основные особенности

Шина PCI предназначена для подключения достаточно большого количества устройств одновременно, однако на практике их число довольно мало — ограничителями являются нагрузочная способность электронных схем и паразитная ёмкость цепей, растущая по мере увеличения количества устройств и длины линий шины. Кроме того, под номер устройства на шине, используемый в процессе конфигурирования, отведено 5 бит, что не позволяет подключить более 32 устройств. Чтобы увеличить их общее число, была предусмотрена организация шины PCI в виде дерева. «Корнем» этого дерева является специальный мост Host–PCI, с помощью которого «ствол» — основная шина PCI — подключается к процессору. «Ветви» — дополнительные шины PCI — подключаются к «стволу» с помощью мостов PCI–PCI. К «ветвям» с помощью таких же мостов могут подключаться следующие «ветви» и так далее. Практическим ограничением «ветвистости» шины являются ограничение на общее число шин PCI (под номер шины отводится один байт) и дополнительная задержка, вносимая в обмен данными каждым новым мостом.

На практике шина PCI не обязательно связана с процессором напрямую. Например, в ПК на базе чипсета Intel P45 процессор посредством шины FSB связан с микросхемой северного моста — собственно кристаллом P45. Внутри последнего имеется мост Host–DMI, связывающий шину FSB с шиной DMI, которая, в свою очередь, является связующим элементом северного и южного мостов (в роли последнего обычно выступает микросхема ICH10). В состав южного моста входит мост DMI–PCI, он и будет реальным «корнем» шины PCI.

К шине PCI с помощью специальных мостов могут подключаться другие шины. Например, в каждом ПК на ранних процессорах Pentium имелся мост PCI–ISA.

Чтобы правильно маршрутизировать трафик, каждая шина PCI имеет свой номер, используемый в процессе конфигурирования мостов и других устройств, подключенных к шине, а также выделенные ей диапазоны адресов памяти и ввода-вывода. Когда некоторый мост «видит» запрос, обращённый к его шине, он транслирует его на эту шину. Естественно, не допускается дублирование номеров мостов (а значит, и шин), а также перекрытие диапазонов адресов. Для программного обеспечения, за исключением конфигурационного, иерархическая организация шины PCI и достаточно сложная цепочка, соединяющая её с процессором и памятью, абсолютно прозрачна.

Каждое устройство PCI включает одну или несколько функций (до 8 — под номер функции, используемый в процессе конфигурирования, отведено 3 бита). Функция — это логически независимая часть устройства. Например, в состав микросхемы южного моста обычно входят контроллеры SATA, Ethernet, USB и другие устройства. Каждый из них с точки зрения шины PCI может быть отдельным устройством или же одной из функций одного и того же устройства. Многофункциональные устройства обязательно должны иметь функцию с номером 0, однофункциональные могут в процессе конфигурирования игнорировать номер функции или же «откликаться» только на обращение к функции 0.

Шина PCI имеет три независимых адресных пространства: памяти, ввода-вывода и конфигурационное. Разрядность адреса памяти и ввода-вывода составляет 32 или 64 бита (причём 64-разрядный адрес может использоваться и на 32-разрядной шине); на практике его разрядность определяется процессором (так, у современных процессоров ПК адреса портов ввода-вывода имеют длину 16 бит, а физические адреса памяти — обычно 36). Пространство ввода-вывода может отсутствовать, если шина применяется в вычислительной системе, процессор которой не имеет отдельного адресного пространства ввода-вывода. По этой причине устройства, не ориентированные на использование с конкретной процессорной архитектурой, должны иметь возможность работать исключительно с адресным пространством памяти. Для нормальной работы каждая функция каждого устройства должна иметь собственный диапазон адресов в необходимых ей адресных пространствах.

Конфигурационное адресное пространство имеется у каждой реализованной функции всех устройств шины PCI, кроме, возможно, моста Host–PCI. Адреса регистров конфигурации состоят из четырёх полей: номера шины (8 бит), номера устройства (5 бит), номера функции (3 бита) и номера регистра (6 бит). Все конфигурационные регистры 32-разрядные. Используя их, программное обеспечение определяет тип, конкретную модель устройства и его требования к диапазонам адресов памяти и ввода-вывода, после чего по возможности выделяет запрашиваемые ресурсы и загружает драйвер, обеспечивающий работу с этим устройством.

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

Устройства могут иметь порты ввода-вывода, расположенные по строго определённым адресам. Такие устройства называются унаследованными (legacy). Фиксированные порты применяются для обеспечения совместимости со старым оборудованием, не имевшим возможности программного конфигурирования. Например, современные видеоконтроллеры эмулируют видеоконтроллер VGA, для чего используют несколько стандартных портов ввода-вывода, однако для использования их в современных режимах они должны быть правильно настроены как «настоящие» устройства PCI.

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

Из-за очень большого объёма информации подробные сведения о принципах работы и использовании шины PCI приведены в отдельных статьях:

Особенности шины PCI

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

Работа шины PCI полностью основывалась на принципе Plug & Play и управлялась базовой системой ввода-вывода (BIOS), таким образом, при старте компьютера происходило распределение аппаратных ресурсов между устройствами шины PCI.

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

«Обычная» транзакция состояла из одного либо двух циклов адреса.

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

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

Что касается параметров, шина PCI работала на частоте 33,33/66,66 МГц и имела разрядность 32/64 бита, а данные и адрес передавались по одним и тем же линиям. Пиковая пропускная способность для 32-разрядного варианта составляла 133 Мбайт/с при частоте 33,33 МГц.

Читайте также: