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

Отправлено Romario 09 февраля 2002 г. 13:52
В ответ на: вы хотите сказать что индекное обращение к памяти будет дольше чем вычисления? отправлено net 09 февраля 2002 г. 01:41

выигрыш - есть совокупность скорости выполнения + затраты программной памяти. Тот же пик...
табличка:


мутации с PCLATH (2 команды) 2 пиковских такта
ADDWF PCL операция с PC = 2 пиковских такта
RETLW LITERAL1
RETLW LITERAL2
RETLW LITERAL3
...................

итого без RETLW 4 такта
да притом я не представляю как засунуть таблицу таким способом из 256 entrys. максимум 256-3 = 252 entrys. а для 256 надо дополнительно извращаться - это такты.

Вычислением:


MOVWF tmByte ;
SWAPF tmByte ;
XORWF tmByte,w ;
MOVWF tmByte ;
RLF tmByte ;
RLF tmByte ;
XORWF tmByte,w ;
MOVWF tmByte ;
RLF tmByte ;
XORWF tmByte ;
RET

без RET = 10 пиковских тактов.

для AVR можете сами сравнить (инициализация указателей программной памяти + LPM) по скорости выигрыш будет, но игра свеч не стоит.

Итог (для PIC'а):
навскидку табличку для 256 входов просто так не сделать.
Вывод: стоят мучения с таблицей и 256 программных слов 10 тактов вычисления?:)

p.s. думается высасывать из этой темы больше нечего:)

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

Ответы



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

E-mail: info@telesys.ru