¿Es cierto que los AVR ATtiny no tienen soporte de hardware para la multiplicación? Parece funcionar bien mientras hago multiplicaciones en mi código. También he incluido math.h y tengo un par de cálculos sin () y cos (). ¿Me estoy encontrando con una multa enorme de 800 ciclos por estos cálculos, alguien lo sabe?
9
Respuestas:
El ATtiny no tiene un multiplicador de hardware, pero la multiplicación de software no es tan costosa como implica. Consulte la nota de aplicación AVR200 y el código asociado para ver algunas rutinas de multiplicación y división optimizadas.
Los cálculos de seno y coseno se pueden acelerar utilizando tablas de búsqueda, intercambiando efectivamente el espacio de memoria para los ciclos del procesador. Sin embargo, como señaló correctamente @DaveTweed, la aproximación algorítmica de seno y coseno en el software empujará el conteo del ciclo más cerca del rango que temes.
fuente
sin()
ycos()
típicamente involucra varias (3-5) multiplicaciones, más sumas / restas de multiprecisión, plegamiento de rango, etc., por lo que 800 relojes por llamada a la función no es poco realista.