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

Производительность ARM7 для цифровой обработки сигналов

Возьмем к примеру LPC2148, 60МГц, программа выполняется из ОЗУ. Например FIR.

Сколько инструкций необходимо АРМу чтобы реализовать, например, умножение на коэффициент с накоплением (ну вобщем то же, что ADSP21xx делает за один такт)?

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


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

Возьмем к примеру LPC2148, 60МГц, программа выполняется из ОЗУ. Например FIR.

Сколько инструкций необходимо АРМу чтобы реализовать, например, умножение на коэффициент с накоплением (ну вобщем то же, что ADSP21xx делает за один такт)?

 

сложный вопрос - зависит от типа умножения (mla, s/umlal).

у ARM7 'early termination' умножитель и количество тактов на умножение зависит от типа второго операнда. Занимает от 3х до 5и тактов.

Так же необходимо помнить, что загрузка коэффициента занимает некоторое время:

- Если это просто умножение на один коэффициент - то нет проблем - он один раз загружается в регистр и все.

- Если (коэффициенты) нужно грузить из памяти, то это 3 такта на каждый коэффициент.

 

Например КИХ фильтр -

r1 - указатель на данные (32 бита)

r2 - коэффициенты

r3 - мл. байт резалта

r4 - старший

 

----------------

mov r0, #Number_of_coeff

loop:

ldr r5, [r1, #4]

ldr r6, [r2, #4]

smal r4,r3, r5, r6 ; [r4,r3] += r5*r6

subs r0, r0, #1

bne loop

----------------

 

Итого тактов:

3

3

5

1

3

 

== 15 на коэффициент

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


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

поправка или отличие синтакиса ?

ldr r5, [r1], #4

ldr r6, [r2], #4

smull r4,r3, r5, r6 ; [r4,r3] += r5*r6

subs r0, r0, #1

bne loop

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


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

поправка или отличие синтакиса ?

ldr r5, [r1], #4

ldr r6, [r2], #4

smull r4,r3, r5, r6 ; [r4,r3] += r5*r6

subs r0, r0, #1

bne loop

 

да, у Вас правильно...

я опечатался

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


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

тестирование на задачах ЦОС: http://benchmarks.caxapa.ru/?test=21

вообще на сахаре давно обсуждение было по поводу выполнения задач ЦОС на ARM - грустно у ARM всё с этим :(

(по сравнению с чистокровными DSP)

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


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

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

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

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

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

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

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

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

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

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