|
Обращение матриц на ПЛИС |
|
|
|
 |
Ответов
|
Feb 10 2006, 06:53
|

Местами Гуру
    
Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323

|
Цитата(dxp @ Feb 10 2006, 07:25)  Цитата(Harbour @ Feb 9 2006, 20:48)  Ну-ну ... хотите contest ? Алгоритм в студию (исходник на С например), я делаю на FPGA , Вы на фине. Учтите что данные еще в CPU ввести надо и вывести - а это в пересчете на наны - уйма времени, а FPGA не нуждается в прерываниях и ping-pong буферах, можно и через HPI, но что тогда с пайплайном будет ? Универсальность, то бишь окаменелость, DSP конвейера в том что данные движутся кажный такт в строго определенных направлениях со строго определенной пропускной способностью, т.е. имеем например в каком-нить DSP 2 datapath'а по 256 бит да конвейер на 8 инструкций и кирдык - и вот берем мы наш несчастный алгоритм и под эту arch точим и кромсаем., т.е. негде развернутся в нашем DSP, не до конца он, так сказать, программируемый. В FGPA же совсем другое дело, может чуть помуторней, но это дело привычки.
Знаете, пиписками мериться что-то неохота, да и времени нет. А если хочеться убедиться, то возьмите например простой КИХ фильтр тапа скажем на 32 и сравните. На блекфине это будет два тапа на такт, т.е. при 600 МГц 1200 мегатапов. Да, конечно, еще есть накладные расходы на настройку хардваре луп и дата адрес генератора, но это порядка 5-10 тактов. Такт 1.67 нс, таким образом вычисление очередного отсчета сигнала займет порядка (считаем по наихудшему случаю 10 тактов на инициализацию + 5 тактов на вызов функции и столько же на возврат): (10 + 5 + 5 + 32/2)*1.67нс = 36*1.67нс = 60 нс. И что?! Какая ПЛИС без параллелизма сможет такое? Ну-у ребята, у Вас нечестный подход - FPGA давай без параллелизьму, а мы тут DSP бум юзать по полной. Напоминаю, так сказать, нить рассуждений - des00 говорил об определенном плохо распараллелливающемся алгоритме, который, типа, на DSP будет быстрее чем на FPGA. А меряться с Вами мне неинтересно - я где-то за это время речь жму (ITU compliant G726) на первом циклоне. Цитата Что касается пересылки данных, то сведения об аппаратной поддержке этого процесса, в частности, у черного фина у Вас несколько неверные. Там есть 12-канальный DMA, который позволяет делать пересылки на максимальной скорости совершенно без участия CPU. Хоть с последовательного порта наливайте, хоть с PPI, хоть из внешней памяти во внутреннюю и обратно. Типично, скорость обмена с внешней SDRAM 133 МГц. Т.е. отнимем примерно 1% накладных на рефреш и получим (133-1.33)*16 или порядка 260 мегабайт в секунду (если непрерывно лить, а там все можно так организовать - DMA можно настроить один раз и он будет лить по дескрипторам по кругу). Да ну ! И Вы в состоянии заливающиеся данные по DMA тут же обрабатывать, так сказать в процессе пересылки DMA -> ОЗУ ? Тут одно из двух - или память должна быть 2-портовой в DSP (в фине внутренняя - однопортовая) или нужно обрабатывать данные по времени сразу за DMA, что требует (1) быстрого алгоритма, (2) филигранной отстройки системы. Тут можно сказать что скорость подачи данных будет определять каким сложным может быть алгоритм, т.е. если скорость у нас высокая фин просто ничего не успеет сделать. Цитата И если учесть что младший BF-531 стОит меньше $10 в розницу, то тут множно и подумать, на чем выгоднее делать. Особенно, если учесть, что сложность реализации подобных фильтров на процессоре на порядок (как минимум) меньше, чем на ПЛИС. Да хоть даром пусть его отдают - фирма AD славится своими "достижениями" в области камней и софта, глядя на толщину errata их чипов и уникальность visualdsp как-то становится не по себе. Цитата Резюмируя. Никто не оспаривает того тезиса, что на ПЛИС, при возможности распараллелить и не ограничиваясь по стоимости, всегда можно сделать быстрее. Сказно было лишь то, что последовательлно на проце штатные операции выходят быстрее. И это логично - ведь там тоже железа нехило навернуто - умножитель-аккумулятор, толстые и быстрые шины, быстрое АЛУ и т.д., все это аппаратно на кристале, а не разведено на универсальной логике в ПЛИС. Никакой узел в ПЛИС не может работать быстрее аналогичного узла в аппаратном процессоре, это естественно. Поэтому у ПЛИС преимущества только возможности параллелить и на нестандартных операциях - типа, развернуть слово (чтобы младшие биты стали старшими, а старшие младшими), если проц не поддерживает это на уровне инструкций. Да и со стоимостью все супер. Вобчем где-то оно понятно, как говорят на востоке - в засохшее дерево камней не кидают, это я про DSP
|
|
|
|
|
Feb 10 2006, 07:18
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(Harbour @ Feb 10 2006, 12:53)  Ну-у ребята, у Вас нечестный подход - FPGA давай без параллелизьму, а мы тут DSP бум юзать по полной. Напоминаю, так сказать, нить рассуждений - des00 говорил об определенном плохо распараллелливающемся алгоритме, который, типа, на DSP будет быстрее чем на FPGA. А меряться с Вами мне неинтересно - я где-то за это время речь жму (ITU compliant G726) на первом циклоне. А причем тут это. Я про Фому (про фильтр, т.е.), а Вы про Ерему. В общем, сдаетесь!?  Цитата(Harbour @ Feb 10 2006, 12:53)  Цитата Что касается пересылки данных, то сведения об аппаратной поддержке этого процесса, в частности, у черного фина у Вас несколько неверные. Там есть 12-канальный DMA, который позволяет делать пересылки на максимальной скорости совершенно без участия CPU. Хоть с последовательного порта наливайте, хоть с PPI, хоть из внешней памяти во внутреннюю и обратно. Типично, скорость обмена с внешней SDRAM 133 МГц. Т.е. отнимем примерно 1% накладных на рефреш и получим (133-1.33)*16 или порядка 260 мегабайт в секунду (если непрерывно лить, а там все можно так организовать - DMA можно настроить один раз и он будет лить по дескрипторам по кругу). Да ну ! И Вы в состоянии заливающиеся данные по DMA тут же обрабатывать, так сказать в процессе пересылки DMA -> ОЗУ ? Тут одно из двух - или память должна быть 2-портовой в DSP (в фине внутренняя - однопортовая) или нужно обрабатывать данные по времени сразу за DMA, что требует (1) быстрого алгоритма, (2) филигранной отстройки системы. Тут можно сказать что скорость подачи данных будет определять каким сложным может быть алгоритм, т.е. если скорость у нас высокая фин просто ничего не успеет сделать. Как у Вас все сложно. Память в фине побита на блоки (afair, размером 4Кбайт) и можно спокойно одновременно обращатсья в разные блоки. Пока DMA льет данные в один блок, мы спокойненько лабаем другой, потом меняем местами. Там же тоже не дураки сидят, и фин - это не первый их процессор, прошлые ошибки учтены, новые возможности введены. Цитата(Harbour @ Feb 10 2006, 12:53)  Цитата И если учесть что младший BF-531 стОит меньше $10 в розницу, то тут множно и подумать, на чем выгоднее делать. Особенно, если учесть, что сложность реализации подобных фильтров на процессоре на порядок (как минимум) меньше, чем на ПЛИС.
Да хоть даром пусть его отдают - фирма AD славится своими "достижениями" в области камней и софта, глядя на толщину errata их чипов и уникальность visualdsp как-то становится не по себе. Ну, это вообще уже напоминает анек: "Встречаются лисенок, волчонок и медвежонок. Лисенок: - А мне мать джинсы привезла фирменные, на заклепках, с лейбаками! Во!! Волченок: - А мне батя магнитолу подарил, FM берет, лазерные диски, стерео, долби и все такое! Медвежонок: - А я... а мне... а у меня.... А я вам сейчас 3.14..дюлей дам!"  А если серьезно, то не ошибается тот, кто ничего не делает. Фин - реально сложный проц, в нем помимо CPU еще наворочено ой-ой-ой сколько всякого. И чтобы это все заработало - надо поработать и напрягаться. Сегодня ревизия 0.4 уже вполне юзабельная. Да и в ките, где 0.3 стоит, я на грабли в интересующем меня спектре задач пока не наступал. По поводу уникальности. А не пугает уникальность Quartus'а или ISE? А под фин есть еще гринхиллс и даже, вроде (не проверял), гнутый компилер. С уникальностью тулзов в мире ПЛИС все значительно хуже, нежели в мире процессоров. Цитата(Harbour @ Feb 10 2006, 12:53)  Да и со стоимостью все супер. Вобчем где-то оно понятно, как говорят на востоке - в засохшее дерево камней не кидают, это я про DSP  Этой реплики не понял. Я хотел лишь сказать, что каждому зверю свой лес. И если есть задача, эффетивно решаемая, скажем, на MSP430 или AVR, то ставить туда ПЛИС или DSP по меньшей мере глупо. Кроме того, не одни ПЛИСы развиваются, но и процессоры тоже. И там прогресс весьма нехилый. И зацикливание на одном никогда не шло на пользу ни делу, ни квалификации специалиста.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
Сообщений в этой теме
jojo Обращение матриц на ПЛИС Feb 3 2006, 18:29 cdg ИМХО если не за 1 такт надо, то с ПЛИС и не стоит ... Feb 7 2006, 08:58 jojo Да, я все больше убеждаюсь, что ПЛИС "дороже ... Feb 7 2006, 10:46 cdg В пору аспирантской юности, помнится сталкивался с... Feb 7 2006, 15:26 Harbour На плис проект будет работать все равно быстрее че... Feb 8 2006, 07:35 des00 Цитата(Harbour @ Feb 8 2006, 02:35) На пл... Feb 8 2006, 08:52 Harbour Это правда если сравнивать современные DSP с доист... Feb 9 2006, 09:34 dxp Цитата(Harbour @ Feb 9 2006, 15:34) Это п... Feb 9 2006, 10:57 jojo Думаю, по меньшей мере последние этапы обращения м... Feb 9 2006, 11:17 Harbour Цитата(dxp @ Feb 9 2006, 12:57) Цитата(Ha... Feb 9 2006, 14:48 dxp Цитата(Harbour @ Feb 9 2006, 20:48) Ну-ну... Feb 10 2006, 05:25  des00 Цитата(dxp @ Feb 10 2006, 00:25) И если у... Feb 10 2006, 06:07 des00 Ну в качестве примера, RLE кодирование большого ма... Feb 9 2006, 15:33 Harbour Как по мне так RLE параллелится, это сильно зависи... Feb 9 2006, 18:45 des00 Цитата(Harbour @ Feb 10 2006, 01:53) Как ... Feb 10 2006, 08:09 Harbour Статей про распараллеливание рле полно в инете, во... Feb 10 2006, 10:50 des00 ЦитатаСтатей про распараллеливание рле полно в ине... Feb 10 2006, 11:49 Harbour Цитата(des00 @ Feb 10 2006, 13:49) Тут сл... Feb 10 2006, 12:56 jojo #include <math.h>
Обращение выполняется за ... Feb 10 2006, 13:35 Harbour Прикинул на пальцах Ваши матрицы, вот чего вышло :... Feb 11 2006, 12:46 psL Код-----------------------------------------------... Feb 11 2006, 13:36 jojo В процессоре этап 1 выполняется за 14.3 мкс (7128 ... Feb 11 2006, 17:09 jojo Вытащил из процессора таблицу начальных приближени... Feb 13 2006, 10:53
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|