Аппаратная реализация квадратного корня?

Я пытаюсь найти немного больше информации для эффективных алгоритмов квадратного корня, которые, скорее всего, реализованы на FPGA. Много алгоритмов уже найдено, но какой, например, от Intel или AMD? Под эффективностью я подразумеваю, что они либо очень быстрые, либо им не нужно много памяти.

РЕДАКТИРОВАТЬ: я, вероятно, должен упомянуть, что вопрос, как правило, является числом с плавающей запятой, и так как большая часть аппаратного обеспечения реализует стандарт IEEE 754, где число представляется в виде: 1 знаковый бит, 8-битная смещенная экспонента и 23-битная мантисса.

Спасибо!

2 ответа

Решение

Не полное решение, но пара указателей.

Я предполагаю, что вы работаете с плавающей запятой, поэтому точка 1 помнит, что с плавающей запятой хранится как мантисса и показатель степени. Показатель квадратного корня будет примерно вдвое меньше показателя исходного числа благодаря логарифмам.

Затем мантиссу можно аппроксимировать с помощью справочной таблицы, а затем вы можете использовать пару раундов Ньютона-Рафсона, чтобы придать некоторую точность результату из LUT.

Я не реализовывал ничего подобного уже около 8 лет, но я думаю, что именно так я и сделал и смог получить результат за 3 или 4 цикла.

Это отличный вариант для быстрого обратного корня.
Посмотрите на это здесь. Обратите внимание, что это в значительной степени о первоначальном предположении, довольно удивительный документ:)

Другие вопросы по тегам