ATtiny: ¿no hay soporte para la multiplicación?


9

¿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?


use tablas de búsqueda para trig e interpolación lineal si desea una mejor resolución (con un error tolerable)
vicatcu

Respuestas:


12

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.


55
La aproximación polinómica para sin()y cos()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.
Dave Tweed

@DaveTweed: Gracias, buen punto. Editado para aclarar.
Scott Winder
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.