Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Отличие в пропускной способности слотов PCIe x 4 на разных материнских платах.
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > ISA/PCI/PCI-X/PCI Express
FLTI
Здравствуйте!

Есть ли какое-то отличие в работе слотов 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-ом интеловском чипсете.
Почему, в чём может быть причина и как это исправить?
Dvorkin
300 МБ/с для PCIe x4 - это совсем небольшой поток.

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

sudo lspci -vvv -d ваш_manufacturer_id:
FLTI
Цитата(Dvorkin @ Aug 20 2014, 14:58) *
300 МБ/с для PCIe x4 - это совсем небольшой поток.

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

sudo lspci -vvv -d ваш_manufacturer_id:

У меня нет Linux, проверял на WIN7 т.к работать должно на WIN7.
А в чём идея?
Почему плата может по-разному определяться на P55 и P75?
dsmv
Цитата(FLTI @ Aug 20 2014, 14:45) *
У меня нет Linux, проверял на WIN7 т.к работать должно на WIN7.


Для Windows можно воспользоваться Pex Device Editor: http://plxtech.com/products/sdk/pde
Разные чипсеты могут себя по разному вести. Интересно, а сколько запросов на чтение отправляет DMA канал ?
Если он отправляет один запрос и затем ждёт ответа, то это скорость очень сильно ограничивает.
И до 300 Мбайт/с можно не дотянуть.
krux
подключение через разные шины / разные чипсеты дают сильно разный ready latency на первый DMA write из девайса в память.
даже больше, подключение через PCIe, торчащие напрямую из процессора и через южный мост (который к процессору через DMI подключен) - тоже разное.
сделать с этим ничего нельзя.
FLTI
Цитата(krux @ Aug 21 2014, 22:55) *
подключение через разные шины / разные чипсеты дают сильно разный ready latency на первый DMA write из девайса в память.
даже больше, подключение через PCIe, торчащие напрямую из процессора и через южный мост (который к процессору через DMI подключен) - тоже разное.
сделать с этим ничего нельзя.

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

Цитата(dsmv @ Aug 21 2014, 20:08) *
Для Windows можно воспользоваться Pex Device Editor: http://plxtech.com/products/sdk/pde
Разные чипсеты могут себя по разному вести. Интересно, а сколько запросов на чтение отправляет DMA канал ?
Если он отправляет один запрос и затем ждёт ответа, то это скорость очень сильно ограничивает.
И до 300 Мбайт/с можно не дотянуть.

С этим всё нормально ( отправляются несколько запросов ), вопрос в том, почему на более старой матери P55 нет ограничений по скорости, а на более новой P75 - есть ...
krux
чипсет 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 льётся ещё и видео-поток от встроенной графики.
FLTI
Цитата(krux @ Aug 22 2014, 21:53) *
ещё одно отличие для вас может быть в том, что в Z75 через DMI льётся ещё и видео-поток от встроенной графики.

Даже если встроенная графика не используется, а используется графическая карта в PCIe x 16 слоте?
Спасибо за ответ!
FLTI
Сейчас уточнил, падение скорости было на матери Gigabyte GA-P75_D3, т.е чипсет был не P75, а B75.
krux, скажите пожалуйста, а с какой буквой предпочтительнее выбирать матери каждой серии ( 7-я , 8-я, 9-я ) - Q, B или Z и на какую цифру чтобы оканчивался номер чипсета - 5 или 7 ?
Есть ли какое-то общее правило с точки зрения, чтобы по шине был наибольший поток?
В таблице сравнения все модели с разными буквами ( Q, B или Z ) и цифрами ( 5 и 7 ) выглядят примерно одинаковыми ...
krux
у B75 ещё и PCI-шина торчит. В неё случаем, ничего вставлено не было? там тоже длительная блокировка транзакций по доступу к памяти может быть.
FLTI
Цитата(krux @ Aug 23 2014, 18:19) *
у B75 ещё и PCI-шина торчит. В неё случаем, ничего вставлено не было? там тоже длительная блокировка транзакций по доступу к памяти может быть.

У B75 в PCI-слот было вставлена плата, но к ней не было обращений.
Эта же плата была вставлена в PCI-слот и на P55, но к ней не было обращений.
То есть условия тестирования были равные.

Сейчас надо возобновить тестирование.
krux, скажите пожалуйста, а с какой буквой предпочтительнее выбирать матери каждой серии ( 7-я , 8-я, 9-я ) - Q, B или Z и на какую цифру чтобы оканчивался номер чипсета - 5 или 7 ?
Есть ли какое-то общее правило с точки зрения, чтобы по шине был наибольший поток?
В таблице сравнения все модели с разными буквами ( Q, B или Z ) и цифрами ( 5 и 7 ) выглядят примерно одинаковыми ...
FLTI
Проверил свою тестовую плату с ядром 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.
Bios71
Цитата(FLTI @ Sep 13 2014, 11:55) *
Проверил свою тестовую плату с ядром PCIe x 4 GEN1 в слоте PCIe x 16


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

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

если биос при автоопределении пытается в слоте х16 найти GEN3 потом GEN2 и только в последнюю очередь GEN1
то возможно ваша карта(FW в ней) после попыток GEN3 / GEN2 не так свежа и сваливается в х1 laughing.gif

а на старых чипсетах GEN3 биос не искал
FLTI
Цитата(Bios71 @ Sep 15 2014, 11:42) *
"не все йогурты одинаково полезны"(с)

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

если биос при автоопределении пытается в слоте х16 найти GEN3 потом GEN2 и только в последнюю очередь GEN1
то возможно ваша карта(FW в ней) после попыток GEN3 / GEN2 не так свежа и сваливается в х1 laughing.gif

а на старых чипсетах 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 на своей плате и на материнской плате?
Bios71
Цитата(FLTI @ Sep 15 2014, 13:11) *
Это для меня сейчас самое важное понять - проблема со стороны своей платы или в конфликте разных GEN на своей плате и на материнской плате?


а "глаз" смотрели на всех материнках и на всех линиях? каково его качество ?
FLTI
Цитата(Bios71 @ Sep 15 2014, 13:40) *
а "глаз" смотрели на всех материнках и на всех линиях? каково его качество ?

Нет, глаз пока нечем посмотреть, могу судить об устойчивости работы платы пока только по внешним признакам.
Как я уже ранее писал, на чипсете P55 плата опознаётся как PCIe x 4 и работает устойчиво с потоком 300 Мбайт/с ( больше пока не надо ) , а на чипсете B75 и Z97 плата опознаётся как PCIe x 1 и работает устойчиво с потоком только 150 Мбайт/с.


FLTI
Цитата(Kuzmi4 @ Sep 15 2014, 18:54) *
2 FLTI
Возможно это прольёт немного света

В этой статье есть ценная фраза:
There are usually three major link training failures.
One is a complete failure to establish a link of any width; indicated by the core output trn_lnk_up_n not asserting.
The second is when the link trains to a lower width than intended, such as an x8 link training as x4.
Third, is a link that is constantly entering into the RECOVERY state.
Link training problems are normally due to board signal integrity problems or improper GTP/GTX usage.

На AlteraWiki есть похожий документ Use Transceiver Toolkit to Measure PCI-Express Link Signal Integrity ( http://www.alterawiki.com/wiki/Use_Transce...Link%20Training ).
Там говорится, что с помощью Altera Transceiver Toolkit можно как раз посмотреть "глаз".
Но ни в Q13.1, ни в Q14.0 Web Edition в "Tools/System Console/Transceiver Toolkit" нет закладки "Transceiver Toolkit", которую предлагается выбрать в этой статье.
Или Transceiver Toolkit доступен только в полной ( Subscription ) версии?
Kuzmi4
Проверил в моём Quartus II 64-Bit Version 13.1.0 Build 162 10/23/2013 SJ Web Edition
У меня всё есть, НО кричит, что без валидной Subscription он работать не будет:
Нажмите для просмотра прикрепленного файла
Ставил вот это: Quartus-web-13.1.0.162.iso
FLTI
Цитата(Kuzmi4 @ Sep 15 2014, 20:25) *
Проверил в моём Quartus II 64-Bit Version 13.1.0 Build 162 10/23/2013 SJ Web Edition
У меня всё есть, НО кричит, что без валидной Subscription он работать не будет:
Ставил вот это: Quartus-web-13.1.0.162.iso

Странно, у меня тот же билд Quartus II 32-Bit Version 13.1.0 Build 162 10/23/2013 SJ Web Edition, но на 32-битной Вин7 и при выборе "Tools/System Console" открывается System Console, в которой в закладке Tools нет Transceiver Toolkit:
Нажмите для просмотра прикрепленного файла
Тоже самое на Q14 Web Edition. wacko.gif
Kuzmi4
В принципе, если он так упорно хочет видеть именно Subscription, то можно его поставить и проверить как там обстоят дела cool.gif
Кстати проверял инсталяху на виртуальной машине (где сборки обычно делаю, а первый раз была лабовая машина) - так в общем в виртуалке у меня System Console и Transceiver Toolkit есть, но ничего не происходит вообще при их нажатии.. такие дела..
FLTI
Цитата(Kuzmi4 @ Sep 16 2014, 12:14) *
В принципе, если он так упорно хочет видеть именно Subscription, то можно его поставить и проверить как там обстоят дела cool.gif
Кстати проверял инсталяху на виртуальной машине (где сборки обычно делаю, а первый раз была лабовая машина) - так в общем в виртуалке у меня System Console и Transceiver Toolkit есть, но ничего не происходит вообще при их нажатии.. такие дела..

Оказывается в Q13.1 и Q14.0 Transceiver Toolkit работает только для Arria V GT, Arria V GZ, Cyclone V, Cyclone V SoC, Stratix IV GT, Stratix IV GX, Stratix V, а поскольку у меня в Q активировано только семейство Cyclone IV GX, то у меня Transceiver Toolkit вообще и не видим.
Поскольку в АльтераВики сказано, что для построения Глаза нужен как минимум Transceiver Toolkit в Q13.1, то значит мне yf Cyclone IV GX так глаз посмотреть не удастся crying.gif
FLTI
Оказывается проблема была в некачественном напряжении питания 1,2V ядра ПЛИС Cyclone IV GX на плате, что вызывало такой странный эффект - на современных матерях плата опознавалась как PCIe x 1 вместо PCIe x 4.
Kaligooola
Может повторюсь. Но как-то была проблема с Gygabyte-ными матерями и нашим устройством. При выходе 43/45 чипсета (на 775 сокете) отваливалось наше устройство. До этого плата везде работала. Грешили на свой контроллер (тода еще PCI через мост). Помогла перепрошивка БИОСа.
Так что если там вчера работало, а тут сегодня нет. Я первым делом лезу на сайт за обновляшками.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.