реклама на сайте
подробности

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> ADSP2181 v/s AT91SAM7S64
Stas633
сообщение Apr 15 2007, 20:57
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 105
Регистрация: 6-01-06
Пользователь №: 12 901



Не имея опыта работы ни с тем ни с другим, хочу узнать ваше мнение.

Насколько сопоставимы (если такое сравнение вообще возможно) эти МП по производительности при обработке "сигналов"? В частности - БПФ.

И вообще почему МП называется "сигнальным"? Если из-за "оптимизации для обработки", то в чём эта оптимизация выражается? (если только (для21хх) в наличии 40 битного регистра для хранения результата умножения 16-битных множителей... )

В общем, помогите утвердится во мнении, что ARM7 "круче" ADSP21хх.

Известно, что при примерно одинаковой стоимости:
ADSP - AT91
16р - 32р(16)
ПДП - ПДП
нет - USB,UART,АЦП....
80kSRAM - 16k...
... ну и д.т.
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Apr 15 2007, 21:28
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



ARM общего применения. DSP оптимизирован под обработку сигналов.
(умножение с накоплением итд). Вобщем надо смотреть ядра.

Единственное, что надо учесть, что AT91SAM7S* вещь в себе, а ADSP21* нужна еще внешняя память из которой он будет грузиться.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
Stas633
сообщение Apr 15 2007, 22:27
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 105
Регистрация: 6-01-06
Пользователь №: 12 901



Цитата(beer_warrior @ Apr 15 2007, 22:28) *
ARM общего применения. DSP оптимизирован под обработку сигналов.
(умножение с накоплением итд). Вобщем надо смотреть ядра.

Единственное, что надо учесть, что AT91SAM7S* вещь в себе, а ADSP21* нужна еще внешняя память из которой он будет грузиться.


Спасибо.

Прочитал вот ЭТО (про DSP), и думаю, что для относительно "простых" проектов по обработке сигналов подойдет и ARM (то же умнож. со слож. в "нем" есть), а если "встроенной" памяти программ/данных не хватает из-за "сложности" (объемности) проекта, то есть смысл применять DSP.
Спасибо еще раз.

Сообщение отредактировал Stas633 - Apr 15 2007, 22:29
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Apr 16 2007, 00:16
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(Stas633 @ Apr 15 2007, 21:57) *
Не имея опыта работы ни с тем ни с другим, хочу узнать ваше мнение.

Насколько сопоставимы (если такое сравнение вообще возможно) эти МП по производительности при обработке "сигналов"? В частности - БПФ.

И вообще почему МП называется "сигнальным"? Если из-за "оптимизации для обработки", то в чём эта оптимизация выражается? (если только (для21хх) в наличии 40 битного регистра для хранения результата умножения 16-битных множителей... )

В общем, помогите утвердится во мнении, что ARM7 "круче" ADSP21хх.
Попробую разубедить Вас в Вашем заблуждении.
Сигнальные процессоры изначально создавались для того, чтобы обрабатывать непрерывно поступающие потоки данных в реальном времени. ADSP-2181 относится именно к такому классу приборов. "Универсальные" ARM-ы - нет. При их создании, как мне кажется, сделан упор на максимальную простоту архитектуры (и дешевизну реализации ядра в на кристалле), что повлекло за собой целый ряд неизлечимых болезней. Поэтому, ADSP-2181 уделает ARM7 по производительности в несколько раз на всех практически мыслимых задачах сигнальной обработки (даже для операндов повышенной разрядности), в том числе и на БПФ. Это определяется следующими основными факторами:
1. ADSP-2181 - это "честный" однотактовый процессор. Все без исключения команды выполняются за 1 машинный цикл, равный одному такту внешнего генератора (на самом деле, внутри процессора за это время выполняются четыре фазы внутреннего генератора, но об этом пользователю знать не обязательно).
2. ADSP-2181 имеет аппаратные стеки, поэтому вызов процедур, вложение циклов, прерывания в нём выполняются максимально быстро.
3. ADSP-2181 имеет мощную систему адресации памяти, которая ARM-у и не снилась.
4. ADSP-2181 допускает распараллеливание операций вычисления и загрузки/сохранения данных, что для ARM-а не предусмотрено.
5. ADSP-2181 обеспечивает аппаратную поддержку циклов (накладные расходы на зацикливание - 0 тактов). Для ARM-а же это весьма больной вопрос.
6. Практически все команды процессорной арифметики в ADSP являются условными (накладные расходы на проверку условий - 0 тактов).
7. ADSP, в отличие от ARM-а, имеет очень быстрые внутренние и внешние шины команд/данных; кроме того, их больше, чем в ARM-е.
Это ещё далеко не всё, но и приведённого выше достаточно, чтобы сказать определённо: если хотите заниматься обработкой сигнала, об ARM-ах лучше забыть. Для этого больше подходят DSP, зачастую в связке с ПЛИС.
Правда, применять ADSP-2181 я не советую - Analog Devices несколько лет тому объявила о завершении поддержки всего семейства (а цена на эти процессоры сейчас вовсе ни деццкая). Лучше использовать BlackFin от AD, или TMS320C... от Texas Instrumrnts. Фин по соотношению производительность/цена, насколько я знаю, сейчас опережает всех конкурентов, и, кроме того, несёт богатую типично "микроконтроллерную" периферию, что позволяет с успехом использовать его в задачах управления. Поэтому, теперь уже любой ARM на любом классе задач уделывается BlackFin -ом по производительности со свистом (исключение могут составить только операции с плавающей точкой, при сравнении BF с ARM-ом, имеющим FPU, да поддержка ОСей, требующих MMU).


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Stas633
сообщение Apr 16 2007, 00:52
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 105
Регистрация: 6-01-06
Пользователь №: 12 901



Цитата(Stanislav @ Apr 16 2007, 01:16) *
...
Сигнальные процессоры изначально создавались для того, чтобы обрабатывать непрерывно поступающие потоки данных в реальном времени. ADSP-2181 относится именно к такому классу приборов. "Универсальные" ARM-ы - нет. При их создании, как мне кажется, сделан упор на максимальную простоту архитектуры (и дешевизну реализации ядра в на кристалле), что повлекло за собой целый ряд неизлечимых болезней.....
....
и т.д.



Нда... Все не так однозначно как я думал... sad.gif

Спасибо.
Go to the top of the page
 
+Quote Post
d__
сообщение Apr 16 2007, 12:17
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 26-08-04
Пользователь №: 548



Ой насмешил! И лапши стока на уши навешал!
...
2. ADSP-2181 имеет аппаратные стеки, поэтому вызов процедур, вложение циклов, прерывания в нём выполняются максимально быстро.
...
А регистр LR забыт? Сверхбыстрый одноуровневый стек.
...
3. ADSP-2181 имеет мощную систему адресации памяти, которая ARM-у и не снилась.
...
Ой ой ой! Предьявите для сравнения!
...
6. Практически все команды процессорной арифметики в ADSP являются условными (накладные расходы на проверку условий - 0 тактов).
...
Не надо ля-ля. Вы бы почитали лучше книжку по ассемблеру АРМ, а потом гнали волну. Все команды АРМа имеют в себе префикс условного выполнения что в большинстве случаях позволяет обходиться без команд условных переходов...
Что же касается вызовов прерываний то практически все доступные на рынке АРМ обладают такой конструкцией блоков прерываний, которая позволяет переходить на подпрограмму прерывания за одну команду:
ldr PC,[PC,#-0xF20]
Просто надо уметь пользоваться этим механизмом...
И так во многом остальном.
Никто не утверждает что это идеально ровный процик для ДСП, но может быть использован как дешевая альтернатива в универсальных приборах с функциональностью ДСП.
Go to the top of the page
 
+Quote Post
mse
сообщение Apr 16 2007, 13:01
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693



Цитата(d__ @ Apr 16 2007, 13:17) *
...
Ой ой ой! Предьявите для сравнения!
...

ну, например, команды МАС с аппаратным циклом и аппаратным-же доступом к двум цыкл. буферам и авто-инк-дек на нужное число. Т.е. С=С+А(j)*В(i),i+n,j+n. Все дела за такт. У гольного АРМа такого не найдёте. Мож в сопроцессоре каком только. А уж взять какого БлэчьегоФинна, так там такого барахла аж 2 шт. Да на 400-600МГц. Флэши, ессно, нет. С флэшей тока 320Ф28хх какие.
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Apr 16 2007, 13:06
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Вообще-то наиболее оптимальна связка DSP-ARM.
ARM крутит на себе операционку и внешние интерфейсы.
DSP работает в режиме сопра.
Связка очень распостраненная и последнее время выпускаемая в виде однокристальных решений.(например OMAP).


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
dxp
сообщение Apr 16 2007, 16:07
Сообщение #9


Adept
******

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



Цитата(mse @ Apr 16 2007, 17:01) *
А уж взять какого БлэчьегоФинна, так там такого барахла аж 2 шт. Да на 400-600МГц. Флэши, ессно, нет. С флэшей тока 320Ф28хх какие.

У финов уже тоже флешь заявлена. smile.gif

Цитата(beer_warrior @ Apr 16 2007, 17:06) *
Вообще-то наиболее оптимальна связка DSP-ARM.
ARM крутит на себе операционку и внешние интерфейсы.
DSP работает в режиме сопра.

И ничем это не лучше, если проц умеет одинаково хорошо и то, и другое.

Цитата(beer_warrior @ Apr 16 2007, 17:06) *
Связка очень распостраненная и последнее время выпускаемая в виде однокристальных решений.(например OMAP).

Если уж на то пошло, то двухядерный проц (BF561) справляется с этим ничуть не хуже - так же можно сделать: одно ядро под осью управлением занимается, другое - поток данных обрабатывает. С той и другой задачей ядро справляется одинаково хорошо.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Apr 16 2007, 18:13
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(d__ @ Apr 16 2007, 13:17) *
Ой насмешил! И лапши стока на уши навешал!
Поаккуратнее в выражениях, милейший.
...
Цитата(d__ @ Apr 16 2007, 13:17) *
2. ADSP-2181 имеет аппаратные стеки, поэтому вызов процедур, вложение циклов, прерывания в нём выполняются максимально быстро.
...
А регистр LR забыт? Сверхбыстрый одноуровневый стек.
И далеко вы с ним уедете? biggrin.gif
К Вашему сведению, у ADSP-2181 аж 4 аппаратных стека, работающих параллельно. Максимальная глубина вложения их достаточна для решения типичных ДСПшных задач (для поддержки ЯВУ и ОСей этот проц не предназначен).
...
Цитата(d__ @ Apr 16 2007, 13:17) *
3. ADSP-2181 имеет мощную систему адресации памяти, которая ARM-у и не снилась.
...
Ой ой ой! Предьявите для сравнения!
MR=MR+MX0*MY0 (SS), MX0=DM(I0, M0), MY0=PM(I4, M4);
Это одна команда, уважаемый. Выполняется за один такт. А теперь напишите то же самое для ARM7, и посчитаем такты. biggrin.gif
Да, кстати, буферы в DM и PM могут быть циклическими (накладные расходы на зацикливание - 0 тактов), и указатели модифицируются на произвольную величину. Ну-ка посчитайте, сколько это займёт у АРМа... biggrin.gif

Цитата(d__ @ Apr 16 2007, 13:17) *
6. Практически все команды процессорной арифметики в ADSP являются условными (накладные расходы на проверку условий - 0 тактов).
...
Не надо ля-ля. Вы бы почитали лучше книжку по ассемблеру АРМ, а потом гнали волну. Все команды АРМа имеют в себе префикс условного выполнения что в большинстве случаях позволяет обходиться без команд условных переходов...
Вы что-то хотели возразить, милейший? Или всё же соизволите заглянуть в Hardware Ref. Man. для ADSP?

Цитата(d__ @ Apr 16 2007, 13:17) *
Что же касается вызовов прерываний то практически все доступные на рынке АРМ обладают такой конструкцией блоков прерываний, которая позволяет переходить на подпрограмму прерывания за одну команду:
ldr PC,[PC,#-0xF20]
Просто надо уметь пользоваться этим механизмом...
И так во многом остальном.
Умейте, дорогой, умейте. smile.gif
А давайте посчитаем теперь всё в тактах? Учтите, что ADSP на переход к процедуре прерывания не требует никаких дополнительных команд. А также имеет теневой набор регистров. biggrin.gif

Цитата(d__ @ Apr 16 2007, 13:17) *
...Никто не утверждает что это идеально ровный процик для ДСП, но может быть использован как дешевая альтернатива в универсальных приборах с функциональностью ДСП.
Простите, уважаемый, а Вы вопрос темы внимательно прочитали, али как?



Цитата(beer_warrior @ Apr 16 2007, 14:06) *
Вообще-то наиболее оптимальна связка DSP-ARM.
ARM крутит на себе операционку и внешние интерфейсы.
DSP работает в режиме сопра.
Связка очень распостраненная и последнее время выпускаемая в виде однокристальных решений.(например OMAP).
По-моему, ядро ARM здесь явно лишнее. smile.gif Ну, или нужно только для совместимости.


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Dopler
сообщение Apr 16 2007, 20:13
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425



И еще в поддержку Stanislav'а и ADSP.

Только что была задача - необходимо принимать SPI на частоте 50 МГЦ и выдавать через второй SPI. ADSP c этим справится легко, достаточно адекватно настроить автобуфферизацию у SPORT. Решили сделать на SAM7x256, используя DMA. Так вот, на такой частоте тактов SAM не работает вообще, при тактах 25 МГЦ работает еле-еле со сбоями.

У BF единственная проблема - довольно трудно поднять разработку с нуля. Отладочные средства стоят дорого, про студию я вообще молчу. Да и корпус BGA в нашем захолустье применять проблематично. Но платиь за ADSP-2188 1500 рублей дороговато.
Go to the top of the page
 
+Quote Post
el34
сообщение Apr 16 2007, 20:22
Сообщение #12


инженер
****

Группа: Свой
Сообщений: 717
Регистрация: 4-03-05
Пользователь №: 3 064



>Да и корпус BGA в нашем захолустье применять проблематично.

есть и в фага (в фпга есть даже sharc)

>Но платиь за ADSP-2188 1500 рублей дороговато.

насколко помню BF начального уровня ~17 зеленых

>У BF единственная проблема - довольно трудно поднять разработку с нуля.

ну уж точно не сложнее чем арму....( я думаю проще )


--------------------
........поужинали вяленой рыбой, кот лежал рядом, молчали.......
Go to the top of the page
 
+Quote Post
mse
сообщение Apr 16 2007, 21:33
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693



Цитата(Dopler @ Apr 16 2007, 21:13) *
Отладочные средства стоят дорого, про студию я вообще молчу. Да и корпус BGA в нашем захолустье применять проблематично. Но платиь за ADSP-2188 1500 рублей дороговато.

Какое-то у вас захолустное захолустье. 1500р за ДСП. Это если в милитари чтоль? Типичный БФ млачшенький $10-12. Это 800Мгц, кажысь. Или в каких попугаях они их нормируют...
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Apr 16 2007, 21:58
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(Dopler @ Apr 16 2007, 21:13) *
...У BF единственная проблема - довольно трудно поднять разработку с нуля. Отладочные средства стоят дорого, про студию я вообще молчу. Да и корпус BGA в нашем захолустье применять проблематично. Но платиь за ADSP-2188 1500 рублей дороговато.
Корпуса у ADSP-BF531 и 532 есть и TQFP, паяются в полпинка.
Переход же на БГА неизбежен, яко гибель капитализьму. Придётся привыкать, или рискуете отстать в элементной базе от конкурентов...
ADSP-21xx действительно дороги. Такая уж политика у фирмы - за устаревшие вещи платить приходится сполна. sad.gif
Поднять с нуля проэкт на BF вовсе не проблематично, даже в одиночку - говорю по своему опыту. Реализация как аппаратной, так и программной части не составила особого труда.
Если фирма серьёзная, и рассчитывает на серийное производство, то и на средства разработки потратиться не грех. Впрочем, существуют и менее "затратные" методы. smile.gif


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Tahoe
сообщение Apr 16 2007, 22:00
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 459
Регистрация: 30-03-06
Из: Москва
Пользователь №: 15 600



Цитата(Dopler @ Apr 16 2007, 21:13) *
Только что была задача - необходимо принимать SPI на частоте 50 МГЦ и выдавать через второй SPI. ADSP c этим справится легко, достаточно адекватно настроить автобуфферизацию у SPORT. Решили сделать на SAM7x256, используя DMA. Так вот, на такой частоте тактов SAM не работает вообще, при тактах 25 МГЦ работает еле-еле со сбоями.

In Master Mode, the SPI Interface uses a modulus counter to derive the SPCK baud rate from the Master Clock MCK. The Baud rate is selected by writing a value from 1 to 255 in the SCBR field. The following equations determine the SPCK baud rate:
SPCK Baudrate = MCK / SCBR
Programming the SCBR field at 0 is forbidden. Triggering a transfer while SCBR is at 0 can lead to unpredictable results.


Так что это не сбои, а тот самый, упомянутый выше, "непредсказуемый результат". Ну и причём тут Алмел?
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 5th July 2025 - 14:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01523 секунд с 7
ELECTRONIX ©2004-2016