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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Floating and fixed point arithmetic in FPGA
des333
сообщение Aug 30 2009, 13:56
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Подскажите, кто знает, литературу по сабжу.

А то, все что пока удалось найти, это основные мат. сведения + простые показательные примеры.

Интересует более подробный, доскональный и глубокий анализ данной темы.

Не верю, что нет серьезных изданий по сабжу.




Заранее спасибо!




P.S. Лучше, если на английском языке.

Сообщение отредактировал des333 - Aug 30 2009, 14:05


--------------------
Go to the top of the page
 
+Quote Post
Methane
сообщение Aug 30 2009, 14:01
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(des333 @ Aug 30 2009, 16:56) *
P.S. Лучше, если на английском языке.

Попробуйте подумать головой.
Go to the top of the page
 
+Quote Post
des333
сообщение Aug 30 2009, 14:03
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Цитата(Methane @ Aug 30 2009, 18:01) *
Попробуйте подумать головой.


Я думаю, если не хочется советовать по теме, писать никто не заставляет...

Сообщение отредактировал des333 - Aug 30 2009, 14:11


--------------------
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Aug 30 2009, 16:50
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



А зачем вам, скажите, литература? На opencores есть готовые реализации, скачайте и изучите.
Go to the top of the page
 
+Quote Post
des333
сообщение Aug 30 2009, 17:34
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Цитата(DmitryR @ Aug 30 2009, 20:50) *
А зачем вам, скажите, литература? На opencores есть готовые реализации, скачайте и изучите.

Реализации уже скачал - изучаю.

Просто хочется рассмотреть не только конкретный практический подход, но и теоритическую часть.

Алгоритмы, оптимизацию, рассчеты, сравнительный анализ и т.д. 


--------------------
Go to the top of the page
 
+Quote Post
Самурай
сообщение Aug 30 2009, 17:49
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 468
Регистрация: 4-03-05
Пользователь №: 3 066



Цитата(des333 @ Aug 30 2009, 17:56) *
Подскажите, кто знает, литературу по сабжу.
А то, все что пока удалось найти, это основные мат. сведения + простые показательные примеры.
Интересует более подробный, доскональный и глубокий анализ данной темы.
Не верю, что нет серьезных изданий по сабжу.


Не буду утверждать, что нижеперечисленные книги являются образцом досконального анализа и уж тем более, что они обладают необходимой глубиной, но тем не менее, наверно их все-таки стоит полистать:

1. Арифметика цифровых машин (М.А.Карцев)
2. Основы машинной арифметики (А.М.Шауман)
3. Arithmetic and Logic in Computer Systems (Mi Lu)
4. SYNTHESIS OF ARITHMETIC CIRCUITS: FPGA, ASIC, and Embedded Systems

Все книги легко ищутся в сети, а для более глубокого изучения всегда есть гугл, ключевых фраз для поиска, после прочтения вышеперечисленного, должно хватить с избыткомsmile.gif
Go to the top of the page
 
+Quote Post
des333
сообщение Aug 30 2009, 17:51
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Самурай:

Большое спасибо! smile.gif


--------------------
Go to the top of the page
 
+Quote Post
des00
сообщение Aug 31 2009, 03:07
Сообщение #8


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(des333 @ Aug 30 2009, 11:34) *
Просто хочется рассмотреть не только конкретный практический подход, но и теоритическую часть.
Алгоритмы, оптимизацию, рассчеты, сравнительный анализ и т.д.


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


--------------------
Go to the top of the page
 
+Quote Post
des333
сообщение Aug 31 2009, 06:00
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Цитата(des00 @ Aug 31 2009, 07:07) *
раскажите для повышения образованности, а какую теорию и алгоритмы вы имели в виду ? правила всех арифметических операций однозначно вытекают из определения форматов чисел. 


Неужели эта область настолько простая, что не затронута ни в какой литературе?

Лично я предпологал, что у этих задач, как и у всех других, имеются разные подходы и способы решения. Может быть, я не прав. 

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

Цитата(des00 @ Aug 31 2009, 07:07) *
И какой именно сравнительный анализ вы имели в виду? Сравнивать что лучше плавучка или фиксированная точка в общем смысле? но на этот вопрос можно дать однозначный ответ %)


Если Вас не затруднит, дайте  smile.gif

И скажите, в каких областях тогда используется оставшийся, явно худший в общем смысле, вариант?


--------------------
Go to the top of the page
 
+Quote Post
des00
сообщение Aug 31 2009, 07:07
Сообщение #10


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(des333 @ Aug 31 2009, 01:00) *
Неужели эта область настолько простая, что не затронута ни в какой литературе?


фиксированная точка специальной областью не является, ее арифметика выводиться на бумажке минут за 5. Если выводить нет желания то вот статья фиксированная запятая

как видно с точки зрения вычислений, ничем не отличается от целочисленой арифметики.

плавающая точка это много сложнее, из простого анализа формата числа видны требования к реализации арифиметики.

Цитата
Просто я про обычные счетчики видел больше информации, чем про вычесления с плавающей запятой.


насколько я знаю, на это есть отдельный стандарт, в нем все написано как и что делать с плавающей запятой. На счетчики такого стандарта нет %)


Цитата
Если Вас не затруднит, дайте smile.gif
И скажите, в каких областях тогда используется оставшийся, явно худший в общем смысле, вариант?


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

Цитата
Преимущество использования представления чисел в формате с плавающей запятой над представлением в формате с фиксированной запятой (и целыми числами) состоит в том, что можно использовать существенно больший диапазон значений при неизменной относительной точности. Например, в форме с фиксированной запятой число, занимающее 8 разрядов в целой части и 2 разряда после запятой, может быть представлено в виде 123456,78; 8765,43; 123,00 и так далее. В свою очередь, в формате с плавающей запятой (в тех же 8 разрядах) можно записать числа 1,2345678; 1234567,8; 0,000012345678; 12345678000000000 и так далее.


--------------------
Go to the top of the page
 
+Quote Post
yes
сообщение Aug 31 2009, 12:16
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



для плавающей точки:
как всегда в технических делах - общее описание простое, а эффективная техническая реализация требует усилий и стоит денег
предролагаю, что статей в открытов виде про эффективную реализацию нет
есть рассмотрение всяких узлов в IEEE, что вобщем то тоже не бесплатно, да и как все собрать вместе не объясняет

пару лет назад интересовался опенкоресными реализациями - было там все весьма плачевно

но за последние время вышла DW для флоат поинта, ну и опенкорес на месте не стоит...

еще можно порекомендовать изучить реализацию libm (GNU) там написан эмулятор плавучки для целочисленных процессоров - можно получить представление
Go to the top of the page
 
+Quote Post
Гвоздик
сообщение Aug 31 2009, 15:00
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 153
Регистрация: 2-12-04
Из: Чебоксары
Пользователь №: 1 289



Некоторое время назад я тоже столкнулся с задачей вычисления алгоритма с дробными числами на ПЛИСине. По моим практическим наблюдениям опенкоресные и закрытые от копирования умножители, сумматоры и делители чисел с плавающей запятой работали слишком медленно, чтобы их можно было серьезно применять. Решением оказалось применение Матлаба в связке с зайлинксовским "AccelEDA". Все исходные данные и результат автоматически приводились Матлабом к целым числам соотвествующей разрядности. Точность вычислений терялась, но в пределах ТЗ. Зато написать все и отмоделировать можно очень быстро.
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 31 2009, 15:27
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Книжка по теме:
http://www.telesys.ru/wwwboards/dsp/307/me...es/164673.shtml
Go to the top of the page
 
+Quote Post
Rst7
сообщение Aug 31 2009, 15:34
Сообщение #14


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Я бы не стал так огульно хаять плавающую точку smile.gif Хотя бы только потому, что если абстрагироваться от конкретного IEEE-шного формата (и не использовать его во внутреннем представлении, а носить на шинах все в распакованном виде), то не так уж и много аппаратуры надо наворотить рядом - для умножителя/делителя нужно сделать рядом вычисление суммы/разностей порядков плюс некоторые костыли для нормализации, а для суммы/разности - такой себе barrel-shift'ер, управляемый разностью порядков для приведения мантисс к одному порядку.

Опять же, если есть уверенность, что не будет всяких машинных нулей и бесконечностей, можно убрать логику обработки крайних случаев.

Я это к тому, что если очень надо, то можно и реализовать плавающую запятую. Конечно, если вообще хочется IEEE-формата, тогда да - там железа надо наворотить некисло.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
zverek
сообщение Aug 31 2009, 16:05
Сообщение #15


Участник
*

Группа: Свой
Сообщений: 62
Регистрация: 2-04-09
Из: Москва
Пользователь №: 47 059



Цитата(Rst7 @ Aug 31 2009, 19:34) *
Я бы не стал так огульно хаять плавающую точку smile.gif Хотя бы только потому, что если абстрагироваться от конкретного IEEE-шного формата (и не использовать его во внутреннем представлении, а носить на шинах все в распакованном виде), то не так уж и много аппаратуры надо наворотить рядом


По ощущениям, разные крутые GPU (там где много вычислителей с плавающей точкой) так и делают, снаружи оно поддерживает все стандарты, а внутри злые и очень продуманные алгоритмы (VLIW, или вообще что-то свое). Но для этого нужно как минимум вникнуть во все детали и хорошо во всем разбираться.

Цитата(Гвоздик @ Aug 31 2009, 19:00) *
Некоторое время назад я тоже столкнулся с задачей вычисления алгоритма с дробными числами на ПЛИСине. По моим практическим наблюдениям опенкоресные и закрытые от копирования умножители, сумматоры и делители чисел с плавающей запятой работали слишком медленно, чтобы их можно было серьезно применять. Решением оказалось применение Матлаба в связке с зайлинксовским "AccelEDA". Все исходные данные и результат автоматически приводились Матлабом к целым числам соотвествующей разрядности. Точность вычислений терялась, но в пределах ТЗ. Зато написать все и отмоделировать можно очень быстро.


ИМХО, только как вариант "вставил и забыл", что-то "расширяемое" так сделать не получится.

Хотя, посмотреть на то, как будет считать матлаб, интересно (а может даже пригодится) smile.gif
Go to the top of the page
 
+Quote Post
Rst7
сообщение Aug 31 2009, 16:25
Сообщение #16


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Но для этого нужно как минимум вникнуть во все детали и хорошо во всем разбираться.


Не могу сказать, что уж очень там с "деталями" сложно. Хотя, опять же... Ну вот допустим, простейшие вещи - умножение и деление с плавающей запятой.

Умножение: Вроде все хорошо, допустим, числа нормализованы и всегда есть единичный старший бит. Тогда, по результатам умножения для нормализации надо проверить старший бит произведения, и, если он равен 0, то сдвинуть результат влево с увеличением результирующего порядка на 1. Типа перенос учесть в сумматоре порядков.

Деление: а тут таких простых результатов не получается - количество нулей в частном может быть произвольным. Т.к. выполнять после деления поиск первой единицы в частном и сдвиг результата до нормализованного очень уж тоскливо, есть смысл вкрутить автонормализацию в само деление. Допустим, если деление выполняется в столбик, то наличие каждого ведущего нулевого бита в частном должно приводить к уменьшению величины порядка результата на единичку. Как только встречается 1, то деление продолжается обычным образом.

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


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
zverek
сообщение Aug 31 2009, 17:34
Сообщение #17


Участник
*

Группа: Свой
Сообщений: 62
Регистрация: 2-04-09
Из: Москва
Пользователь №: 47 059



Цитата(Rst7 @ Aug 31 2009, 20:25) *
Не могу сказать, что уж очень там с "деталями" сложно.

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


Сорри, я по старой доброй институтской памяти...

Цитата(Rst7 @ Aug 31 2009, 20:25) *
Вроде и не очень страшно... но следующей стадией должна быть замена деления в столбик на более производительный метод, а там уже (возможно) не так просто будет решить вопрос с нормализацией малой кровью.


А как, например, косинус считают с плавающей точкой? Через ряды? (Я не про синус нуля, пи и прочее из школьных учебников). То есть я понимаю, что можно через "сложение" все сделать. Акцент на производительность (как это не в теории делается)? Или опять все сводится к реализации умножения/деления + конвейер?

Дополнение: наткнулся на интересную статейку чувствую, что в разных современных GPU таких уловок масса. Наткнулся на нее здесь, значит "в лоб" даже сопроцессор не считает.
Сорри за глупый вопрос, математику подзабыл, а до каких пор надо складывать, когда считаем синус, понимаю, что все вычисления приближенные, или в этом IEEE какраз это и описано?
Go to the top of the page
 
+Quote Post
Methane
сообщение Sep 1 2009, 03:43
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(des333 @ Aug 30 2009, 17:03) *
Я думаю, если не хочется советовать по теме, писать никто не заставляет...

Вы хотите сравнить сферического коня в вакууме. Для этого идеально подходит плавающая точка. А еще лучше вообще символьные преобразования.
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 1 2009, 03:46
Сообщение #19


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Гвоздик @ Aug 31 2009, 10:00) *
Некоторое время назад я тоже столкнулся с задачей вычисления алгоритма с дробными числами на ПЛИСине. По моим практическим наблюдениям опенкоресные и закрытые от копирования умножители, сумматоры и делители чисел с плавающей запятой работали слишком медленно, чтобы их можно было серьезно применять. Решением оказалось применение Матлаба в связке с зайлинксовским "AccelEDA". Все исходные данные и результат автоматически приводились Матлабом к целым числам соотвествующей разрядности. Точность вычислений терялась, но в пределах ТЗ. Зато написать все и отмоделировать можно очень быстро.


по сути вы ушли в вычисления с фиксированной запятой, возможно с разным весом точки, делается в ручную на раз без всякого матлаба.

Цитата(Rst7 @ Aug 31 2009, 10:34) *
Я бы не стал так огульно хаять плавающую точку smile.gif


дык ее никто и не хает, но согласитесь что реализация плавающей точки весит больше чем фиксированной/целочисленной ? smile.gif

Цитата(zverek @ Aug 31 2009, 11:05) *
По ощущениям, разные крутые GPU (там где много вычислителей с плавающей точкой) так и делают, снаружи оно поддерживает все стандарты, а внутри злые и очень продуманные алгоритмы (VLIW, или вообще что-то свое).


последнее что я читал про GPU подводило к мысли что современные GPU как раз ушли с фиксированной точки на плавающую и все вычисления внутри строятся как раз на ней.

Цитата(zverek @ Aug 31 2009, 12:34) *
А как, например, косинус считают с плавающей точкой? Через ряды? (Я не про синус нуля, пи и прочее из школьных учебников). То есть я понимаю, что можно через "сложение" все сделать. Акцент на производительность (как это не в теории делается)? Или опять все сводится к реализации умножения/деления + конвейер?

Дополнение: наткнулся на интересную статейку чувствую, что в разных современных GPU таких уловок масса. Наткнулся на нее здесь, значит "в лоб" даже сопроцессор не считает.


ну это был достаточно старый сопроцессор, с современными GPU не сравнить. А алгоритм расчета синуса зависит от требуемой вам точности.


--------------------
Go to the top of the page
 
+Quote Post
Methane
сообщение Sep 1 2009, 03:56
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(des333 @ Aug 30 2009, 20:34) *
Алгоритмы, оптимизацию, рассчеты, сравнительный анализ и т.д. 

Простой пример. Астрономы, когда считают расстояния до звезд, часто считают то синус (x) = x. И работает! Расстояние до какой-то там звезды, у черта на куличках такое, что диаметр орбиты нашего глобуса такой что плакать хочется. От этого углы крохотные, а вблизи нуля, синус это просто палка под углом в 45 градусов.

А в функциях что дает TI, синус вообще имеет период 65535, и амплитуду 32768 и тоже работает. И методов расчета его в ТИ предлагает три: через ряд (ну очень не длинный), через таблицу (ну очень не большую) и кажись через таблицу с интерполированием. И тоже работает! Асинхронные и синхронные двигатели + всякие УПСы, прекрасно работают на таком урезанном синусе. А астрономам не подходит: диаметр орбиты нашего глобуса, делёное на расстояние до какой-то там звезды стабильно дает 0, для почти всех звезд.

Про GPU. Не от хорошей жизни там FPU. Делается это все для того чтобы игрушки быстро бегали. А игрушки как пишут - быстрей-быстрей, дешевле-дешевле. Кто будет тратить время на оптимизации, фиксированную точку итд.

Это так, на пальцах.
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 1 2009, 04:00
Сообщение #21


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Methane @ Aug 31 2009, 21:56) *
Про GPU. Не от хорошей жизни там FPU. Делается это все для того чтобы игрушки быстро бегали. А игрушки как пишут - быстрей-быстрей, дешевле-дешевле. Кто будет тратить время на оптимизации, фиксированную точку итд.


да и проще им, собрал один раз качественный FPU на кремнии и размножил N раз, все же не фпга %)


--------------------
Go to the top of the page
 
+Quote Post
Methane
сообщение Sep 1 2009, 04:04
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(des00 @ Sep 1 2009, 06:46) *
дык ее никто и не хает, но согласитесь что реализация плавающей точки весит больше чем фиксированной/целочисленной ? smile.gif

Я не соглашусь. Сравните умножение какогонить урезанного эмулятора плавающей точки, где под float пару байт отведено и умножение с фиксированной точкой типа 64.64. Все хорошо на своем месте.

Цитата(des00 @ Sep 1 2009, 07:00) *
да и проще им, собрал один раз качественный FPU на кремнии и размножил N раз, все же не фпга %)

А на кремнии собрать несколько качественных FPU и запхать их в FPGA?
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 1 2009, 04:12
Сообщение #23


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Methane @ Aug 31 2009, 22:04) *
Я не соглашусь. Сравните умножение какогонить урезанного эмулятора плавающей точки, где под float пару байт отведено и умножение с фиксированной точкой типа 64.64. Все хорошо на своем месте.


задачи конечно бывают разные, но на 64-х битном проце с умножителем 64х64 не вижу никаких проблем. На фпга для моих задач(модемная связь), максимум что потребовалось это ss10.24(36 бит). И то, это было взято с большим запасом

Цитата
А на кремнии собрать несколько качественных FPU и запхать их в FPGA?


ИМХО не имеет смысла, это как идея, которая витала у хилых %) аппаратные элементы видео декодеров на фпга, даешь h.264 за 2 доллара (на спартан 3), которая быстра загнулась. Подобное (FPU) нужно небольшому количеству людей, а место на кристале будет занимать много (ведь надо делать честный IEEE, а не в тапки с...ь).

ЗЫ. кстати разумное применение плавающей точки есть у альтеры в FFT корке, они называют это блочной плавающей точкой. Подробно не разбирался, но как я понял данный вид арифметики позволяет использовать разумный ресурс на реализацию, при нормальной производительности


--------------------
Go to the top of the page
 
+Quote Post
Methane
сообщение Sep 1 2009, 04:32
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(des00 @ Sep 1 2009, 07:12) *
задачи конечно бывают разные, но на 64-х битном проце с умножителем 64х64 не вижу никаких проблем.

Я и на 8 битовом проблем не нахожу. smile.gif

Цитата
ИМХО не имеет смысла, это как идея, которая витала у хилых %) аппаратные элементы видео декодеров на фпга, даешь h.264 за 2 доллара (на спартан 3), которая быстра загнулась. Подобное (FPU) нужно небольшому количеству людей, а место на кристале будет занимать много (ведь надо делать честный IEEE, а не в тапки с...ь).

Не понял, это идея корейцев была? Вопли "h.264" в FPGA c их стороны шли?

Цитата
ЗЫ. кстати разумное применение плавающей точки есть у альтеры в FFT корке, они называют это блочной плавающей точкой. Подробно не разбирался, но как я понял данный вид арифметики позволяет использовать разумный ресурс на реализацию, при нормальной производительности

То ихних маркетологов увольнять нада. Они могли эту самую блочную плавающую точку и в FIR фильтрах применять и вообще везде подряд. Работы на пол часа, толку ноль, зато кричать "мы круче ксилинкса" можно на всех сайтах типа edn.
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 1 2009, 04:42
Сообщение #25


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Methane @ Aug 31 2009, 22:32) *
Я и на 8 битовом проблем не нахожу. smile.gif


у нас разный взгляд на проблему %)

Цитата
Не понял, это идея корейцев была? Вопли "h.264" в FPGA c их стороны шли?


мне ее озвучивал начальник, после встречи с манагерами хилых в америке, хотели аппаратный CABAC/CAVLC, Deblock и ME в фпга класса спартан3е smile.gif Потом как я понял к нему микроба, ДДР2, интерфейсы и вуаля транскодер почти за 2 бакса %)

Цитата
То ихних маркетологов увольнять нада. Они могли эту самую блочную плавающую точку и в FIR фильтрах применять и вообще везде подряд. Работы на пол часа, толку ноль, зато кричать "мы круче ксилинкса" можно на всех сайтах типа edn.


вам виднее, я подробно не разбирался что они там предлагают


--------------------
Go to the top of the page
 
+Quote Post
Methane
сообщение Sep 1 2009, 04:48
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(des00 @ Sep 1 2009, 07:42) *
мне ее озвучивал начальник, после встречи с манагерами хилых в америке, хотели аппаратный CABAC/CAVLC, Deblock и ME в фпга класса спартан3е smile.gif Потом как я понял к нему микроба, ДДР2, интерфейсы и вуаля транскодер почти за 2 бакса %)

А, закон постоянства интеллекта в действии.
Go to the top of the page
 
+Quote Post
des333
сообщение Sep 1 2009, 10:55
Сообщение #27


Профессионал
*****

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Цитата(Methane @ Sep 1 2009, 07:43) *
Вы хотите сравнить сферического коня в вакууме. Для этого идеально подходит плавающая точка. А еще лучше вообще символьные преобразования.


Да я ничего сравнивать не хотел  smile.gif
Хотел просто нарыть литературу.

Цитата(Methane @ Sep 1 2009, 07:56) *
....

Это так, на пальцах.

Так вот мне, как раз, нужно не на пальцах, а много-много сложной теории.  smile.gif

Сообщение отредактировал des333 - Sep 1 2009, 10:55


--------------------
Go to the top of the page
 
+Quote Post
zverek
сообщение Sep 1 2009, 17:56
Сообщение #28


Участник
*

Группа: Свой
Сообщений: 62
Регистрация: 2-04-09
Из: Москва
Пользователь №: 47 059



А нет ли какого-то математического САПРа, который покажет разные способы вычисления, например, синуса в зависимости от того, что мы хотим получить (погрешность, точность, и т.д.)? Имел дело только с Matlab'ом, но мельком (очень не понравился его суконный язык, ощущение такое, что работаешь с БолшойЭВМ и перфокартами и он вот вот обзовет тебя нехорошим словом) и с Mathemati'кой (строил графики). Интересно посмотреть, как он будет считать.

Цитата(des00 @ Sep 1 2009, 07:46) *
А алгоритм расчета синуса зависит от требуемой вам точности.


А какая там, у них, в FPU/GPU? Неужели про это нет книг и разбирать приходится на "живых" примерах. Так не охото идти в "Библиотеку имени Ленина" за книгой 1964 года "Вычислительная математика ЭВМ". У нас что с того времени книг не писали?
Go to the top of the page
 
+Quote Post
Methane
сообщение Sep 1 2009, 18:30
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(zverek @ Sep 1 2009, 20:56) *
А нет ли какого-то математического САПРа, который покажет разные способы вычисления, например, синуса в зависимости от того, что мы хотим получить (погрешность, точность, и т.д.)? Имел дело только с Matlab'ом, но мельком (очень не понравился его суконный язык, ощущение такое, что работаешь с БолшойЭВМ и перфокартами и он вот вот обзовет тебя нехорошим словом) и с Mathemati'кой (строил графики). Интересно посмотреть, как он будет считать.

Вот лучше матлаба я лично не знаю.

Цитата
А какая там, у них, в FPU/GPU? Неужели про это нет книг и разбирать приходится на "живых" примерах. Так не охото идти в "Библиотеку имени Ленина" за книгой 1964 года "Вычислительная математика ЭВМ". У нас что с того времени книг не писали?

Есть. К примеру посмотрите в хелпе матлаба. smile.gif
Go to the top of the page
 
+Quote Post
zverek
сообщение Sep 1 2009, 19:04
Сообщение #30


Участник
*

Группа: Свой
Сообщений: 62
Регистрация: 2-04-09
Из: Москва
Пользователь №: 47 059



Цитата(Methane @ Sep 1 2009, 22:30) *
Вот лучше матлаба я лично не знаю.


Не, я его ни в коем случае не ругаю, просто описал первое впечатление smile.gif Спасибо, попробую. smile.gif
Go to the top of the page
 
+Quote Post
Methane
сообщение Sep 1 2009, 19:30
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(zverek @ Sep 1 2009, 22:04) *
Не, я его ни в коем случае не ругаю, просто описал первое впечатление smile.gif Спасибо, попробую. smile.gif

Просто серьезно подойдите. Это все же язык программирования. Причем специфический.
Это не
x=x+1;
Это гораздо более высокий уровень.
x=0:0.001:pi*10;
Просто создали вектор. От 0 до pi*10 c шагом 0.001
y=sin(x);
сказали сделай вектор y члены которого будут синусами вектора х
z=tan(x.^9);
сделай вектор z, члены которого будут тангенсами в членов вектора x в девятой степени.
plot3 (x,y,z);
нарисуй все это (фигня получилась)
А можно использовать и фурье и фильтры и вообще что угодно. Короче кол-во ДИКОГО ГЕМОРРОЯ, матлаб сокращает просто грандиозно, где есть хоть какие-то расчёты.
Go to the top of the page
 
+Quote Post
Гвоздик
сообщение Sep 2 2009, 06:43
Сообщение #32


Частый гость
**

Группа: Свой
Сообщений: 153
Регистрация: 2-12-04
Из: Чебоксары
Пользователь №: 1 289



Спешу поправить на верное название зайлинксовской программы стыковки с "Матлабом", которую я использовал - "AccelDSP".
Go to the top of the page
 
+Quote Post
Sergey'F
сообщение Sep 2 2009, 12:34
Сообщение #33


Местный
***

Группа: Свой
Сообщений: 351
Регистрация: 17-09-05
Из: Москва
Пользователь №: 8 660



Цитата(Самурай @ Aug 30 2009, 21:49) *
Не буду утверждать, что нижеперечисленные книги являются образцом досконального анализа и уж тем более, что они обладают необходимой глубиной, но тем не менее, наверно их все-таки стоит полистать:

1. Арифметика цифровых машин (М.А.Карцев)
2. Основы машинной арифметики (А.М.Шауман)
3. Arithmetic and Logic in Computer Systems (Mi Lu)
4. SYNTHESIS OF ARITHMETIC CIRCUITS: FPGA, ASIC, and Embedded Systems

Все книги легко ищутся в сети, а для более глубокого изучения всегда есть гугл, ключевых фраз для поиска, после прочтения вышеперечисленного, должно хватить с избыткомsmile.gif

И еще одна книга в духе 3 и 4:
Ergovac, Lang. Digital Arithmetic.
Go to the top of the page
 
+Quote Post
Maverick
сообщение Sep 8 2009, 05:58
Сообщение #34


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Попытаюсь вставить свои пять копеек smile.gif
У Xilinx есть CoreGenerator, который может сгенерировать готовый блок для работы с плавающей запятой по стандарту IEEE 754


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Methane
сообщение Sep 8 2009, 06:33
Сообщение #35


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(Maverick @ Sep 8 2009, 08:58) *
Попытаюсь вставить свои пять копеек smile.gif
У Xilinx есть CoreGenerator, который может сгенерировать готовый блок для работы с плавающей запятой по стандарту IEEE 754

Во--во. И этот мегакоребилдер скажет сколько тактов ему нужно с каким пайплайном, и вопрос про недостатки плавучки отпадет сам собой. smile.gif
Go to the top of the page
 
+Quote Post
Sergey'F
сообщение Sep 8 2009, 20:17
Сообщение #36


Местный
***

Группа: Свой
Сообщений: 351
Регистрация: 17-09-05
Из: Москва
Пользователь №: 8 660



Еще в тему. Мой студент на курсовом реализовал плавучку + и * практически в полном соответствии с IEEE-754, включая обработку субнормальных чисел и формирование всех флагов.

Результат для 32 бит в сравнении с Альтеровскими + и * для Cyclone III:

Altera:
+ :
183МГц, 11тактов, 950ЛЭ
* :
181МГц, 5 тактов, 279ЛЭ

Свой:
+ и * выполнены как один модуль, использующий некоторые совместные части:
105МГц, 5 тактов, 1643ЛЭ.

Целью было понизить число тактов сумматора за счет частоты, подогнав частоту под реально достижимую в процессоре Nios II для используемой платформы.

Самые ресурсоемкие блоки - сдвигатели для денормализации и нормализации.

Из 5 тактов последние 3 - это нормализация, денормализация, округление результата с формированием флагов. Это цена полной поддержки формата IEEE-754.
Go to the top of the page
 
+Quote Post
Little_boo
сообщение Dec 9 2010, 15:56
Сообщение #37


Частый гость
**

Группа: Свой
Сообщений: 123
Регистрация: 7-08-06
Пользователь №: 19 372



Цитата(Maverick @ Sep 8 2009, 09:58) *
Попытаюсь вставить свои пять копеек sm.gif
У Xilinx есть CoreGenerator, который может сгенерировать готовый блок для работы с плавающей запятой по стандарту IEEE 754

Floating-point 3.0?
Go to the top of the page
 
+Quote Post

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

 


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


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