Работа мат. сопроцессора

Печатные платы, программируемая логика, разработка и изготовление аппаратуры

Moderator: Shaos

User avatar
poisk
Writer
Posts: 21
Joined: 02 Jan 2009 05:23
Location: Киров, РФ

Работа мат. сопроцессора

Post by poisk »

Прочитал в Радиоежегоднике"87 статью про применение ППЗУ в радиолюбительской практике. В разделе "Вычисление в реальном времени" описан способ быстрого и не затратного умножения чисел. И подумал: а как умножение реализуется в математических сопроцессорах? И как можно так же быстро произвести деление чисел?
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Post by jdigreze »

Уж не знаю как в реале, но сколько я не думал на эту тему, в конечном итоге всегда приходил к тому, что при делении без итераторов не обойтись. Т.е. по-любому потребуется хотя бы по одному такту на разряд. Правда я не профессиональный математик, а то может быть и есть способы однотактового деления.
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

jdigreze wrote:...а то может быть и есть способы однотактового деления.
Если бы они были, х87 бы просто рвал и метал. Ну и DIV бы записали в AVRки. А так там только MUL...
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Post by jdigreze »

Даже MUL по вентилям затратная штука. Так как вроде бы квадратичная зависимость от разрядности.
Первые мат. сопроцессоры явно 80 бит числа не за такт множили, сейчас с этим делом наверно по-проще.
Мне, как программеру МК всю жисть приходилось подобные извороты писать на асме, причем когда дело доходило до 32х разрядов, процедуры разрастались неимоверно. Самый большой изворот - перевод бинарных чисел в десятичный текст, которое делается только на делении и тактов кушает немеряно. Обратный перевод получается гораздо элегантнее.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

А зачем переводить в десятичный текст? Двоичные числа замечательно делить можно - тем же столбиком :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Post by jdigreze »

да нет, я видимо неправильно выразился. десятичный текст нужен был именно для вывода на текстовый дисплей для оператора. ;)
понятное дело что я делил двоичные числа столбиком.