Jump to content

    
Sign in to follow this  
FLTI

Отличие в пропускной способности слотов PCIe x 4 на разных материнских платах.

Recommended Posts

Здравствуйте!

 

Есть ли какое-то отличие в работе слотов PCIe x 4 на разных материнских платах, например на 55-ом интеловском чипсете и на 75-ом интеловском чипсете?

Судя по описанию на материнской плате на 55-ом интеловском чипсете PCIe x 4 соответствует GEN1, а на 75-ом - уже GEN2.

 

На своей тестовой плате с ядром PCIe x 4 GEN1 заметил, что скорость передачи host->FPGA на 75-ом чипсете меньше, чем на 55-ом.

Насколько точно меньше, пока померить не могу, но видно , что поток 300 МБайт/с через host->FPGA на 55-ом нормально проходит, а на 75-ом идут потери данных.

 

Вот как устроено это ядро PCIe x 4 GEN1 на базе Altera HardIP :

Writes "host->FPGA" are made by DMA reads by the FPGA in two steps: The FPGA sends a read request packet and the host sends the data in a completion packet.

The FPGA can have several read requests pending for the same stream.

 

Таким образом, пропускная способность зависит от того, насколько быстро откликается host, т.е материнская плата.

Так вот получается, что материнская плата на 55-ом интеловском чипсете откликается быстрее, чем на 75-ом интеловском чипсете.

Почему, в чём может быть причина и как это исправить?

Share this post


Link to post
Share on other sites

300 МБ/с для PCIe x4 - это совсем небольшой поток.

 

Потери данных - это сколько данных теряется?

Посмотрите, как определяется плата в системе (LinkStatus) на 75-ом чипсете..

 

sudo lspci -vvv -d ваш_manufacturer_id:

Share this post


Link to post
Share on other sites
300 МБ/с для PCIe x4 - это совсем небольшой поток.

 

Потери данных - это сколько данных теряется?

Посмотрите, как определяется плата в системе (LinkStatus) на 75-ом чипсете..

 

sudo lspci -vvv -d ваш_manufacturer_id:

У меня нет Linux, проверял на WIN7 т.к работать должно на WIN7.

А в чём идея?

Почему плата может по-разному определяться на P55 и P75?

Share this post


Link to post
Share on other sites
У меня нет Linux, проверял на WIN7 т.к работать должно на WIN7.

 

Для Windows можно воспользоваться Pex Device Editor: http://plxtech.com/products/sdk/pde

Разные чипсеты могут себя по разному вести. Интересно, а сколько запросов на чтение отправляет DMA канал ?

Если он отправляет один запрос и затем ждёт ответа, то это скорость очень сильно ограничивает.

И до 300 Мбайт/с можно не дотянуть.

 

Share this post


Link to post
Share on other sites

подключение через разные шины / разные чипсеты дают сильно разный ready latency на первый DMA write из девайса в память.

даже больше, подключение через PCIe, торчащие напрямую из процессора и через южный мост (который к процессору через DMI подключен) - тоже разное.

сделать с этим ничего нельзя.

Share this post


Link to post
Share on other sites
подключение через разные шины / разные чипсеты дают сильно разный ready latency на первый DMA write из девайса в память.

даже больше, подключение через PCIe, торчащие напрямую из процессора и через южный мост (который к процессору через DMI подключен) - тоже разное.

сделать с этим ничего нельзя.

На большинстве матерей только два слота PCIe x 16, один из которых для видеокарты, а другой в режиме PCIe x 4.

Так вот этот слот, который в режиме PCIe x 4, разве он может быть организован по-разному - напрямую из процессора или через южный мост?

 

Для Windows можно воспользоваться Pex Device Editor: http://plxtech.com/products/sdk/pde

Разные чипсеты могут себя по разному вести. Интересно, а сколько запросов на чтение отправляет DMA канал ?

Если он отправляет один запрос и затем ждёт ответа, то это скорость очень сильно ограничивает.

И до 300 Мбайт/с можно не дотянуть.

С этим всё нормально ( отправляются несколько запросов ), вопрос в том, почему на более старой матери P55 нет ограничений по скорости, а на более новой P75 - есть ...

 

Share this post


Link to post
Share on other sites

чипсет P55 - http://www.intel.com/content/dam/www/publi...t-datasheet.pdf

процессор под него - http://www.intel.com/content/dam/doc/datas...sheet-vol-1.pdf

 

чипсет Z75 - http://www.intel.com/content/dam/www/publi...h-datasheet.pdf

процессор под него - http://www.intel.com/content/dam/www/publi...1-datasheet.pdf

 

все возможные варианты там приведены.

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

на дешевых десктопных с минимумом наворотов - скорее всего x16 из процессора, x4 из PCH.

 

Однако, много всяких "но" и "если". реализации могут быть самые различные.

если на материнке размазано много (>=5) всяких PCIe x1 контроллеров, то линки с PCH у разработчиков могли закончится.

В таких случаях часто одну x16 шину от процессора динамически переключают в зависимости от физического наличия платы во втором x16 слоте - переключают в 2 слота по x8 на каждый.

 

ещё одно отличие для вас может быть в том, что в Z75 через DMI льётся ещё и видео-поток от встроенной графики.

Share this post


Link to post
Share on other sites
ещё одно отличие для вас может быть в том, что в Z75 через DMI льётся ещё и видео-поток от встроенной графики.

Даже если встроенная графика не используется, а используется графическая карта в PCIe x 16 слоте?

Спасибо за ответ!

Share this post


Link to post
Share on other sites

Сейчас уточнил, падение скорости было на матери Gigabyte GA-P75_D3, т.е чипсет был не P75, а B75.

krux, скажите пожалуйста, а с какой буквой предпочтительнее выбирать матери каждой серии ( 7-я , 8-я, 9-я ) - Q, B или Z и на какую цифру чтобы оканчивался номер чипсета - 5 или 7 ?

Есть ли какое-то общее правило с точки зрения, чтобы по шине был наибольший поток?

В таблице сравнения все модели с разными буквами ( Q, B или Z ) и цифрами ( 5 и 7 ) выглядят примерно одинаковыми ...

Share this post


Link to post
Share on other sites

у B75 ещё и PCI-шина торчит. В неё случаем, ничего вставлено не было? там тоже длительная блокировка транзакций по доступу к памяти может быть.

Share this post


Link to post
Share on other sites
у B75 ещё и PCI-шина торчит. В неё случаем, ничего вставлено не было? там тоже длительная блокировка транзакций по доступу к памяти может быть.

У B75 в PCI-слот было вставлена плата, но к ней не было обращений.

Эта же плата была вставлена в PCI-слот и на P55, но к ней не было обращений.

То есть условия тестирования были равные.

 

Сейчас надо возобновить тестирование.

krux, скажите пожалуйста, а с какой буквой предпочтительнее выбирать матери каждой серии ( 7-я , 8-я, 9-я ) - Q, B или Z и на какую цифру чтобы оканчивался номер чипсета - 5 или 7 ?

Есть ли какое-то общее правило с точки зрения, чтобы по шине был наибольший поток?

В таблице сравнения все модели с разными буквами ( Q, B или Z ) и цифрами ( 5 и 7 ) выглядят примерно одинаковыми ...

Share this post


Link to post
Share on other sites

Проверил свою тестовую плату с ядром PCIe x 4 GEN1 в слоте PCIe x 16 ( в режиме PCIe x 4 ) на матери с чипсетом Z97 и проверил её состояние через PCI Scope.

Оказывается на матери с чипсетом Z97 параметр Negotiated Link Width оказался только лишь х1 и скорость потока также низкой, как и на матери с чипсетом B75.

А на матери с чипсетом P55 параметр Negotiated Link Width оказался правильным х4 и поток высокий.

 

Почему же на на матерях с чипсетом Z97 и B75 ( обе матери от Gigabyte ) в слоте PCIe x 16 ( в режиме PCIe x 4 ) плата опознаётся как PCIe х 1, а на матери с чипсетом P55 опознаётся как PCIe х 4?

И что нужно сделать, чтобы и на матерях с чипсетом Z97 и B75 в слоте PCIe x 16 ( в режиме PCIe x 4 ) плата опознавалась бы как PCIe х 4?

 

P.S. У меня на плате применён Lane Reversal.

Share this post


Link to post
Share on other sites
Проверил свою тестовую плату с ядром PCIe x 4 GEN1 в слоте PCIe x 16

 

"не все йогурты одинаково полезны"(с)

 

попробуйте запретить ASPM и принудительно активировать GEN1 вместо "Auto" для PCIe x16

 

если биос при автоопределении пытается в слоте х16 найти GEN3 потом GEN2 и только в последнюю очередь GEN1

то возможно ваша карта(FW в ней) после попыток GEN3 / GEN2 не так свежа и сваливается в х1 :laughing:

 

а на старых чипсетах GEN3 биос не искал

Share this post


Link to post
Share on other sites
"не все йогурты одинаково полезны"(с)

 

попробуйте запретить ASPM и принудительно активировать GEN1 вместо "Auto" для PCIe x16

 

если биос при автоопределении пытается в слоте х16 найти GEN3 потом GEN2 и только в последнюю очередь GEN1

то возможно ваша карта(FW в ней) после попыток GEN3 / GEN2 не так свежа и сваливается в х1 :laughing:

 

а на старых чипсетах GEN3 биос не искал

То есть Вы считаете, что причину надо искать не в своей плате, а в материнской плате?

ASPM был по умолчанию отключен в БИОСе, а установка GEN1 вместо "Auto" ничего не дала...

 

Посмотрел внимательно через PCI Scope регистры PCI Express Capabilities.

Заметил, что в матери на чипсете Z97 ( где плата ошибочно опознаётся как х1 ) в Device Status Register значение Corretable Error Detected = Yes, а в матери на чипсете P55 ( где плата правильно опознаётся как х4 ) в Device Status Register значение Corretable Error Detected = No, т.е ошибки не было.

Значит всё-таки проблема со стороны своей платы?

 

Это для меня сейчас самое важное понять - проблема со стороны своей платы или в конфликте разных GEN на своей плате и на материнской плате?

Share this post


Link to post
Share on other sites
Это для меня сейчас самое важное понять - проблема со стороны своей платы или в конфликте разных GEN на своей плате и на материнской плате?

 

а "глаз" смотрели на всех материнках и на всех линиях? каково его качество ?

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this