Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Вебморда + простой сетевой интерфейс на слабенькой борде

09.06.18 23:54
Re: Вебморда + простой сетевой интерфейс на слабенькой борде
 
  ilghiz знакомое лицо

> Не по теме вопрос, просто интересно как вы работу PL(programmable logic) и PS (processing system) между собой организовали. На PL тоже считаете?

у меня там два куска кода в плиске. Первый - получает данные с АЦПшки (16 LVDS на 160МГц на оба фронта) и делает некоторые махинации с этими данными, которые на обычном процессоре бы стоили бы порядка десятков гигафлопсов, на выход выбрасывая немного сотни КБайт/с нужных данных на процессор и с процессора получая насчитанные коэффициенты для дальнейшей предобработки.


На это забито 2/3 всех умножителей и большая часть блочной памяти.


Одновременно с этим мне надобно выполнять довольно простые, но вычислительно очень затратные операции, похожие на умножение матриц и Фурье (то есть данных много меньше, чем вычислений). Тут все просто - процессор сыпет данные на плиску и последняя делает эти операции, отсылая назад результат. Для простоты исполнения оба блока засинхронизованы. То есть грубо говоря, если процессору вторая часть не нужна, то все равно на нее нули сыпятся.


То есть на PL примерно 3х10^9 пар синусов и косинусов в секунду (120 умножителей) и где-то около 2x10^10 операций (оставшиеся 50 умножителей) с фиксированной точкой (18 битные умножения и под 50 битные сложения) в секунду выполняется, на PS около 200-500МФлопсов на двойной точности и трафика между ними около 50МБайт.


На PS сидит много прошивок для PL, на данный момент их несколько десятков, но будет больше. В зависимости от задачи плиска конфигурится своей прошивкой, но, понятно, это происходит не часто, но я этой возможностью регулярно пользуюсь.


Греется конечно оно все, но всяко обычный процессор на этой задаче не смог бы уложится в 10 ватт, которые потребляет у меня ADC+PL+PS+LPDDR2 и с десяток их DC-DC, ибо эквивалентная задача под сотню гигафлопсов требует, а в 2000-2003 схожую задачу я гонял на хороших в то время суперкомпьютерах :)

 

Перейти на