[an error occurred while processing this directive]
По быстродействию(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено oll 08 мая 2005 г. 06:55
В ответ на: А исполняется программа насколько быстрее? отправлено Bill 07 мая 2005 г. 21:33

приблизительно одинаково,
использовал прерывание от таймера 0 - так Васик сделал вначале обработки прерывания push всех 32 регистров (r0-r31) а в конце соответсвенно pop,
похоже размер у Васика больше потому что слабоватая оптимизация - постоянно встречаются одинаковые конструкции, когда Кодевижен одинаковые вынес в подпрограммы, даже если вызываются 2 раза.
Разница по размеру с пиком, я посмотрел происходит, потому что операции с переменными (которые находяться в RAM) происходят так - переменная (допустим 16 бит) вначале загружается в регистровую пару, с парой делается нужная операция (тут с математикой у АВР лучше) и затем пара регистров запихивается обратно в RAM. У 16 пиков нет RAM - там любые операции делаются только с регистрами, правда есть неудобство - банки, хотя если используется компилятор - сам все сделает.

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

Ответы


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

Имя (обязательно): 
Пароль: 
E-mail: 

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

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

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


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

E-mail: info@telesys.ru