Jump to content

    

16x PCIe на чем сделать можно?

На чем можно сделать 16х PCIe? Как я посмотрел у виртексов hardware блок идет только на x8. Хотелось бы достичь скорость в 3гигабайт/сек. Реально ли это на 16x PCIe 2.5GB ?

Share this post


Link to post
Share on other sites
Хотелось бы достичь скорость в 3гигабайт/сек.

хотелось бы сначала узнать - и куда вам так быстро надо?

Share this post


Link to post
Share on other sites

К сожалению, средняя скорость передачи непрерываного потока по шине PciExpress с увеличением кратности шины растет нелинейно. У меня для 4-х кратной шины средняя скорость непрерывного потока получалась 800 Мбайт/сек, для 8-и кратной шины получилось всего 1300 МБайт/сек вместо ожидаемых 1600. Думаю, что при переходе на 16-кратную эта тенденция будет сохраняться, и скорость не достигнет 3000 МБайт/сек.

Но есть одно но.

На материнских платах 16-кратный разъем PciExpress ориентирован под работу с видеокартой, которая как раз постоянно находится в режиме передачи большого потока в видеопамять. Наверняка чертовы капиталисты что-нибудь там соптимизацировали для этой задачи. Еще не знаю, сам не проверял.

Share this post


Link to post
Share on other sites
У меня для 4-х кратной шины средняя скорость непрерывного потока получалась 800 Мбайт/сек, для 8-и кратной шины получилось всего 1300 МБайт/сек

 

А на чём Вы сделали x4 и x8 ? И на каком компьютере получилось 800 МБайт/с

У меня на Virtex4 FX20 с использованием ядра от PLDA получилось только 713 МБайт/с

Share this post


Link to post
Share on other sites

Я работаю с ALTERA Stratix II GX. Ядро PciExpress пришлось немного доработать руками.

Материнская плата какая-то серверная INTEL с двумя процессорами.

Share this post


Link to post
Share on other sites
Я работаю с ALTERA Stratix II GX. Ядро PciExpress пришлось немного доработать руками.

Материнская плата какая-то серверная INTEL с двумя процессорами.

 

Ядро от PLDA ?

Share this post


Link to post
Share on other sites
Не, ядро альтеровское. PciExpressCompiler.

Понял, спасибо.

Share this post


Link to post
Share on other sites
На чем можно сделать 16х PCIe? Как я посмотрел у виртексов hardware блок идет только на x8. Хотелось бы достичь скорость в 3гигабайт/сек. Реально ли это на 16x PCIe 2.5GB ?

 

А в какую сторону надо данные передавать то?

 

Делать прийдется на FPGA (правда если не хочется с одной большой и дорогой матрицей можно попытаться использовать несколько (4) мостов (pcie x4) и засовывать их через switch, само собой надо будет очень внимательно смотреть на свитч т.к. он может все тормозить).

 

Скорость очень сильно зависит от мамки/чипсета. В конфигурации PCIex <--> PCI-X(133,64) легко получал 850MB/c (но дма движек не шибко оптимальный).

 

 

 

А на чём Вы сделали x4 и x8 ? И на каком компьютере получилось 800 МБайт/с

У меня на Virtex4 FX20 с использованием ядра от PLDA получилось только 713 МБайт/с

 

Какой размер пакета?

 

Ядро PLDAое с електрониксовского фтп :) ?

Share this post


Link to post
Share on other sites
Какой размер пакета?

Ядро PLDAое с електрониксовского фтп :) ?

 

Какой пакет интересует ?

ПЛИС поддреживает PAYLOAD 256 байт

Компьютеры имеют только 128, только некоторые на основе chiset от NVIDEA имеют 256 байт.

 

Скорость проверялась на непрерывном циклическом заполнении 16-ти блоков по 8 мегабайт в течении многих часов.

Share this post


Link to post
Share on other sites
Какой пакет интересует ?

ПЛИС поддреживает PAYLOAD 256 байт

Компьютеры имеют только 128, только некоторые на основе chiset от NVIDEA имеют 256 байт.

 

Скорость проверялась на непрерывном циклическом заполнении 16-ти блоков по 8 мегабайт в течении многих часов.

 

Это откуда такие данные о компутерах? На каких чипсетах?

Share this post


Link to post
Share on other sites
Это откуда такие данные о компутерах? На каких чипсетах?

 

Определено путём чтения регистров из конфигурационного пространства PCI_Exprees;

На всех chipset от Inel которые мне попадались payload 128 (X38, P35, 965, 975)

На NVIDEA - 256 - но при это работают всё-таки медленне чем Intel

 

В dataesheet на chipset тоже написано при 128 байт, только очень мелким шрифтом где-то в описании регистров.

 

Может я ошибаюсь ? И существуют компьютеры с большим payload ?

Share this post


Link to post
Share on other sites

На счет payload, в основном у всех чипсетов стоит 128 - это дефолтное значение. А можно ли его изменить (увеличить) у чипсета?

На свитче это значение можно менять (я менял, установил 512, т.к. ядро ксалинкса поддерживает 512).

Share this post


Link to post
Share on other sites
На чем можно сделать 16х PCIe? Как я посмотрел у виртексов hardware блок идет только на x8. Хотелось бы достичь скорость в 3гигабайт/сек. Реально ли это на 16x PCIe 2.5GB ?

А может http://www.hypertransport.org/default.cfm?...eferenceDesigns

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this