[an error occurred while processing this directive]
Ответ:
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Seishel 15 сентября 2005 г. 08:53
В ответ на: Да уж, большое поле для оптимизации, есть где разгуляться, даже глаза разбегаются(:-) отправлено GM 14 сентября 2005 г. 17:21

На счёт алгоритма: это псевдокод стандарта кодирования речи и я к его разработке ни какого отношения не имею, а о мативах разработчиков по выполнению тех или иных операций я лишь могу догадываться... А моя задача состоит в том что бы это всё реализовать на асме, так что бы результаты полностью совпадали, то есть все выходные данные с точностью до последнего знака в точности совпадали...
А вот о моей тупости по поводу того что умножить на 2 это тоже самое что и сложить 2 раза, а следовательно сдвиг влево можно заменить двумя сложениями - возражения принимаются. Но тут есть своё НО, содержимое Т нельзя увеличить в 2 раза, так как в нём может произойте переполнение, чего бы крайне не хотелось... Поэтому необходимо применить 2 МАКа, то есть:

ldr *ar3,16,a ;1 – acc=ATMP(IP)<<16+4000h
mac *ar2,a ;3 - acc=acc+(RC*ATMP(IB)+(RC*ATMP(IB)
mac *ar2,a
bc lab2,anov ;5 - If AA0 overflowed...
...
lab4:
...
sth a,*ar3+ ;1 - ATMP(IP)=ah

Экономия составляет не по 4 цикла на аккумулятор, а всего по 2 (к стати в вашем случае программы экономия составит не 10000, а всего 5000 так как съекономили по 4 МЦ на аккумулятор и в общей сложности 8*625=5000МЦ), то есть только (2+2)*625=2500МЦ. Совсем не Весело...
Но и на этом спасибо, как говорится спасибо за идею...
Я ещё маленько намутил, применив вместо BC команду BCD, в следствии чего ещё маленько МЦ получилось отыграть....

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru