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

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

Отправлено quark 27 июля 2005 г. 09:23
В ответ на: Нет (+) отправлено SM 26 июля 2005 г. 14:55

Собственно, нечего более разумного,
кроме предложенного "yes", придумать так и не удалось..
Тем не менее, справедливости ради, все же приведу фрагмент:

R2 = [P0++] ; read register pair from memory
R0 = 0 ;
R1 = 0 ;
P2 = 16 ; loop counter
CC = R1 ;
loop BitFieldExtract LC0 = P2 ;
loop_begin BitFieldExtract ;
R2 = rot R2 by 1 ;
R1 = rot R1 by 1 ; odd bits
R2 = rot R2 by 1 ;
R0 = rot R0 by 1 ; even bits
loop_end BitFieldExtract ;
// call process_data ;
// swap ac0,ac2 ; swap AC0 & AC2
// call process_data ;
loop BitFieldExpand LC0 = P2 ;
loop_begin BitFieldExpand ;
bitmux(R0,R1,A0)(ASR) ;
loop_end BitFieldExpand ;
A0 = A0 >> 8 ;
R0 = A0.w ;
[P1++] = R0 ; write to output buffer

Кол-во команд:
Load+Extract+Expand+Store = 1+16*4+1+16*1+3 = 85.
Против 11 на TMS.

Если бы в AD догадались сделать команду "bitDEmux()"
или изменить алгоритм работы "bitmux()",
можно было бы уменьшить кол-во команд до 37,
но все равно намного хуже чем TMS.


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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru