[an error occurred while processing this directive]
Вот оптимизированный math16 бенч для dsPIC - сделай вариант для Thumb, сравним. А по-другому сравнить МК не удастся, это будет сравнение компиляторов
(«Телесистемы»: Конференция 'Микроконтроллеры и их применение')

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

Отправлено =AVR= 15 октября 2005 г. 13:30
В ответ на: ага, мне тоже интересно во сколько раз арм дспик уделает =) отправлено DАSM 15 октября 2005 г. 04:33

Сделал из вот этого сырца:


void main(void)
{
volatile UInt16 result[4];
result[0] = 231;
result[1] = 12;
result[2] = add(result[0], result[1]);
result[1] = mul(result[0], result[2]);
result[3] = div(result[1], result[2]);
return;
}


Вот что получилось:


math16:
mov #231,result0 ;result0=231
mov #12,result1 ;result1=12
add result0,result1,result2 ;result2=result0+result1
mul.uu result0,result2,result1 ;result1=result0*result2
repeat #17 ;Set # of div iterations, =17 for 16-bit div
div.u result1,result2 ;result3=result1/result2
return ;return
;Total exec time = 26 cycles = 0.65 uS @40 MIPS (0.87 uS @30 MIPS). Was 39 cycles (1.5 times slower)
;Code size = 7 words (24-bit)/21 bytes. Was 80 words/240 bytes (11.4 times larger)


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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru