Kolja (04.02.2004 17:18, просмотров: 579)
Ответ: 2 SM: fir + ARM Блин, тоже пришлось на ARM делать fir :)
Результаты не утешительные, но всё-же:
// 82 for(cntr=901;cntr!=0;cntr--)
MOV R12,#+0x385
// 83 {
// 84 s+=(((*src++))*((*koeff++)));
??fir_1:
LDR R1,[R2], #+4 // 2 cyc
LDR R4,[R3], #+4 // 2 cyc
MLA R0,R4,R1,R0 // если 16х16, то 4 сус
// 90 }
SUBS R12,R12,#+0x1 // 1 cyc
BNE ??fir_1 // 1 cyc
Проверка переполненния указателя циклического буфера не производится, зато фильтр выполняется 2 раза,
от текущего указателя, до конца, а потом от начала до указателя-1
Это сущщественно уменьшает время выполнения.
Хотя это уже не актуально, но может пригодится.