Перейти к содержанию
    

Почему DSP процессор для не DSP работы ?

Я на форуме относительно новичок, да и с цифровой обработкой сигналов имею дело пока только в академически рамках, посему мое недоумение вполне может показаться наивным, но все таки...

 

Я обратил внимание многие на форумах тут озадачиваются подбором DSP процессоров для целей далеких от цифровой обработки сигналов как таковой. Я так понима вся сила и преймущества DSP процессоров в их специфике работы под задачи свойственные цифровой обработке сигналов, например наиболее употребимые вещи такие как цифровые фильтры (FIR, IIR), частотный анализ (DFT/FFT/SFFT), корреляции,

фильтр банки, специализированные виды обработки (например узкополосные фильтр банки с DWT и им подобные) и т.д.

Реализация этих вещей на практике сводится к очень большому числу однотипных математическхи операций которые часто съедают серьезные ресурсы (по скорости обработки например) у обычных процессоров, посему архитектура DSPшных процессоров заточена на такие цели. Наиболее распростарненный пример такого например специальные ассмблерные инструкции такие как MAC которые осуществляют наиболее употребимую в цифровой фильтрации, FFT и им подобным процедуру умножения и сложения за один такт и им подобные.

 

Однако я замечаю многие на форумах озадачиваются DSP процессорами для работ не имеющих отношения к DSP как таковой.

В чем причина ?

Мне кажется для многих вещей не имеющих отношения к обработке сигналов либо к другим тяжелым математическим работам подошел бы какой-нить контроллер - они весьма дешевы, доступны и достаточно легки в программировании...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Потому что за ту же цену получаете в принципе более мощный процессор (сравните например АРМ и какой нибудь ДСП на обычной ф-ции memcpy. ДСП потратит 1 такт на 1 слово. АРМ - сколько? Тормоз он и есть тормоз). ДСП-процессор программировать ни чуть не легче и не сложнее любого другого. Ассемблер у них как правило удобен и понятен, С-компиляторы есть. Он не-ДСП задачи решает не хуже, а в 99% случаев лучше (по кол-ву потраченных тактов), чем процессор общего назначения. Так почему не использовать? И кто Вам сказал такую жестокую неправду, что ДСП-процессор сложнее в программировании? Это точно такой же процессор, как и не-ДСП, но просто умеющий плюс к основным функциям проца общего назначения очень шустро делать некоторые специфические операции.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну если за ту-же цену, то логика есть. Мне казалось DSPшные процессоры в среднем дороже контроллеров схожих поколений...

Мне (в принципе в следствии отсутствия персонального опыта) казалось так-же что программирование DSP будет посложнее чем контроллера или процессора общего назначения.

Сейчас вот изучаю азы имплементации обрабоатки сигналов в среде TI с целью имплементации моего алгоритма определенной обработки аудио (фактически мой дипломный проэкт), вижу что пока вроде (на элементарном уровне) работа с кодом C и ассемблером - действительно не срашнее обычного контроллера/процессора общего назначения...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если считать на поколения, то, наверно, дороже. А если посмотреть на мипсы и имеющийся на борту объем памяти, то сильно дешевле. Попробуйте найти контроллер на 200 мипсов с 256К байт RAM - так его нет ни за какие деньги в одном кристалле. А чтобы еще кушал немного электричества... А у TI - запросто.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну если за ту-же цену, то логика есть. Мне казалось DSPшные процессоры в среднем дороже контроллеров схожих поколений...

 

А вы цену сравнивайте у процессоров с примерно одинаковой производительностью, объемами ОЗУ и т.п. А не поколения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...

В чем причина ?

Мне кажется для многих вещей не имеющих отношения к обработке сигналов либо к другим тяжелым математическим работам подошел бы какой-нить контроллер - они весьма дешевы, доступны и достаточно легки в программировании...

Скажу по своему опыту. Мы ставим DSP (и желательно помощнее :)) куда следует и не следует. Причин несколько:

1. Проще программировать с той точки зрения, что не надо под каждую платформу средства отладки, ПО, время на освоение и т.п.

2. Всегда хочется иметь запас по ресурсам.

3. В специфике некоторых направлений работы есть такой документ, как список разрешенной к применению элементной базы. Проще (и дешевле) пробить меньшую номенклатуру камней.

4. Ну и так сложилось, что ограничения на стоимость не являются критичными, поэтому некоторая дороговизна мощных DSP не отталкивает.

 

Что касается сложности программирования... DSP на мой взгляд сложнее. Например, если сравнить ARM7 и, допустим, C64x, то разумеется на освоение второго надо на порядок больше времени (проверял самостоятельно :)). Это связано с несколькими причинами: периферия у 64-х гораздо более гибкая, надо много чего учитывать, высокопроизводительное ядро имеет много тонкостей типа кэша, параллельных вычислений и т.п., ну и т.д.

Но! "Попробовав раз -- ем и сейчас". Освоив однажды, проще (и эффективней с точки зрения глубины освоения) сидеть на одной платформе. Главное не впадать в крайности :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне представляется, что на задачах логического программирования сигнальники может статься и не проиграют по скоростям, но уж по объему кода проиграют в разы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне представляется, что на задачах логического программирования сигнальники может статься и не проиграют по скоростям, но уж по объему кода проиграют в разы.

 

Известное заблуждение. Например если сравнивать 55-й TMS и ARM. У TMS код в среднем компактней.

 

Что касается сложности программирования... DSP на мой взгляд сложнее. Например, если сравнить ARM7 и, допустим, C64x, то разумеется на освоение второго надо на порядок больше времени (проверял самостоятельно :)).

 

С этим не поспоришь. Но это и процессоры абсолютно несравнимого уровня :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В посте много обсуждалось разных причин использования DSP процессороввместо GPU, но надо

добавить одну тоже немаловажную (в порядке самокритики) - лень разработчика :) . Освоив один камень и выловив его глюки, очень тяжело заставить себя перескочить на другое CPU. Программировал на 64х, а следующий проект на 8051, это как пересадка с формулы-1 на самокат, подсознательно ищешь причину взять побыстрее DSP и все за 2 дня закончить :biggrin: .

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В посте много обсуждалось разных причин использования DSP процессороввместо GPU, но надо

добавить одну тоже немаловажную (в порядке самокритики) - лень разработчика :) . Освоив один камень и выловив его глюки, очень тяжело заставить себя перескочить на другое CPU. Программировал на 64х, а следующий проект на 8051, это как пересадка с формулы-1 на самокат, подсознательно ищешь причину взять побыстрее DSP и все за 2 дня закончить :biggrin: .

 

Да, это мне кажется весьма реально...увы.. :)

Тогда прймущество у того кто вначале осваивает более простые/дешовые процессоры, учиться укладыватся в как можно меньше ресурсов, а затем уже, по мере реальной надобности переходить на более серьезные "машинки". Тогда у опыт будет разносторонный может быть более подходящий для достижения лучшего price/performance в каждой кокретной апликации...

Все конечно IMHO...

 

Я вообще не привык к такому универсально-мощно-DSPшному подходу работая в соотв. индустрии у нас в стране (хотя я не DSPшник - я системщик). У нас обычно стараются подбирать типы/виды CPU под тип задач под конкретные апликации - все это с целью добиться price/performance. Обычно не стремятся к большим запасам производительности в плане "так, на всякий случай" когде не предполагается соотв. расширение прозводительности на тойьже базе hardware, ибо такой подход удорожает себестоимость (а значит и продажную стоимость что не есть хорошо).

С другой стороны у нас тоже свойственен подход к re-use даже там где это не оправвдано технически , но оправдано в плане time-to-market. Т.е. например в прошлых проэктах требующих больших вычислительных мощностей использовали мощные/относительно не дешевые DSP, новый-же проэкт не требует таких производительных мощностей, но все равно первым делом будут рассматрвиать вариант использования прошлого процессора к которому привыкли, на который у инженеров скопулся немалыйй опыт а значти реализуя на котором можно серьезно сократить time-to-market показатель, даже ежели ресуры этого процессора будут использованы всего на 30-40% в новом проэкте. Естественно, при условии что его себестоимость фирме не слишком высока относительно требований проэкта...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

price/performance - бред, всё зависит от количиства штук. Извините старьё достать для 1к коробочек не так то и просто.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

price/performance - бред, всё зависит от количиства штук. Извините старьё достать для 1к коробочек не так то и просто.

 

Ну во первых начните пожалуй "price/performance - бред IMHO" ибо это ваше мнение, не более того.

Я говорю о реальности индустрии в которой 8 лет кручусь. Когда не говориться о продукции люксусного ранга - тут price/performance играет первостепенную роль. Ориентация на проэктируемую партию (те. кол-во) - это ессно часть фактора price/performance.

Я работал как системщик (т.е. board design) в и области проэктирования цельных систем и в области ASICs.

В псоледней идет борьба за каждый цент - если можно съэкономить цент без ощутомой потери качетсва/призводительности - за это горло перегрызут, ибо конкуренция задавит.

С другой стороны, как-то работал в фирме продукт которой была систем обработки видео в реальном времени, очень тяжелые алгоритмы, система раасчитана на работу в телестудиях во время вещания спортивных програм (клеила виртуальную рекламу на фубольные поля, тенисные корты и т.д.) - там требования по качетсву сигнала были очень жестокие (и без них не пустят ни в какую студию), посему не скупились на дорогую элементную базу и сам дизайн. Но там сама hardware было единично, там было борты с 6 дорогущими на то время SHARKs и т.д..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Взять тот же Blackfin 532 - 400МГц, можно SDRAM подключить, корпус паябельный и стоит недорого. Для некотрых устройств может оказаться весьма неплохим процессором общего назначения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В последнее время вообще наметилась конвергенция идеологий - ядра новых процессоров общего назначения становятся всё более DSP-шными (AVR32, например), а DSP стремительно обрастают периферией (ADSP-BF). Это говорит о том, что DSP-шная концепция ядра эмбеддед процессора становится всё более предпочтительной среди разработчиков. ИМХО, она вообще является наиболее правильной для практически любых типов процессоров.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...