PCI-X

PCI-X (сокр. от Peripheral Component Interconnect eXtended, с англ. расширенное соединение периферийных компонентов) — это стандарт компьютерной шины и платы расширения, который улучшает 32-битную локальную шину PCI для более высокой пропускной способности, необходимой в основном для серверов и рабочих станций. Он использует модифицированный протокол для поддержки более высоких тактовых частот (до 133 МГц), но в остальном похож на электрическую реализацию. PCI-X 2.0 увеличил скорость шины до 533 МГц со снижением уровня электрического сигнала.

PCI-X
Разъёмы PCI-X на материнской плате сервера FSC Primergy TX200 S2.
Разъёмы PCI-X на материнской плате сервера FSC Primergy TX200 S2.
История
Разработчик IBM,HP и Compaq
Разработано 1998
Вытеснено PCI-Express
Параметры данных
Пропускная способность 266-4266Мб/с
Протокол Параллельный
Логотип Викисклада Медиафайлы на Викискладе

Слот физически представляет собой слот PCI на 3,3 В с точно таким же размером, расположением и назначением контактов. Электрические спецификации совместимы, но они имеют более строгие требования. Однако, в то время как большинство обычных слотов PCI представляют собой 32-разрядную версию длиной 85 мм, большинство устройств PCI-X используют 64-разрядный слот длиной 130 мм,и 64-разрядные разъемы PCI и поддержка PCI-X стали рассматриваются как синонимы.

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

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

История разъёма править

Предыстория и мотивация править

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

PCI также страдала от относительной нехватки уникальных линий прерывания. Имея всего 4 контакта прерывания (INT A/B/C/D), системы с большим количеством устройств PCI требуют нескольких функций для совместного использования линии прерывания, что усложняет обработку прерываний на стороне хоста. В PCI-X добавлены прерывания, сигнализируемые сообщениями, система прерываний, использующая запись в память хоста. В режиме MSI прерывание функции не сигнализируется установкой линии INTx. Вместо этого функция выполняет запись в память в сконфигурированную системой область в памяти хоста. Поскольку содержимое и адрес настраиваются для каждой функции, прерывания в режиме MSI выделены, а не разделены. Система PCI-X позволяет одновременно использовать как прерывания режима MSI, так и устаревшие прерывания INTx (хотя и не с помощью одной и той же функции).

Отсутствие зарегистрированных вводов-выводов ограничивало максимальную частоту PCI до 66 МГц. Ввод-вывод PCI-X регистрируется в тактовых импульсах PCI, обычно с помощью PLL для активного управления задержкой ввода-вывода на выводах шины. Сокращение времени настройки позволяет увеличить частоту до 133 МГц.

В конечном итоге разработчики использовали комбинированное расширение 64-бит и 66-МГц в качестве основы и, предвидя будущие потребности, установили варианты 66-МГц и 133-МГц с максимальной пропускной способностью 532 МБ/с и 1064 МБ/с соответственно. Совместный результат был представлен как PCI-X в PCI SIG. Последующее одобрение сделало его открытым стандартом, приемлемым для всех разработчиков компьютеров. PCI SIG контролирует техническую поддержку, обучение и тестирование на соответствие стандарту PCI-X. IBM, Intel, Microelectronics и Mylex должны были разработать вспомогательные наборы микросхем. 3Com и Adaptec должны были разработать совместимые периферийные устройства. Чтобы ускорить внедрение PCI-X в отрасли, Compaq предложила средства разработки PCI-X на своем веб-сайте.

PCI-X 1.0 править

Стандарт PCI-X был разработан совместно IBM, HP и Compaq и представлен на утверждение в 1998 году. Это была попытка систематизировать проприетарные серверные расширения локальной шины PCI для устранения некоторых недостатков PCI и повышения производительности устройств с высокой пропускной способностью. , такие как карты Gigabit Ethernet, Fibre Channel и Ultra3 SCSI, и позволяют соединять процессоры в кластеры.

Intel встретила PCI-X лишь с оговорками, подчеркнув, что шина следующего поколения должна быть «принципиально новой архитектурой». Без поддержки Intel PCI-X не удалось внедрить в ПК. По словам Рика Мерритта из EE Times , «ссора между PCI SIG и ключевым разработчиком межсоединений Intel, который возглавлял разработку Accelerated Graphics Port, заставила Intel отказаться от первоначальных усилий по PCI-X». Однако интерфейс PCI-X был ненадолго принят Apple для первых нескольких поколений Power Macintosh G5.

Первые продукты PCI-X были изготовлены в 1998 году, например, двойной контроллер Ultra2 Wide SCSI Adaptec AHA-3950U2B, однако на тот момент разъем PCI-X просто упоминался на упаковке как «64-битный готовый PCI», намекая на будущая совместимость вперед. Фактическое обозначение PCI-X стало стандартом позже, что, вероятно, совпало с широкой доступностью материнских плат с PCI-X. Когда в августе 2001 года были опубликованы более подробные сведения о PCI Express, председатель PCI SIG Роджер Типли выразил уверенность в том, что «PCI-X навсегда останется в серверах, потому что он обеспечивает определенный уровень функциональности, и, возможно, переход на него не является обязательным. 3GIO [PCI Express] для этой функциональности. Мы узнали об этом, не имея возможности избавиться от ISA. ISA зависала из-за всех этих систем, которые не были частями большого объема». Типли также объявил, что (в то время) PCI SIG планировала объединить PCI Express и PCI-X 2.0 в единую работу, предварительно названную PCI 3.0, но в конечном итоге это название было использовано для относительно небольшой версии обычного PCI.

PCI-X 2.0 править

В 2003 году PCI SIG ратифицировала PCI-X 2.0. Он добавляет варианты с частотой 266 МГц и 533 МГц, что обеспечивает пропускную способность примерно 2132 МБ/с и 4266 МБ/с соответственно. В PCI-X 2.0 внесены дополнительные изменения протокола, предназначенные для повышения надежности системы, и добавлены к шине коды исправления ошибок, чтобы избежать повторных отправок. Чтобы справиться с одной из наиболее распространенных жалоб на форм-фактор PCI-X, штыревой разъем, 16-битные порты были разработаны, чтобы PCI-X можно было использовать в устройствах с ограниченным пространством. Подобно PCI-Express, были добавлены функции PtP, позволяющие устройствам на шине взаимодействовать друг с другом, не нагружая ЦП или контроллер шины.

Несмотря на различные теоретические преимущества PCI-X 2.0 и его обратную совместимость с PCI-X и устройствами PCI, он не был реализован в больших масштабах (по состоянию на 2008 год). Это отсутствие реализации в первую очередь связано с тем, что поставщики оборудования решили вместо этого интегрировать PCI Express.

IBM была одним из (немногих) поставщиков, предоставивших поддержку PCI-X 2.0 (266 МГц) в своих System i5 Model 515, 520 и 525; IBM рекламировала эти слоты как подходящие для адаптеров 10 Gigabit Ethernet, которые они также предоставили. HP предлагала PCI-X 2.0 на некоторых серверах ProLiant и Integrity и предлагала двухпортовые адаптеры Fibre Channel 4 Гбит/с, также работающие на частоте 266 МГц. чип. ServerWorks активно поддерживала PCI-X 2.0 (в ущерб PCI Express первого поколения), в частности, через своего руководителя Раджу Вегесну, который, однако, вскоре после этого был уволен из-за разногласий с руководством Broadcom в дорожной карте.

В 2003 году Dell объявила, что отказывается от PCI-X 2.0 в пользу более быстрого внедрения решений PCI Express. Как сообщает журнал PC Magazine, Intel начала отказываться от PCI-X в своей дорожной карте 2004 года в пользу PCI Express, утверждая, что последний имеет существенные преимущества с точки зрения системной задержки и энергопотребления, более драматично заявленного как избегание «1000-контактного апокалипсиса» для их чипсета Tumwater.

Техническое описание править

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

PCI-X обратно совместим с PCI в том смысле, что вся шина возвращается к PCI, если какая-либо карта на шине не поддерживает PCI-X.

Два самых фундаментальных изменения:

  • Кратчайшее время между появлением сигнала на шине PCI и ответом на этот сигнал, происходящим на шине, было увеличено до 2 циклов, а не до 1. Это позволяет значительно повысить тактовую частоту, но вызывает множество изменений протокола:
    • Возможность стандартного протокола шины PCI вставлять состояния ожидания в любой цикл на основе сигналов IRDY# и TRDY# была удалена; PCI-X позволяет прерывать пакеты только на границах 128 байт.
    • Инициатор должен отменить подтверждение FRAME# за два цикла до окончания транзакции.
    • Инициатор не может вставлять состояния ожидания. Цель может, но только до того, как какие-либо данные будут переданы, а состояния ожидания для записи ограничены кратными 2 тактовым циклам.
    • Точно так же длина очереди определяется до ее начала; его нельзя остановить в произвольном цикле с помощью сигналов FRAME# и STOP#.
    • Вычитающее декодирование DEVSEL# происходит через два цикла после цикла «медленного DEVSEL#», а не в следующем цикле.
  • После фазы адреса (и до того, как какое-либо устройство ответило DEVSEL#), существует дополнительная 1-тактная «фаза атрибутов», во время которой 36 дополнительных битов (используются линии AD и C/BE#) информации об операции. передаются. К ним относятся 16 бит идентификации запрашивающей стороны (шина PCI, номер устройства и функции), 12 бит длины пакета, 5 бит тега (для связывания разделенных транзакций) и 3 бита дополнительного состояния.

Версии править

Практически все карты или слоты PCI-X имеют 64-битную реализацию и различаются следующим образом:

  • Карты
    • 66 МГц(Добавлено в версии 1.0)
    • 100 МГц(работает в слотах 133 МГц, понижая частоту шины до 100 МГц)
    • 133 МГц(Добавлено в версии 1.0)
    • 266 МГц(Добавлено в версии 2.0)
    • 533 МГц(Добавлено в версии 2.0)
  • Слоты
    • 66 МГц(скорость как у 64-битного PCI 66 МГц, можно найти на старых серверах)
    • 133 МГц (наиболее распространенный)
    • 266 МГц (встречается редко на x86, основная шина на IBM pSeries той эпохи)
    • 533 МГц (встречается редко)

Сочетание 32-битных и 64-битных карт PCI в слотах разной ширины править

Большинство 32-разрядных карт PCI будут нормально работать в 64-разрядных слотах PCI-X, но скорость шины будет ограничена тактовой частотой самой медленной карты, что является неотъемлемым ограничением топологии общей шины PCI. Например, если карта PCI 2.3 66 МГц установлена в шину PCI-X с частотой 133 МГц, вся объединительная плата шины будет ограничена 66 МГц. Чтобы обойти это ограничение, многие материнские платы имеют несколько разъемов PCI.

Многие 64-разрядные карты PCI-X предназначены для работы в 32-разрядном режиме, если они вставлены в более короткие 32-разрядные разъемы с некоторой потерей скорости. Примером этого является 64-битная интерфейсная карта Adaptec 29160 SCSI. Однако некоторые 64-битные карты PCI-X не работают в стандартных 32-битных слотах PCI. Даже если это сработает, установка 64-битной карты PCI-X в 32-битный слот оставит 64-битную часть краевого разъема карты не подключенной и выступающей, что требует, чтобы компоненты материнской платы не располагались так, чтобы механически блокировать выступающую часть краевого разъема платы.

Сравнение с PCI-Express править

PCI-X часто путают по имени с похожим по звучанию PCI Express, обычно сокращенно PCI-E или PCIe, хотя сами карты совершенно несовместимы и выглядят по-разному. Хотя обе они являются высокоскоростными компьютерными шинами для внутренних периферийных устройств, они во многом различаются. Во-первых, PCI-X — это 64-битный параллельный интерфейс, обратно совместимый с 32-битными устройствами PCI. PCIe — это последовательное соединение «точка-точка» с другим физическим интерфейсом, разработанным для замены как PCI, так и PCI-X.

Шины PCI-X и стандартные шины PCI могут работать на мосту PCIe, аналогично тому, как шины ISA работают на стандартных шинах PCI на некоторых компьютерах. PCIe также соответствует PCI-X и даже PCI-X 2.0 по максимальной пропускной способности. PCIe 1.0 x1 предлагает 250 МБ/с в каждом направлении (линия), и в настоящее время поддерживается до 16 линий (x16) в каждом направлении в полнодуплексном режиме, что обеспечивает максимальную пропускную способность 4 ГБ/с в каждом направлении. PCI-X 2.0 предлагает (в максимальном 64-разрядном варианте 533 МГц) максимальную пропускную способность 4266 МБ/с (~4,3 ГБ/с), хотя и только в полудуплексном режиме.

PCI-X имеет технологические и экономические недостатки по сравнению с PCI Express. 64-битный параллельный интерфейс требует сложной маршрутизации трассировки, поскольку, как и во всех параллельных интерфейсах, сигналы от шины должны поступать одновременно или в течение очень короткого окна, а шум от соседних слотов может вызывать помехи. Последовательный интерфейс PCIe сталкивается с меньшим количеством таких проблем и, следовательно, не требует таких сложных и дорогих конструкций. Шины PCI-X, как и стандартный PCI, являются полудуплексными двунаправленными, тогда как шины PCIe являются полнодуплексными двунаправленными. Шины PCI-X работают так же быстро, как и самое медленное устройство, тогда как устройства PCIe могут независимо согласовывать скорость шины. Кроме того, слоты PCI-X длиннее, чем от PCIe 1x до PCIe 16x, что делает невозможным изготовление коротких карт для PCI-X. Слоты PCI-X занимают довольно много места на материнских платах, что может быть проблемой для ATX и меньших форм-факторов.

См. также править