устройство для вычисления натурального логарифма
Классы МПК: | G06F7/556 для решения логарифмических или показательных функций |
Автор(ы): | Козырькова М.В., Марковский А.Д., Савкин В.В. |
Патентообладатель(и): | Государственный научно-исследовательский институт точного электронного приборостроения |
Приоритеты: |
подача заявки:
1991-07-25 публикация патента:
30.01.1994 |
Изобретение относится к вычислительной технике и предназначено для вычисления натурального логарифма двоичного числа, представленного в формате "фиксированная запятая". Устройство содержит два регистра, два сумматора, D-триггер, элемент ИЛИ, два мультиплексора, узел формирования унитарного кода, узел сдвига и блок хранения констант. Быстродействие повышается за счет мультипликативного алгоритма обработки половины аргумента. 2 ил.
Рисунок 1, Рисунок 2
Формула изобретения
УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ НАТУРАЛЬНОГО ЛОГАРИФМА, содержащее два сумматора, узел сдвига, блок хранения констант и два регистра, первые выходы которых подключены к первым информационным входам соответствующих сумматоров, выход второго сумматора является выходом устройства, отличающееся тем, что оно содержит два мультиплексора, узел формирования унитарного кода, элемент ИЛИ, D-триггер, вход установки в "1" которого объединен с входами установки в "0" первого и второго регистров и является входом исходного состояния устройства, вход синхронизации D-триггера объединен с входами синхронизации первого и второго регистров и подключен к выходу элемента ИЛИ, первый вход которого является входом синхронизации устройства, второй вход элемента ИЛИ объединен с информационным входом D-триггера и управляющим входом первого мультиплексора и подключен к первому выходу узла формирования унитарного кода, второй выход которого подключен к управляющему входу узла сдвига и адресному входу блока хранения констант, выход которого подключен к первому информационному входу первого мультиплексора, выход которого подключен к второму информационному входу второго сумматора, выход которого соединен с информационным входом второго регистра, второй информационный вход первого мультиплексора подключен к второму выходу первого регистра, третий выход которого подключен к входу узла формирования унитарного кода, первый выход первого регистра подключен к информационному входу узла сдвига, выход которого подключен к второму информационному входу первого сумматора, выход которого подключен к первому информационному входу второго мультиплексора, управляющий вход которого подключен к выходу D-триггера, выход второго мультиплексора подключен к информационному входу первого регистра, а его второй информационный вход является информационным входом устройства.Описание изобретения к патенту
Устройство относится к вычислительной технике и предназначено для вычисления натурального логарифма двоичного числа, представленного в формате "фиксированная запятая". Известен цифровой логарифмический функциональный преобразователь [1] , содержащий генератор импульсов, первый и второй счетчики, блок сравнения кодов, вычислитель кодов, счетчик с предварительной установкой, регистр результата и блок задержки. Недостатки преобразователя - низкое быстродействие, наличие динамических элементов, большой объем оборудования. Наиболее близким техническим решением к изобретению, выбранным в качестве прототипа, является устройство для вычисления логарифма [2] , содержащее первый и второй регистры, первые выходы которых подключены к первым информационным входам соответствующих сумматоров, и блок хранения констант. Недостатками данного устройства являются низкое быстродействие, наличие n-1 итераций, где 2-n - абсолютная погрешность вычисления, большой объем оборудования. Хотя выбранное в качестве прототипа устройство работает в диапазоне целых чисел в формате "фиксированная запятая", а предлагаемое устройство - в диапазоне аргументов [1/4, 1[ в формате "фиксированная запятая", но по принципу вычисления логарифма, а также конструктивно и схематически, наличием общих блоков и связей прототип является наиболее близким техническим решением к изобретению. Цель изобретения - повышение быстродействия устройства. На фиг. 1 представлена блок-схема предлагаемого устройства для вычисления натурального логарифма; на фиг. 2 - временные диаграммы работы устройства, где а - сигнал на входе синхронизации устройства, б - сигнал на входе исходного состояния устройства, в - сигнал с первого выхода узла формирования унитарного кода, г - сигнал с выхода элемента ИЛИ, д - сигнал с выхода D-триггера. Устройство для вычисления натурального логарифма содержит первый 1 и второй 2 регистры, первые выходы которых подключены к первым информационным входам соответствующих сумматоров 3 и 4, D-триггер 5, вход установки в единицу которого объединен с входами установки в ноль первого 1 и второго 2 регистров и является входом 6 исходного состояния устройства. Вход синхронизации D-триггера 5 объединен с входами синхронизации первого 1 и второго 2 регистров и подключен к выходу элемента ИЛИ 7. Первый вход элемента ИЛИ 7 является входом 8 синхронизации устройства. Второй вход элемента ИЛИ 7 объединен с информационным входом D-триггера 5 и управляющим входом первого мультиплексора 9 и подключен к первому выходу узла 10 формирования унитарного кода. Второй выход узла 10 подключен к управляющему входу узла 11 сдвига и адресному входу блока 12 хранения констант, подключенного выходом к первому информационному входу первого мультиплексора 9. Выход мультиплексора 9 подключен к второму информационному входу второго сумматора 4, выход которого объединен с информационным входом второго регистра 2 и является информационным выходом 13 устройства. Второй информационный вход первого мультиплексора 9 подключен к второму выходу первого регистра 1, третий выход которого подключен к входу узла 10 формирования унитарного кода. Первый выход первого регистра 1 подключен через узел 11 сдвига к второму информационному входу первого сумматора 3, подключенного выходом к первому информационному входу второго мультиплексора 14. Управляющий вход мультиплексора 14 подключен к выходу D-триггера, выход - к информационному входу первого регистра 1, а второй информационный вход второго мультиплексора 14 является информационным входом 15 устройства. Первый выход первого регистра 1 равен знаковому разряду и мантиссе аргумента. Второй выход первого регистра 1 равен инверсному знаковому разряду и мантиссе аргумента. Третий выход первого регистра 1 равен m/2 старшим разрядам мантиссы аргумента, где m - мультипликативная разрядность.Устройство может быть реализовано на базовом матричном кристалле 1515хМ1, заказных БИС, микросхемах серии 533: регистры - 553 ИР 13, мультиплексоры - 533 ЛР 1, узел сдвига - 533 ЛИ 2, 533 ЛЛ 1, сумматоры - 533 ИМ 6, узел формирования унитарного кода - 533 ЛЛ 2, элемент ИЛИ - 533 ЛЛ 1, D-триггер, блок хранения констант - 533 ЛА 16, 533 ЛА 2. В основу работы устройства для вычисления натурального логарифма положены мультипликативные алгоритмы
xk+1 = xk + 2-jk+1xk; x
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006430/8712.gif)
yk+1 = yk - ln (1 + 2-jk+1); xo = x, yo = 0, где хо, yo - начальные условия для вычисления ln x;
xk, yk - значения операндов предыдущей итерации;
xk+1, yk+1 - значения операндов текущей итерации;
jk+1 - величина сдвига текущей итерации, равная порядковому номеру старшего нуля в мантиссе аргумента;
ln(1 + 2-jk+1) - значение константы текущей итерации. Таким образом, вычисление ln x сводится к заданию начальных условий хо, yo, определению величины сдвига jk+1, равной порядковому номеру старшего нуля в мантиссе аргумента xk, сдвига хk на jk+1 двоичных разрядов в сторону младших разрядов, параллельному суммированию операнда хk со сдвинутым значением xk
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006017/729.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917t.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-2t.gif)
yh=
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-3t.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-4t.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006079/8805.gif)
ln(1+x)= x-x2/2+x3/3. . . При 0
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006005/8773.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006007/8776.gif)
x
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-5t.gif)
ln[x
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-6t.gif)
lnxo= -
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-7t.gif)
n = 8; m = 8 + 1 = 9;
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-8t.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-9t.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-10t.gif)
V = 8 + 3 = 11.
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-11t.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-12t.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-13t.gif)
ln x = 1,10001001 (дополнительный код). Прямой код 0,01110111, ln x = -0,46484375; 2-8 = 0,00390625,
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006003/916.gif)
STOP= x1
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/8743.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/8743.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/8743.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-14t.gif)
xi - i-разряды мантиссы аргумента, при этом STOP = 0 деблокирует прохождение синхроимпульсов через элемент ИЛИ 7, установку в "1" D-триггера 5. Если управляющий вход второго мультиплексора 14 находится в состоянии "1", то пропускается сигнал с второго входа второго мультиплексора 14, т. е. информационного входа 15 (хо) устройства. По переднему фронту синхроимпульса с выхода элемента ИЛИ 7 (1-0-1) в первый регистр 1 записыва- ется значение аргумента хо, во второй регистр 2 - yo = 0. Причем по заднему фронту синхроимпульса в D-триггер 5 записывается "0", так как (STOP = 0) управляющий вход второго мультиплексора 14 устанавливается в "0" и на информационный вход первого регистра 1 поступает первый информационный вход второго мультиплексора 14. Третий выход первого регистра 1, соответствующий
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-15t.gif)
Zi= x
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-16t.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/8743.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-17t.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/8744.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-18t.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/8744.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/8743.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/8744.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/8744.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/8743.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/8743.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-19t.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-20t.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/8743.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006019/931.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-21t.gif)
lnx0= -
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006019/931.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-22t.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-23t.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-24t.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-25t.gif)
![устройство для вычисления натурального логарифма, патент № 2006917](/images/patents/467/2006917/2006917-26t.gif)
2. Авторское свидетельство СССР N 1179328, кл. G 06 F 7/556, 1984.