Устройство для вычисления логарифма
Союз Советских
Социалистических
Республик
ОПИСАНИЕ
ИЗОБРЕТЕНИЯ
< 783798
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (61) Дополнительное к авт. свид-ву— (22) Заявлено 22Р179 (21) 2716070/18-24 с присоединением заявки ¹ (23) Приоритет—
Опубликовано 301 30.бюллетень ¹ 44
Дата опубликования описания 051 2.80
Р1)М. Кп.
G 06 F 15/31
Государствеииый комитет
СССР по делам изобретений и открытий (53) УДК 681.325 (088.8) (7?) Автор изобретения
A. A. Маханов (71) Заявитель
Кировский политехнический институт (54) УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ ЛОГАРИФМА
Изобретение относится к области вычислительной техники и может быть использовано в быстродействующих универсальных машинах.
Известны устройства для вычисления 5 фунхций табличным методом. Вычисление элементарной функции в таких устройствах сводится к выбору результата из блока постоянной памяти по значению аргумента Щ . 10
Недостатком таких устройств является большой объем постоянной памяти при вычислениях.
Известны устройства для вычисления логарифма итерационным методом (21. 15
Недостатком устройства является относительно большой объем постоянной памяти и низкое быстродействие.
Наиболее близкое .к изобретению 20 техническое рещение — устройство для вычисления логарифма со знакопеременными шагами итераций, с параллельной реализацией этапов вычислений. Устройство содержит регистр аргумента,,25 регистр дополнительной переменной, регистр результата, блок сдвига, сумматор аргумента, сумматор дополнительной переменной, сумматор результата, блок постоянной памяти.
Вычисление логарифма в устройстве представляет собой итерационный процесс. На первом этапе вычислений производится представление аргумента Х функции в виде произведения
Х=1/й (4- „.-Г"), (,) где t — номер итерации; и — разрядность устройства; управляющие операторы, )-1, +1 .
Результатом первого этапа вычислений является набор операторбв Ц .
На втором этапе вычислений по найденным значениям операторов производится вычисление значения функции путем суммирования логарифмических констант, храняшихся в блоке постоянной памяти п = п(1.4-Д. 2 ") (2)
@=1
Вычисления по формулам (1) и (2) представляются следующими рекуррентными уравнениями:
1-й этап Х. =Х.+8. 9 "Х "
a+1 ь t I „=Sign Y„.
783798
2-й этап. (9Ä., = ;- и(1+ й,„- 2 ), где i = 1, 1, 2, 2,..., n-1, л-1.
Начальные условия: Х„ =Х, Y = 1-Х, 8„=0.
Результат 8 1= ВпХ.
Недостатком устройства является низкое быстродействие, так как время вычисления логарифма, выраженное в единицах времени срабатывания элемента схемы, пропорционально n,,Это объясняется тем, что последующий шаг итерации не может быть выполнен до тех пор, пока не будет определено значение оператора - в результате .выполнения предыдущего шага итерации, который определяет направление после- 15 дующего нычисления.
Цель изобретения — увеличение бы:стродействия устройства путем уменьшения времени вычисления на каждом этапе. 20
Поставленная цель достигается тем, что в устройство для вычисления логарифма, содержащее регистр аргумента, сумматор результата, регистр результата, блок сдвига, блоки постоянной памяти, причем выходы i-x блоков постоянной памяти (i = 1, 2,,п, где n — разрядность устройства) подключены к -м выходам сумматора результата, введены регистры разрядных цифр, сумматоры разрядных цифр, счетчики положительных единиц и счетчики отрицательных единиц, причем выход регистра аргумента соединен с входами младших разрядов регистров разрядных цифр, выходы i-x регистров разрядных цифр соединены с первыми входами i-x и вторыми входами (i-1)-х блоков постоянной памяти и с i-ми входами блока сдвига. Выход блока сдвига соединен с первыми входами счетчиков поло- ф) жительных и отрицательных единиц первые выходы i-х счетчиков положительных единиц соединены с первыми входами i-x сумматоров разрядных .цифр, вторые выходы i-х счетчиков положи45 тельных единиц соединены с вторыми входами (i-1)-х счетчиков положительных единиц. Первые выходы i-x счетчиков отрицательных единиц соединены с вторыми входами i-х сумматоров разрядных цифр, вторые выходы i-х счетчи50 ков отрицательных единиц соединены с вторыми входами ()-1)-х счетчиков отрицательных единиц. Выходы сумматоров разрядных цифр соединены с нходами соответствующих регистров разрядных.цифр.
Каждый счетчик положительных и каждый счетчик отрицательных единиц содержит первый и второй одноразрядные сумматоры, причем первый, второй g) и третий входы первого одноразрядного сумматора и первый вход второго одноразрядного сумматора соединены с первым входом счетчика. Выходы суммы и переноса второго однораэрядйого сум- g5 матора соединены с первым выходом счетчика. Выход суммы первого одноразрядного сумматора соединен с вторым входом второго одноразрядного сумматора, выход переноса перного одноразрядного сумматора — с вторым выходом счетчика, третий вход второго одноразрядного сумматора соединен с вторым входом счетчика.
Устройство позволяет производить вычисления по преобразованию аргумента (первый этап вычислений) н кназиканонической системе счисления с основанием 2 и разрядными цифровыми, принимающими значения -3, -?, -1,0, +1, +2 +3,.
На фиг. 1 изображена блок-схема предлагаемого устройства для вычисления логарифма для четырехразрядных чисел(п-4); на фиг. 2 — функциональная схема счетчиков положительных единиц; на фиг. 3 — функциональная схема счетчикон отрицательных единиц.
Устройство для вычисления логарифма (фиг. 1) содержит регистр 1 аргумента, сумматор 2 результата, регистр
3 результата, блок 4 сдвига, блоки 58 постоянной памяти, регистры 9-12 разрядных цифр, сумматоры 13-15 разрядных цифр счетчики 16-18 положительных единиц, счетчики 19-21 отрицательных единиц.
Счетчики 16-18 положительных единиц (фиг. 2) содержат одноразрядные сумматоры 22-27 на три входа комбинационного типа; счетчики 19-21 отрицательных единиц (фиг. 3) содержат одноразрядные сумматоры 28-33 на три входа комбинационного типа, Устройство работает следующим образом.
Перед началом вычисления аргумент функции хранится на регистре 1 аргумента. При вычислении, например, натурального логарифма Y = г,X при изменении аргумента функции н пределах
0,5 Х (1 аргумент в структурном виде представится где о4„— разрядные цифры аргумента принимающие значение О, 1;
n — разрядность.
В начале нычислений аргумент X умножается на 2. Это соответствует сдвигу влево аргумента на один разряд. Умножение на 2 в устройстве осущестнляется путем передачи разрядных цифр из регистра 1 аргумента в младшие разряды регистров 9, 10, 11 и 12 со сдвигом влево на один разряд. При этом разрядная цифра о -2 записывается в первый разрядный регистр 9, О -1,— но второй разрядный регистр 10 и т. п.
Разрядная цифра с -1 для указанного изменения диапазона аргумента всегда равна 1, поэтому из регистра аргумен783798.э где К = 1+2 — констенты.
Значение функции представляется и
Ill =--Ü2-с ЗпК.„ (4) Процесс выполнения итерации описывается системой рекуррентных уравнений 15 этап Х„+,=Х..К;=Х Х .2
2-й этап Y. =т - пК =Y:-8n(12 1}
Начальные условия: Xo = 2 ° Х, Y — Вп2
Рез ультат: У1 = Еп Х,.
В рекуррентных уравнениях индекс
1, 2., З,...,и; значения j на каждом 5
i-м шаге определяется очередной -й разрядной цифрой преобразуемого аргумента Х„ . В процессе выполнения итерации преобразуемый аргумент X стремится к 1:Xn = 1.
ЗО
На каждой -й итерации преобразуемый аргумент Х„ хранится на регистрах
9-12 в двухраэрядном коде в следующем виде: где определяет номер итерации; старшая цифра кода m-й разрядной цифры преобразуемого 40 аргумента; младшая разрядная цифра кода
m-й разрядной цифры преобразуемого аргумента.
Цифры кода в,, и фю; принимают значе 5 ние О или 1. Каждая m-я разрядная цифра преобразуемого аргумента +(gy(2 +
+) „) преставляется со знаком "+" или "-" на трехразрядном регистре 912 (два разряда представляют код разрядной цифры, один разряд — знак).
На каждой i-й итерации производится определение значения K; . Значение
К; определяется цифрами p „- и 4((;+,}; с учетом их знаков
О -1 +1 О +1 0 -1 +1
ЗЦ; О+1-1+1 О -1 О +1 -1
Ф Ф
"(-Ь
М 1 +1 1 1-2 1-2 1+2 1+2 1-2 1+2 (Q
Здесь приведена зависимость значений константа К; от разрядных цифр и (); при выполнении i-й итераций вычйслений. Приведенная эависи- 65 та не передается и не участвует в дальнейших вычислениях.
Далее в устройстве выполняется п однотипных шагов вычислений, в результате чего аргумент функции представляется в виде произведения
Х=1/2. B.ê„, (3)
=1 "
MocTb обусловлена тем, что на каждой -й итерации в результате умножения преобразуемого аргумента Х, на кон танту К очередная -я разрядная цифра +(; - 2" ) „., ) должна принять нулевое значение. Это обеспечивает последовательное преобразование переменной X „ в процессе выполнения итерации в 1 в соответствии с выражением (3).
Рассмотрим выполнение первого этаа вычисления логарифма в устройстве в соответствии с уравнением (5). На каждой i é итерации производятся следующие действия.
На управляющие входы блока 4 сдвига подается значение цифр )5„ „ и ;„); (ФА со своими знаками соответственно с выходов i-го и (i + 1)-го регистров
9-12 для.определения значения К, — 1 + 2
На информационные входы блока 4 сдвига подается разрядные цифры преобразуемого аргумента со знаками с выходов i-го, (i + 1)-ro,..., п-ro регистров 9-12. Так как в процессе выполнения предыдущих итераций разрядные цифры с 1-го по (— 1)-й раэряд в соответствии с алгоритмом приняли нулевое значение, то их значения на входах сдвига не подаются на
i é итерации.
В блоке 4 сдвига производится сдвиг поступавших значений разрядных цифр. При умножении преобразуемого . аргумента Хд на константу К; = 1+2 производится умножение каждой m-й разрядной цифры (m = i, (i + 1),...,п) на 1 и на +2 с последующим алгебраическим сложением. При умножении кода m-й разрядной цифры на 1 меняется вес цифры .; цифры fbi не меняется
При умножении кода на +2 уменьшается вес цифры щ.„ и
Таким образом, в блоке сдвига производится следующие сдвиги: влево на 1 разряд цифр,, .„ вправо на (j-1) разрядов цифр я„ °
u%I,i> вправо на j разрядов цифр фд „
Сдвинутые цифры „ и, и несдвинутые цифры (Ь „ с выходов блока сдвига поступают на входы счетчиков 1921 отрицательных единиц в соответствии со своими весами и знаками.
При такой организации сдвигов с выходов блока сдвига на входы каждого счетчика положительных или отрицательных единиц поступают не более четырех единиц с одинаковыми весами. . Каждый счетчик 16-18 положительных единиц (фиг. 2) и счетчик 19-21 отрицательных единиц (фиг. 3) имеет
783798 четыре выхода, соединенных с выходами блока 4 сдвига и один вход, соединенный с выходом последующего счетчика. Все счетчики выполняют одинаковые функции. Каждый р-й счетчик (р — 2, 3,..., n) осуществляется преобразование числа единиц с одинаковыми весами, поступающими на его входы, в трехраэрядный код с весами разрядов
2 ®(», 2 О " . Максимальное представимое число в таком коде 5, что соответствует максимальному числу единиц на входы счетчиков.
При поступлении единиц с выходов блока 4 сдвига на входы счетчиков 1621 значения суммы с выходов суммы первых одноразрядных сумматоров 22, )5
24, 26 и 28, 30, 32 поступают соответственно на первые входы одноразрядных сумматоров 23, 25, 27 и 29, 31, 33. Значение переносов с выходов пЕреноса указанных первых одноразряд- Щ ных сумматоров поступают на третьи входы вторых одноразрядных сумматоров предыдущих счетчиков. Значения суммы и переносов с выходов вторых одноразрядных сумматоров 23, 25, 27 поступают на первые входы соотвтствующих сумматоров 13-15 разрядных цифр, значения сумм и переносов с выходов вторых одноразрядных сумматоров 29, 31, 3;3 поступают на вторые входы соответствующих сумматоров 13-15 разрядных цифр.
В сумматорах 13, 14, 15 производится алгебраическое сложение двухразрядных чисел, поступающих с вь:ходов соответствующих счетчиков положительных единиц, с отрицательными двухразрядНыми числами, поступающими с выходов соответствующих счетчиков отрицательных единиц.
Значение сумм с выходов сумматоров 4О
13, 14,. 15 записывается в регистры
10, 11, 12. Эти суммы представляют новое-значение разрядных цифр преобразуемого аргумента Х„ и используются при выполнении следующей итерации.
После выполнения и итераций процесс вычисления первого этапа заканчивается.
На втором этапе вычислений коды разрядов преобразованного аргумента с выходов регистров 9-12 подаются со своими знаками на входы соответствующих им блоков 5-8 постоянной памяти. На выходах i-х блоков постоянной памяти формируются соответствующие кодам преобразованного аргумента логарифмическое константы FnK<. Указанные константы с выходов блоков постоянной памяти поступают на входы сумматора 2 результата, где производится алгебраическое суммирование.
Результат суммирования с выхода сум.матора 2 записывается в регистр 3 результата. Содержимое регистра 3 результата представляет результат вычисления логарифма я предлагаемом устройстве.
Для уменьшения времени выполнения второго э тапа вычислений в предлагаемом устройстве рационально применять в качестве сумматора 2 результата матрический сумматор, обеспечивающий одновременное суммирование n +
+ 1 логарифмических констант.
Выполнение второго этапа вычислений в устройстве может быть совмеще- но во времени с первым этапом вычис+ лений, так как после выполнения очередной i-й итерации на первом этапе значение кодов старших регистров разрядных цифр с 1-го по )-й сформиро.ваны и в дальнейшем не изменяются..
Быстродействие устройства может быть увеличено за счет уменьшения числа выполнения итераций на первом этапе.
В этом случае процесс вычисления логарифма в устройстве заключается в следующем. Производится выполнение
n/2+1 итерации первого этапа. Затем на входы сумматора 2 результата поступают константы К; (i = 1, 2, n/1+л) с выходов соответствующих блоков постоянной памяти. Одновременно на другие входы сумматора результата поступает значение величин с выходов
) = Х () = и/2+2, и/2+3, ...., и) регистров разрядных цифр. Эти величины представляются двумя (и/2-1)-разрядными двоичными числами. В сумматоре результата производится суммирование (n/2+1)-разрядных констант К; и двух (n/2-1)-разрядных чисел. Результат суммирования записывается в регистр 3 результата.
В прототипе на каждой итерации производится суммирование и-разряд.— ных чисел на и-разрядном сумматоре с распространением переноса через все и разрядов с общим временем вычисления логарифма, выраженное в единицах задержки на элементе, пропорционально n 2.
Эффективность изобретения заключается в сокращении времени вычисления логарифма за счет распространения переносов при сум ялровании на первом этапе только в один соседний слева разряд и одновременного суммирования всех логарифмических констант на сумматоре результата на втором этапе вычислений. Суммарное время вычисления логарифма в предлагаемом устройстве, выраженное з единицах задержки на элементе, пропорционально и.
Формула изобретения
1.устройство для вычисления логарифма, содержащее регистр аргумента, сумматор результата, регистр результата, блок сдвига, блоки постоянной памяти, причем выходы i-x блоков постоянной памяти (i = 1, 2. .. и, 783798
10 где и — разрядность устройства) подключены к i ì входам сумматора результата, выход которого соединен с входом регистра результата, о т л и ч а ю щ е е с я тем, что, с целью увеличения быстродействия устройства путем уменьшения времени вычисления на каждом этапе, в него введены регистры разрядных цифр, сумматоры разрядных цифр, счетчики положительных единиц, и счетчики отрицательных единиц, причем выход регистра аргумента соединен с входами младших разрядов регистров разрядных цифр, выходы i-x регистров разрядных цифр соединены с первыми входами i-х и вторыми входами (i-1)-х блоков постояннои памяти и с
i-ми входами блока сдвига, выход блока сдвига соединен с первой группой входов счетчиков положительных и отрицательных единиц, первые выходы
i õ счетчиков положительных единиц соединены с первыми входами i-х сумматоров разрядных цифр, вторые выходы
i- х счетчиков положительных единиц соединены с второй группой входов (i-1)-х счетчиков положительных единиц, первые выходы i-х счетчиков от25 рицательных единиц соединены с вторыми входами i-х сумматоров разрядных ,цифр, вторые выходы i-x счетчиков отрицательных единиц соединены с второй группой (i-1)-х счетчиков отри- ЗО цательных.единиц, вЫходы сумматоров разрядных цифр соединены с входами соответствующих регистров разрядных цифр.
2. Устройство по и. 1, о т л и ч а ю щ е е с я тем, что каждый счетчик положительных и каждый счет— чик отрицательных единиц содержит первый и второй одноразрядные сумматоры, причем первый, второй и третий входы первого одноразрядного сумматора и первый вход второго одноразрядного сумматора соединены с первым ,входом счетчика, выходы .суммы и переноса второго одноразрядного сумматора соединены с первым выходом счетчика, выход суммы первого одноразрядного сумматора соединен с вторым входом второго одноразрядного сумматора, выход переноса первого одноразрядного сумматора соединен с вторым выходом счетчика, третий вход второго одноразрядного сумматора соединен с вторым входом счетчика.
Источники информации, принятые во внимание при экспертизе
1. Оранский А. М., Рейхенберг А.Л.
Повышение эффективности вычислений использованием табличных предпроцессов. В кн.: Теория и применение математнческих машин. Минск, Мзд-во БГУ . им. В. И. Ленина, 1972, с. 148-159.
2. Байков В. Д., Смолов В. Б. Аппаратурная реализация элементарных функций в ЦВМ, Л., ЛГУ, 1975, с. 376 (прототип).
783798
ФЯ Ф
+2 +2
+2 +2
-г -2
-2 -2 МЗ
„„2-2
Составитель B. Венцель
Редактор Т. Рыбалова Техред С.Мигунова Корректор О. Ковинская
Заказ 8550/52 Тираж 751 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
l !
1 ! !
1
1
Филиал PPP. "Патент", г. Ужгород, ул. Проектная, 4
I
l
1





