|
Скорость передачи данных по PCIe, Низкая скорость |
|
|
|
Jun 18 2010, 06:53
|
Группа: Участник
Сообщений: 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). Такие скорости меня явно не устраивают Вопросы. С чем могут быть связаны такие низкие скорости? На что ещё можно обратить внимание для повышения скорости передачи? C уважением, Чайка Сергей
|
|
|
|
|
 |
Ответов
|
Jun 21 2010, 09:49
|
Участник

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

|
Сергей, напишите, пожалуйста, конфигурацию оборудования, на котором проводили тестирование. Я надавно проводил аналогичные тесты для своего проекта, и получил на двух разных стендах скорости чт/зп 460/300 МБ/с и 820/375 МБ/с. Не правда ли, поразительная разница? Для 1-lane получал скорости в зависимости от стенда и ОС от 140/120 до 180/160. Может, стоит над сим задуматься и попробовать другой ПК?
|
|
|
|
|
Aug 4 2011, 14:40
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832

|
Цитата(Voiceц @ Jun 21 2010, 13:49)  Сергей, напишите, пожалуйста, конфигурацию оборудования, на котором проводили тестирование. Я надавно проводил аналогичные тесты для своего проекта, и получил на двух разных стендах скорости чт/зп 460/300 МБ/с и 820/375 МБ/с. Не правда ли, поразительная разница? Для 1-lane получал скорости в зависимости от стенда и ОС от 140/120 до 180/160. Может, стоит над сим задуматься и попробовать другой ПК? Не могли бы Вы более конкретно рассказать о том, на матерях с какими чипсетами и на каких ОС получаются самые высокие , и на каких - самые низкие результаты и с чем это связано ?
|
|
|
|
|
Aug 4 2011, 14:56
|
Знающий
   
Группа: Свой
Сообщений: 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
|
|
|
|
|
Aug 4 2011, 16:10
|
Местный
  
Группа: Свой
Сообщений: 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" в итоге могут означать одно и тоже )
|
|
|
|
|
Aug 5 2011, 08:05
|
Знающий
   
Группа: Свой
Сообщений: 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 не понятно.
|
|
|
|
|
Aug 6 2011, 11:04
|
Знающий
   
Группа: Свой
Сообщений: 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) который позволяет материнка. В любом случае бас мастер выгоднее - меньше нагрузка на цпу
|
|
|
|
|
Aug 8 2011, 14:35
|
Знающий
   
Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059

|
QUOTE (dmitry-tomsk @ Aug 6 2011, 10:04)  либо использовать бас мастер в плисе, тот всегда использует max payload size (max read size) который позволяет материнка. В любом случае бас мастер выгоднее - меньше нагрузка на цпу Тогда получается слудующие 1. ПЛИС выставляет на шину запрос чтения/записи в память с PAYLOAD равной максимальной 2. Материнка без участия CPU принимает запрос и дает на него ответ макс длины Верно ?
|
|
|
|
|
Aug 9 2011, 08:30
|
Знающий
   
Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059

|
QUOTE (dmitry-tomsk @ Aug 8 2011, 15:01)  По первому пункту верно. Запись в память PC производится пакетами максимальной длины max payload size. Спасибо. По записи в память PC еще вопросы есть. Может ли ПЛИС послать пакет записи в память MWr ? Данный пакет не требует ответа. И CPU не будет занят в его обработке. Иными словами  Может ли в качестве requester выступать ПЛИС при MWr ?
|
|
|
|
|
Aug 9 2011, 15:00
|
Знающий
   
Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741

|
Цитата(Костян @ Aug 9 2011, 11:30)  Спасибо. По записи в память PC еще вопросы есть. Может ли ПЛИС послать пакет записи в память MWr ? Данный пакет не требует ответа. И CPU не будет занят в его обработке. Иными словами  Может ли в качестве requester выступать ПЛИС при MWr ? Бас мастер и посылает mwr и mrd пакеты, принимает cpld пакеты. ЦПУ при этом не задействуется.
|
|
|
|
|
Aug 9 2011, 15:10
|
Знающий
   
Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059

|
QUOTE (dmitry-tomsk @ Aug 9 2011, 13:00)  Бас мастер и посылает mwr и mrd пакеты, принимает cpld пакеты. ЦПУ при этом не задействуется. спасибо. Но как быть тогда с физическим адресом ? Например нужно прочитать/записать область ОЗУ в PC. Где гарантия , что ОС не использует данные адресса ?
|
|
|
|
Сообщений в этой теме
chaika_sv Скорость передачи данных по PCIe Jun 18 2010, 06:53 dmitry-tomsk Это всего лишь ref design в помощь разработчику. Б... Jun 18 2010, 07:05 chaika_sv Цитата(dmitry-tomsk @ Jun 18 2010, 11... Jun 18 2010, 08:54  dmitry-tomsk Цитата(chaika_sv @ Jun 18 2010, 11:54) Се... Jun 18 2010, 09:53   jojo Цитата(dmitry-tomsk @ Jun 18 2010, 13... Jun 18 2010, 14:53    chaika_sv Цитата(jojo @ Jun 18 2010, 18:53) А в арх... Jun 25 2010, 06:46     Voiceц Цитата(chaika_sv @ Jun 25 2010, 10:46) Вы... Jun 28 2010, 08:59 chaika_sv Дмитрий, спасибо за ответ. Попробую xapp859.
Conne... Jun 18 2010, 07:43 dmitry-tomsk Цитата(chaika_sv @ Jun 18 2010, 11:43) Дм... Jun 18 2010, 07:59            Костян QUOTE (dmitry-tomsk @ Aug 9 2011, 15... Aug 10 2011, 06:43
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|