É verdade que os AVRs ATtiny não têm suporte de hardware para multiplicação? Parece funcionar bem como eu faço multiplicação no meu código. Também incluí o math.he tenho alguns cálculos sin () e cos (). Estou enfrentando uma enorme penalidade de 800 ciclos para esses cálculos, alguém sabe?
9
Respostas:
O ATtiny não possui um multiplicador de hardware, mas a multiplicação de software não é tão cara quanto você sugere. Consulte a nota de aplicação do AVR200 e o código associado para obter algumas rotinas otimizadas de multiplicação e divisão.
Os cálculos de seno e cosseno podem ser acelerados usando tabelas de pesquisa, trocando efetivamente espaço de memória por ciclos do processador. No entanto, como o @DaveTweed apontou corretamente, a aproximação algorítmica do seno e do cosseno no software aumentará a contagem do ciclo para mais perto do alcance que você teme.
fonte
sin()
ecos()
tipicamente envolve várias (3-5) multiplicações, além de acréscimos / subtrações de multiprecisão, dobragem de intervalo etc., para que 800 relógios por chamada de função não sejam irrealistas.