реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Скорость передачи данных по PCIe, Низкая скорость
chaika_sv
сообщение Jun 18 2010, 06:53
Сообщение #1





Группа: Участник
Сообщений: 5
Регистрация: 18-06-10
Пользователь №: 57 998



Добрый день.

У меня есть устройство — ПЛИС (Xilinx® Spartan-6 FPGA SP605). Моя задача сейчас добиться быстрого обмена по PCIe между этим устройством и компьютером.

Конфигурация PCIe v1.1, ширина x1. Как я понимаю, максимальная скорость для такого PCIe — это 250 МБ/с. Из этих 250 МБ/с я расчитывал выжать хотя бы половину, т.е. 125 МБ/с, но не могу получить даже такой производительности.

Сначала я написал KMDF-драйвер, работающий в режиме PIO и увидел скорость 200 Мбит/с (т.е. всего 25 МБ/с). В результате пришёл к выводу, что нужно использовать DMA. У меня на ПЛИС собственного DMA-контроллера нет. Системный контроллер на материнской плате я использовать также не могу. Пришёл к выводу, что нужно использовать режим Bus Mastering для PCIe.

По режиму Bus Mastering нашёл на сайте Xilinx такой документ. Ознакомился, скачал прилагаемый архив (в составе архива: прошивка для платы, драйвер и приложение для тестирования). Всё установил, запустил приложение для тестирования, которое определяет скорость передачи. Приложение показало скорость записи примерно 800 Мбит/с, а скорость чтения — 600 МБит/с (т.е. 100 МБ/с и 75 МБ/с соответственно в режиме Bus Mastering). Такие скорости меня явно не устраивают sad.gif

Вопросы. С чем могут быть связаны такие низкие скорости? На что ещё можно обратить внимание для повышения скорости передачи?

C уважением,
Чайка Сергей
Go to the top of the page
 
+Quote Post
dmitry-tomsk
сообщение Jun 18 2010, 07:05
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741



Это всего лишь ref design в помощь разработчику. Более продвинутый xapp859, да и то кривовато сделан. Более качественная корка от plda. А почему не купили connectivity kit на базе SP605 с dma коркой?
Самому вчера пришёл embedded kit sp605. Буду прикручивать свой SG-DMA контроллер к нему, но раньше чем через месяц вряд ли смогу померить производительность.
Go to the top of the page
 
+Quote Post
chaika_sv
сообщение Jun 18 2010, 07:43
Сообщение #3





Группа: Участник
Сообщений: 5
Регистрация: 18-06-10
Пользователь №: 57 998



Дмитрий, спасибо за ответ. Попробую xapp859.
Connectivity kit показался дороговатым.. теперь вот мучаемся laughing.gif

Но вопросы то остаются. В чём может быть причина низкой скорости (например, для xapp1052)? Какой компонент тормозит: прошивка, драйвер, ОС? Почему он тормозит?
Go to the top of the page
 
+Quote Post
dmitry-tomsk
сообщение Jun 18 2010, 07:59
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741



Цитата(chaika_sv @ Jun 18 2010, 11:43) *
Дмитрий, спасибо за ответ. Попробую xapp859.
Connectivity kit показался дороговатым.. теперь вот мучаемся laughing.gif

Но вопросы то остаются. В чём может быть причина низкой скорости (например, для xapp1052)? Какой компонент тормозит: прошивка, драйвер, ОС? Почему он тормозит?

Тормозит прошивка, даже jungo под windows способен практически достичь теоретического максимума.
Go to the top of the page
 
+Quote Post
chaika_sv
сообщение Jun 18 2010, 08:54
Сообщение #5





Группа: Участник
Сообщений: 5
Регистрация: 18-06-10
Пользователь №: 57 998



Цитата(dmitry-tomsk @ Jun 18 2010, 11:05) *
Более продвинутый xapp859

Сейчас смотрю этот xapp859. Не вижу там прошивки для SP605. Только для ML505 и ML555 (а они вообще на Virtex-5).

Сообщение отредактировал chaika_sv - Jun 18 2010, 08:56
Go to the top of the page
 
+Quote Post
dmitry-tomsk
сообщение Jun 18 2010, 09:53
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741



Цитата(chaika_sv @ Jun 18 2010, 11:54) *
Сейчас смотрю этот xapp859. Не вижу там прошивки для SP605. Только для ML505 и ML555 (а они вообще на Virtex-5).

Значит ещё не выпустили. Для v-5 интерфейс 64 бита, можно попробовать свой "десериализатор" подключить для пробы. Хотя, конечно, это не выход, 32-х битный интерфейс сильно упрощает логику, а так Вы её ещё больше усложните. Попробуйте запросить оценочную прошивку для connectivity kit.
Go to the top of the page
 
+Quote Post
jojo
сообщение Jun 18 2010, 14:53
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827



Цитата(dmitry-tomsk @ Jun 18 2010, 13:53) *
Значит ещё не выпустили. Для v-5 интерфейс 64 бита, можно попробовать свой "десериализатор" подключить для пробы. Хотя, конечно, это не выход, 32-х битный интерфейс сильно упрощает логику, а так Вы её ещё больше усложните. Попробуйте запросить оценочную прошивку для connectivity kit.


А в архиве по ссылке ничего подходящего для DMA в SP605 нет?
В аналогичном архиве для ML605 Conn Kit есть ядро NWlogic...

Spartan-6 FPGA Connectivity Kit Reference Design and Documentation
http://www.xilinx.com/products/boards/s6co...nce_designs.htm
Go to the top of the page
 
+Quote Post
Voiceц
сообщение Jun 21 2010, 09:49
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 29-09-06
Пользователь №: 20 798



Сергей, напишите, пожалуйста, конфигурацию оборудования, на котором проводили тестирование. Я надавно проводил аналогичные тесты для своего проекта, и получил на двух разных стендах скорости чт/зп 460/300 МБ/с и 820/375 МБ/с. Не правда ли, поразительная разница? Для 1-lane получал скорости в зависимости от стенда и ОС от 140/120 до 180/160.
Может, стоит над сим задуматься и попробовать другой ПК?
Go to the top of the page
 
+Quote Post
chaika_sv
сообщение Jun 25 2010, 06:46
Сообщение #9





Группа: Участник
Сообщений: 5
Регистрация: 18-06-10
Пользователь №: 57 998



Цитата(jojo @ Jun 18 2010, 18:53) *
А в архиве по ссылке ничего подходящего для DMA в SP605 нет?
В аналогичном архиве для ML605 Conn Kit есть ядро NWlogic...

Да что-то я ничего подходящего там не вижу. Для SP605 ничего точно нет.

Цитата(Voiceц @ Jun 21 2010, 13:49) *
Сергей, напишите, пожалуйста, конфигурацию оборудования, на котором проводили тестирование.


Операционная система Microsoft Windows XP Professional
DirectX 4.09.00.0904 (DirectX 9.0c)
Тип ЦП DualCore Intel Core 2 Duo E7500, 2933 MHz (11 x 267)
Системная плата Asus P5E3 Pro (2 PCI, 2 PCI-E x1, 2 PCI-E x16, 4 DDR3 DIMM, Audio, Gigabit LAN)
Чипсет системной платы Intel Beachwood X48
DIMM1: Kingston 9905403-011.A03LF 2 Гб DDR3-1333 DDR3 SDRAM (8-8-8-22 @ 609 МГц) (7-7-7-20 @ 533 МГц) (6-6-6-17 @ 457 МГц)
Видеоадаптер NVIDIA GeForce 9800 GT (512 Мб)


Пробовал на машине помощнее. Разницу действительно увидел, но не особо большую.


Цитата(Voiceц @ Jun 21 2010, 13:49) *
Для 1-lane получал скорости в зависимости от стенда и ОС от 140/120 до 180/160.

Вы получили хорошие результаты. Какую прошивку использовали, если не секрет?
Go to the top of the page
 
+Quote Post
Voiceц
сообщение Jun 28 2010, 08:59
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 29-09-06
Пользователь №: 20 798



Цитата(chaika_sv @ Jun 25 2010, 10:46) *
Вы получили хорошие результаты. Какую прошивку использовали, если не секрет?

Использовал "домашнюю заготовку" с использованием Hardware блока, без хилинховской обёртки.
Go to the top of the page
 
+Quote Post
FLTI
сообщение Aug 4 2011, 14:40
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832



Цитата(Voiceц @ Jun 21 2010, 13:49) *
Сергей, напишите, пожалуйста, конфигурацию оборудования, на котором проводили тестирование. Я надавно проводил аналогичные тесты для своего проекта, и получил на двух разных стендах скорости чт/зп 460/300 МБ/с и 820/375 МБ/с. Не правда ли, поразительная разница? Для 1-lane получал скорости в зависимости от стенда и ОС от 140/120 до 180/160.
Может, стоит над сим задуматься и попробовать другой ПК?

Не могли бы Вы более конкретно рассказать о том, на матерях с какими чипсетами и на каких ОС получаются самые высокие , и на каких - самые низкие результаты и с чем это связано ?
Go to the top of the page
 
+Quote Post
Костян
сообщение Aug 4 2011, 14:56
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059



QUOTE (FLTI @ Aug 4 2011, 12:40) *
Не могли бы Вы более конкретно рассказать о том, на матерях с какими чипсетами и на каких ОС получаются самые высокие , и на каких - самые низкие результаты и с чем это связано ?

у altera-ы приведен список скоростей для разных материнок.
AN431
И судя по документации на чипсет X58 payload у него не менее 128
http://www.evga.com/support/manuals/files/132-BL-E758.pdf
Go to the top of the page
 
+Quote Post
FLTI
сообщение Aug 4 2011, 16:10
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832



Цитата(Костян @ Aug 4 2011, 18:56) *
у altera-ы приведен список скоростей для разных материнок.
AN431

Никакого списка скоростей для материнок в AN431 я не нашёл. На какой странице?
Цитата(Костян @ Aug 4 2011, 18:56) *
И судя по документации на чипсет X58 payload у него не менее 128

А вот по поводу payload для X58 Xilinx в XAPP1052 считает иначе:
The x58 supports up to 256 byte maximum payload size (MPS), and the x38 supports up to 128 byte MPS.
Хотя конечно "не менее 128" и "up to 256 byte" в итоге могут означать одно и тоже )
Go to the top of the page
 
+Quote Post
Костян
сообщение Aug 5 2011, 08:05
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059



QUOTE (FLTI @ Aug 4 2011, 14:10) *
Никакого списка скоростей для материнок в AN431 я не нашёл. На какой странице?

Прошу прошения , an456 стр 20. Там явно видно, что intel выигрывает у остальных. Побаловатся заказал себе H67 - это последователь X58. Сейчас работаю с nvidia. Как будет новая материнка, смогу написать некоторые выводы по скорости.


QUOTE (FLTI @ Aug 4 2011, 14:10) *
А вот по поводу payload для X58 Xilinx в XAPP1052 считает иначе:
The x58 supports up to 256 byte maximum payload size (MPS)

считает то он иначе, но как передать 256B , тогда как windriver поддерживает макс 64B не понятно.
Go to the top of the page
 
+Quote Post
dmitry-tomsk
сообщение Aug 6 2011, 11:04
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741



Цитата(Костян @ Aug 5 2011, 11:05) *
Прошу прошения , an456 стр 20. Там явно видно, что intel выигрывает у остальных. Побаловатся заказал себе H67 - это последователь X58. Сейчас работаю с nvidia. Как будет новая материнка, смогу написать некоторые выводы по скорости.



считает то он иначе, но как передать 256B , тогда как windriver поддерживает макс 64B не понятно.

при чём здесь windriver? Он только выдаёт команды в цпу для чтения-записи памяти. Поэтому больше 64 бит и нельзя, любой драйвер это не позволит если нет такмх инструкций у цпу! Другое дело либо сам чипсет соберёт несколько обращений к памяти в одно, либо использовать бас мастер в плисе, тот всегда использует max payload size (max read size) который позволяет материнка. В любом случае бас мастер выгоднее - меньше нагрузка на цпу
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th June 2025 - 15:19
Рейтинг@Mail.ru


Страница сгенерированна за 0.01486 секунд с 7
ELECTRONIX ©2004-2016