Pregunta

Estoy tratando de encontrar un poco más de información para algoritmos de raíz cuadrados eficientes que probablemente se implementan en FPGA. Ya se encuentran muchos algoritmos, pero ¿cuál es, por ejemplo, de Intel o AMD? Por eficiente quiero decir que son realmente rápidos o no necesitan mucha memoria.

Editar: probablemente debería mencionar que la pregunta generalmente es un número de punto flotante y dado que la mayor parte del hardware implementa el estándar IEEE 754 donde el número se representa como: 1 bit de signo, 8 bits exponentes sesgados y 23 bits Mantissa.

¡Gracias!

¿Fue útil?

Solución

No es una solución completa, sino un par de consejos.

Supongo que estás trabajando en el punto flotante, por lo que el punto 1 recuerda que el punto flotante se almacena como una mantissa y exponente. El exponente de la raíz cuadrada será aproximadamente la mitad del exponente del número original gracias a los logaritmos.

Luego, la Mantissa se puede aproximar con una tabla de búsqueda, y luego puede usar un par de rondas de Newton-Raphson para dar cierta precisión al resultado de la LUT.

No he implementado nada como esto durante aproximadamente 8 años, pero creo que así es como lo hice y pude obtener un resultado en 3 o 4 ciclos.

Otros consejos

Esta es una excelente para la raíz rápida del cuartre inverso.
Échale un vistazo aquí. Observe que se trata de la suposición inicial, un documento bastante sorprendente :)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top