Перейти к содержанию
    

Вопрос по PCIe

Проектируем плату декодирования видео, на которой будут 2 моста XIO2000 PCI Express to PCI Bus Translation Bridge.

Каждый мост имеет по одному каналу х1 PCIe, соответственно выходной разъем платы будет х2, и вставляться она будет в х8 либо в х16 PCIe слот на материнке.

Вопрос такой: можно ли вот так механически объединять две lane в одну link или их нужно объединять с помощью switch'а?

То есть два писяй-експрессных моста объединяются при помощи свитча в один х2 линк и уже в таком виде подключаются к хосту на материнской плате.

Наши программисты утверждают, что свитч не нужен, что система и так распознает два независимых моста, подключенных в один PCIe слот, поскольку каналы (lane) PCIe независимы друг от друга и с точки зрения системы прозрачны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемый Нбо Туабе, в PCI Express есть понятия "link" (канал) и "lane" (ширина канала). С точки зрения пропускной способности это действительно в некотором смысле независимые вещи: что я использую 2 канала по 1х каждый, что 1 канал, но 2-х лейновый, производительность будет одна и таже. Однако с точки зрения логики работы - это две разные вещи. При работе с однолейновыми каналами данные передаются в той последовательности, в которой они поступают с логического уровня, а при использовании многолейнового режима данные "расскладываются" по лейнам так, как показано на рисунке (на данном рисунке представлены однолейновый и 4-х лейновые каналы):

post-8195-1134735020_thumb.jpg

Это что касается данных. Теперь о более глобальных вещах. При установке соединения, согласно протоколу PCI Express, производится настройка канала - определения того, сколько лейнов имеется и какая у них скорость (для начала этого вполне хватит). Эта настройка канала производится с помощью так называемых "тренингов" - пакетов определённой длинны (причём переменной) и содержания. Так вот многолейновая материнская плата будет пытаться посылать тренинги по 2-м лейнам, раскладывая пакеты в соответствии с приведённым выше примером, а Ваши мосты будут ловить - один чётные байты, а второй - нечётные. Поэтому у Вас даже тренинги не пройдут, а это означает, что соединение не будет установлено.

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

Рекомендую Вам всётаки сделать коммутатор и соединить в нём два канала по 1х в один по 2х. Как показано на следующим рисунке:

post-8195-1134736595_thumb.jpg

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

post-8195-1134736945_thumb.jpg

Развязка, естественно, будет осуществляться с использованием буферной памяти, так, что проблем быть не должно.

Единственное, что вызывает некоторые сомнения, так это возможность работы только с 2-мя лейнами из 8-ми на метеринской плате. Удостоверьтесь, что это возможно. Как я уже говорил выше, к режиму 1х она-то перейдёт, а вот с 2х - уже вопрос.

Желаю удачи. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос такой: можно ли вот так механически объединять две lane в одну link или их нужно объединять с помощью switch'а?

 

Нет сейчас под рукой спецификации PCIe 1.1 - да и upload кто-то потер. Насколько я помню, в ней появилось что-то связанное с тем, что если не удается установить линк полной ширины, в железе может быть размножена машина установления соединения и установлены независимые линки. Обязательно ли такое поведение для бриджа - не помню. В 1.0 ничего такого нет. Надеюсь, эта информация поможет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

evgeniy_s, спасибо за подробный ответ! Все-таки придется ставить свитч.

А по поводу поддержки слотом х8 карты с меньшим числом лейнов в книге PCI Express System Architecture - Addison Wesley... есть таблица совместимости Table 18-5: Card Interoperability, но там нету х2 (есть х1 и х4). А спецификации писяй-експресс у меня, к сожалению, нету. И на ftp этого форума доступ получить как-то непросто... :(

Oldring, то есть вы имеете в виду, что возможность обойтись без свитча все же имеется?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемый Oldring, я перечитал спецификацию PCI Express 1.1 и действительно в ней появилась информация о том, что канал (link) может устанавливать несколько независимых соединений (перечитал v.1.0a - там, на самом деле, это тоже есть), но это не является обязательным требованием (optional). В число дополнительных опций входят следующие особенности:

- способность порта Nx формировать любую ширину связи, находящуюся в пределах от 1x до Nx (пример: порт 16х, который может быть сконфигурирован только в одну связь, как порт 8х, 4х, 2х или же 1х, причём задействованы будут только лейны, начиная с нулевого и без пропусков);

- способность порта Nx конфигурироваться как p различных каналов, где 1 <= p <= N, соответствующей ширины (примером служит опять-таки порт 16х, который может сформировать одну связь 16х, две связи 8х, четыре связи 4х, 8 связей 2х или же 16 связей по 1х каждая, при этом неуточнён вопрос о физическом разбиении контактов на каналы - предполагаю, что опять-таки последовательное, и возможность использования только части этих каналов, например, 2 из 4-х возможных по 4х каждый);

- поддержка исключения отдельного лейна из линка (естественно в обоих направлениях) в случае отказа или же по другой причине. Прошу прощения за эту фразу - забежал вперёд и выдал желаемое за действительное. Правильнее будет звучать так: поддержка инверсии набора лейнов (например: имеются 2 порта по 16х каждый (upstream и downstream) лейн №0 upstream порта подключается к лейну №15 downstream и т.д., естественно проводить инверсию нужно как для приёмника, так и для передатчика).

К числу же обязательных требований относится только одно: формирование канала из Nx лейнов так же как канала с одним лейном. То есть о чём я писал выше.

Так, что уважаемый Нбо Туабе, у Вас сложная задача, вряд ли Вы найдёте материнскую плату, которая поддерживала бы эти особенности, когда они даже в v.1.1 даны в качестве дополнительной опции. Для гарантированной работоспособности и совместимости рекомендую всё же коммутатор. Но если Вам удасться сделать так, как Вы собирались - напишите о результатах - очень интересно.

Изменено пользователем evgeniy_s

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так, что уважаемый Нбо Туабе, у Вас сложная задача, вряд ли Вы найдёте материнскую плату, которая поддерживала бы эти особенности, когда они даже в v.1.1 даны в качестве дополнительной опции. Для гарантированной работоспособности и совместимости рекомендую всё же коммутатор. Но если Вам удасться сделать так, как Вы собирались - напишите о результатах - очень интересно.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А по поводу поддержки слотом х8 карты с меньшим числом лейнов в книге PCI Express System Architecture - Addison Wesley... есть таблица совместимости Table 18-5: Card Interoperability, но там нету х2 (есть х1 и х4).

В спецификации тоже самое, как в сатрой (v1.0a), так и в новой (v.1.1).

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

Желаю удачи. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так, что уважаемый Нбо Туабе, у Вас сложная задача, вряд ли Вы найдёте материнскую плату, которая поддерживала бы эти особенности, когда они даже в v.1.1 даны в качестве дополнительной опции. Для гарантированной работоспособности и совместимости рекомендую всё же коммутатор. Но если Вам удасться сделать так, как Вы собирались - напишите о результатах - очень интересно.

Уважаемый evgeniy_s. После долгих мытарств, попыток достучаться до производителей бриджей и свитчей, остановились мы на варианте с мостом Intel i41210. В общем принципиальная схема у меня уже готова, остались детали с питанием и клоками. Оказалось очень удобное решение. Этот мост имеет два сегмента PCI/PCI-X и х8 PCIe (либо х4).

i41210.bmp

К тому же уже получили reference board с этим мостом (правда с ней проблемы). Сначала этот мост был в составе чипсета, а потом интел выделил его как отдельный продукт, в том числе и для stand-alone систем. Жаль что он сразу не был доступен, сколько я времени потерял... Похожий мост есть у NEC Electronics, но они не хотят сотрудничать. Они согласны поставлять чипы и осуществлять тех-поддержку только если партии будут исчисляться тысячами. И минимальная поставка - 1000шт. Для нас это много, у нас не массовое производство и даже не серийное. И вообще в России PCIe очень мало кто занимается, поэтому производители и поставщики в нашем российском рынке не заинтересованы. Хотя Intel и TI относятся по другому, они готовы поддерживать разработки, пусть даже финансовой отдачи от этого пока никакой. Такие вот дела...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемый evgeniy_s. После долгих мытарств, попыток достучаться до производителей бриджей и свитчей, остановились мы на варианте с мостом Intel i41210. В общем принципиальная схема у меня уже готова, остались детали с питанием и клоками. Оказалось очень удобное решение. Этот мост имеет два сегмента PCI/PCI-X и х8 PCIe (либо х4).

Ну что же, я за Вас рад, поздравляю. Микросхемка хорошая, так что может получиться очень неплохая система. Впереди у Вас ещё отладка - надеюсь всё получиться. Нас тоже этот процесс ожидает. Недавно начальство всё-таки приняло решение идти в сторону совместимости нашего собственного ядра PCI Express и того PCI Express, который теперь уже есть почти в каждом чипсете обычного персонального компьютера. С ужасом жду того момента, когда я свой 6 портовый коммутатор PCI Express 1x воткну в компьютер...

 

 

... И вообще в России PCIe очень мало кто занимается...

Не то слово - единицы! Вот, например, на прошедшей 8-ой Международной конференции и выставке "Цифровая обработка сигналов и её применение" я нашёл одно единственное изделие на PCI Express - АЦП с интерфейсом PCI Express x1 или x4 на микросхемах PLX (подробнее о PLX можно прочетать коротко тут: http://www.ixbt.com/news/hard/index.shtml?05/92/67, а полно - вот тут: http://www.plxtech.com/products/pci_express/default.asp). Так что нас действительно мало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не то слово - единицы! Вот, например, на прошедшей 8-ой Международной конференции и выставке "Цифровая обработка сигналов и её применение" я нашёл одно единственное изделие на PCI Express - АЦП с интерфейсом PCI Express x1 или x4 на микросхемах PLX (подробнее о PLX можно прочетать коротко тут: http://www.ixbt.com/news/hard/index.shtml?05/92/67, а полно - вот тут: http://www.plxtech.com/products/pci_express/default.asp). Так что нас действительно мало.

На выставке "EXPO-ELECTRONICA"-2006, судя по анонсам, кажется тоже будет представлена парочка изделий на PCI Express.

(...эээ... себе же ответил. О как!)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...