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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
cant
сообщение Nov 14 2012, 19:28
Сообщение #16


Местный
***

Группа: Участник
Сообщений: 216
Регистрация: 28-10-08
Из: Брест
Пользователь №: 41 243



Цитата(Ash_snz @ Nov 14 2012, 21:03) *
Как меняли количество знаков? что за методы?


В общем ничего особенного: вначале из лонг два байта было на дробь, т.е точность 1/65536. потом добавил пол байта за счет уменьшения целой части - дипозон чисел позволял.

сделал это только там, где критична была погрешность, в остальном коде обычные числа.
Go to the top of the page
 
+Quote Post
Ash_snz
сообщение Nov 15 2012, 16:38
Сообщение #17


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 12-05-11
Пользователь №: 64 958



Цитата(maksimp @ Nov 15 2012, 00:14) *
Вы наверное про целочисленные операции. Деление вроде до 12 тактов, умножние 1 или 2.
А я имел в виду вычисления с плавающей точкой без аппаратной поддержки. То есть специальная процедура, используя множество целочисленных команд, выделяет знак, мантиссу, порядок, проверяет операнды на INF и NAN, потом всё это обрабатывает и формирут результат. Это гораздо дольше. Деление около 200 тактов.
Да, я про аппаратную реализацию вычислений сопроцессора.


Цитата(cant @ Nov 15 2012, 01:28) *
В общем ничего особенного: вначале из лонг два байта было на дробь, т.е точность 1/65536. потом добавил пол байта за счет уменьшения целой части - дипозон чисел позволял.

сделал это только там, где критична была погрешность, в остальном коде обычные числа.
Т.е. свой тип переменной определяли и соответственно своя обработка?
Go to the top of the page
 
+Quote Post
maksimp
сообщение Nov 15 2012, 19:02
Сообщение #18


Местный
***

Группа: Участник
Сообщений: 313
Регистрация: 2-07-11
Пользователь №: 66 023



Цитата(Ash_snz @ Nov 14 2012, 20:03) *
Наше ядро тратит до 16 тактов на деление, на умножение до 8 кажется тактов.

Цитата(Ash_snz @ Nov 15 2012, 19:38) *
Да, я про аппаратную реализацию вычислений сопроцессора.

Тогда странно почему, как вы пишете, скорость выполнения уменьшилась в 50 раз.
Деление программно 200 тактов, аппаратно 16 тактов.
Умножение программно 50 тактов, аппаратно 8 тактов.
Скорость программного выполнения этих операций я замерял.
Go to the top of the page
 
+Quote Post
Ash_snz
сообщение Nov 16 2012, 16:49
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 12-05-11
Пользователь №: 64 958



Цитата(maksimp @ Nov 16 2012, 01:02) *
Тогда странно почему, как вы пишете, скорость выполнения уменьшилась в 50 раз.
Деление программно 200 тактов, аппаратно 16 тактов.
Умножение программно 50 тактов, аппаратно 8 тактов.
Скорость программного выполнения этих операций я замерял.
Возможно я немного не корректно написал. проверялось на одной из задач. и длительность выполнения именно этой задачи выросла в 50 раз.
Тут дело не в тактах sm.gif
Go to the top of the page
 
+Quote Post
cant
сообщение Nov 16 2012, 18:54
Сообщение #20


Местный
***

Группа: Участник
Сообщений: 216
Регистрация: 28-10-08
Из: Брест
Пользователь №: 41 243



Цитата(Ash_snz @ Nov 15 2012, 19:38) *
Да, я про аппаратную реализацию вычислений сопроцессора.


Т.е. свой тип переменной определяли и соответственно своя обработка?


Да. свой тип, своя обработка.



Сообщение отредактировал cant - Nov 16 2012, 18:57
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Nov 21 2012, 12:16
Сообщение #21


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(cant @ Nov 16 2012, 22:54) *
Да. свой тип, своя обработка.
Нынче немного проще должно быть с этим...
http://gcc.gnu.org/onlinedocs/gcc/Fixed_002dPoint.html


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
Ash_snz
сообщение Nov 22 2012, 15:37
Сообщение #22


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 12-05-11
Пользователь №: 64 958



Цитата(demiurg_spb @ Nov 21 2012, 18:16) *
Нынче немного проще должно быть с этим...
http://gcc.gnu.org/onlinedocs/gcc/Fixed_002dPoint.html
хм, а я нечто другое читал. спасибо.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 29th June 2025 - 09:42
Рейтинг@Mail.ru


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