Alex2172 0 12 сентября, 2006 Опубликовано 12 сентября, 2006 · Жалоба Возьмем к примеру LPC2148, 60МГц, программа выполняется из ОЗУ. Например FIR. Сколько инструкций необходимо АРМу чтобы реализовать, например, умножение на коэффициент с накоплением (ну вобщем то же, что ADSP21xx делает за один такт)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
diwil 0 12 сентября, 2006 Опубликовано 12 сентября, 2006 · Жалоба Возьмем к примеру 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 на коэффициент Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DASM 0 12 сентября, 2006 Опубликовано 12 сентября, 2006 · Жалоба поправка или отличие синтакиса ? ldr r5, [r1], #4 ldr r6, [r2], #4 smull r4,r3, r5, r6 ; [r4,r3] += r5*r6 subs r0, r0, #1 bne loop Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
diwil 0 12 сентября, 2006 Опубликовано 12 сентября, 2006 · Жалоба поправка или отличие синтакиса ? ldr r5, [r1], #4 ldr r6, [r2], #4 smull r4,r3, r5, r6 ; [r4,r3] += r5*r6 subs r0, r0, #1 bne loop да, у Вас правильно... я опечатался Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Doka 1 12 сентября, 2006 Опубликовано 12 сентября, 2006 · Жалоба тестирование на задачах ЦОС: http://benchmarks.caxapa.ru/?test=21 вообще на сахаре давно обсуждение было по поводу выполнения задач ЦОС на ARM - грустно у ARM всё с этим :( (по сравнению с чистокровными DSP) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться