реклама на сайте
подробности

 
 
> Float-ядро для double операций, Как использовать Float-ядро для double операций
AlexeyT
сообщение Nov 16 2013, 11:18
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 45
Регистрация: 5-06-07
Пользователь №: 28 207



Ожидаем поставку процессора с ядром Cortex-M4F с аппаратно реализованными операциями с плавающей точкой (32-битные float).

Точности float для некоторых наших вычислений недостаточно, приходится использовать 64-битный double.

Вопрос - есть ли способ использовать float-сопроцессор для операций формата double? Хотя бы для самых простых - сложение и вычитание?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение Nov 18 2013, 17:33
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



число дабл - это мантисса + порядок.
если его разложить на 2 числа

младшая часть мантисы и порядок
и старшая часть мантисы и увеличенный порядок

то есть как бы число и уточнение, это позволит уменьшить длину мантисы

далее полученные числа представить в виде флотов, перемножить их, а потом собрать даблы обратно (что собственно и делается в подпрограмме перемножения даблов), то естественно для процессора с поддержкой плавающей точки и умножителем флотов будет выигрыш и в случае перемножения даблов.

я в чем то не прав?

Go to the top of the page
 
+Quote Post
AlexeyT
сообщение Nov 18 2013, 19:37
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 45
Регистрация: 5-06-07
Пользователь №: 28 207



Цитата(etoja @ Nov 18 2013, 16:19) *
Вы в своём алгоритме скобки правильно расставьте и иногда масштабирование делайте. Так работают алгоритмы цифровой обработки сигналов .


Разрешите не понять?



Цитата(Golikov A. @ Nov 18 2013, 21:33) *
число дабл - это мантисса + порядок.
если его разложить на 2 числа

младшая часть мантисы и порядок
и старшая часть мантисы и увеличенный порядок

то есть как бы число и уточнение, это позволит уменьшить длину мантисы

далее полученные числа представить в виде флотов, перемножить их, а потом собрать даблы обратно (что собственно и делается в подпрограмме перемножения даблов), то естественно для процессора с поддержкой плавающей точки и умножителем флотов будет выигрыш и в случае перемножения даблов.

я в чем то не прав?



Во-во! Вот и я надеялся найти подсказку по алгоритму представления double числа в виде какой-то комбинации двух float. Как, например, операции для __int64 представляются в виде комбинаций обычных 32-битных int.

Сообщение отредактировал AlexeyT - Nov 18 2013, 19:42
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- AlexeyT   Float-ядро для double операций   Nov 16 2013, 11:18
- - scifi   Цитата(AlexeyT @ Nov 16 2013, 15:18) Вопр...   Nov 16 2013, 12:18
- - fatlortroll   Цитата(AlexeyT @ Nov 16 2013, 15:18) Вопр...   Nov 16 2013, 17:25
- - Rst7   QUOTE Вопрос - есть ли способ использовать float-с...   Nov 16 2013, 21:51
- - vlad_new   А я не знал что незяяяяя. Взял и включил сопр. В и...   Nov 17 2013, 02:01
|- - AlexeyT   Цитата(vlad_new @ Nov 17 2013, 06:01) А я...   Nov 17 2013, 07:14
|- - vlad_new   Цитата(AlexeyT @ Nov 17 2013, 11:14) Эвон...   Nov 17 2013, 14:48
- - SII   Как видим, для деления вызывается подпрограмма, чт...   Nov 18 2013, 06:37
- - etoja   Цитата(AlexeyT @ Nov 16 2013, 15:18) Ожид...   Nov 18 2013, 12:19
|- - jcxz   Цитата(Golikov A. @ Nov 18 2013, 23:33) я...   Nov 19 2013, 06:53
- - Golikov A.   ну вот так как-то (А+B ) * (D + C) = AD + BD + AC...   Nov 19 2013, 08:32
|- - jcxz   Цитата(Golikov A. @ Nov 19 2013, 14:32) н...   Nov 19 2013, 08:50
|- - SII   Цитата(Golikov A. @ Nov 19 2013, 12:32) н...   Nov 19 2013, 10:18
|- - DASM   Цитата(SII @ Nov 19 2013, 14:18) если для...   Nov 19 2013, 10:43
|- - SII   Цитата(DASM @ Nov 19 2013, 14:43) ARM раз...   Nov 19 2013, 13:55
- - Golikov A.   я не ошибся, я имел ввиду другое двойная точность...   Nov 19 2013, 10:25
- - Golikov A.   а я о теоретической применимости 32 битного флотов...   Nov 19 2013, 16:28
- - SII   В третий раз повторяю: изучите матчасть, а заодно ...   Nov 20 2013, 05:35
- - Golikov A.   ну вот теперь понятно... а 32 битный умножитель ц...   Nov 20 2013, 07:05
|- - Сергей Борщ   QUOTE (Golikov A. @ Nov 20 2013, 10:05) в...   Nov 20 2013, 08:21
|- - SII   Цитата(Golikov A. @ Nov 20 2013, 11:05) а...   Nov 20 2013, 08:54
- - Golikov A.   в лоб без оптимизации [32]*[32] дает [32].... имее...   Nov 20 2013, 11:40
- - Сергей Борщ   QUOTE (Golikov A. @ Nov 20 2013, 14:40) б...   Nov 20 2013, 12:54


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 06:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.01409 секунд с 7
ELECTRONIX ©2004-2016