Устройство для вычисления логарифма
Иллюстрации
Показать всеРеферат
Изобретение относится к области вычислительной техники, в частности к устройствам для выполнения математических операций в ЦВМ. Цель изобретения - повьшение.быстродействия устройства за счет сокращения времени выполнения каждой итерации. В состав устройства входят регистры положительной и отрицательной частей аргумента, регистры положительной и отрицательной частей результата , сумматор перевода, сумматор ре ,зультата, знакоразрядный сумматор аргумента, три сдвигателя, блок анализа , дешифратор, счетчик и блок постоянной памяти. Введение сумматора перевода, знакоразрядного сумматора аргумента, дешифратора, блока анализа, двух сдвигателей иновых с S связей позволяет повысить быстродействие устройства за счет сокраще (Л ния времени выполнения каждой итерации в 1,5 раза. I ил.
СОЮЗ СОВЕТСНИХ
СОЦИАЛИСТИЧЕСНИХ
РЕСПУБЛИН (50 4 G 06 F 7/556
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К А ВТОРСКОМУ СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (2 1 ) 3809046/24- 24 (22) 29,10, 84 (46) 07. 10,86, Бюл. У 37 (71) Кировский политехнический институт (72) С. И. Гаврилин (53) 681, 325(088. 8) (56) Байков В. Д., Смолов В. Б, Аппаратная реализация элементарных функций в ЦВМ. Л., ЛГУ, 1925, с. 3-76, Авторское свидетельство СССР
У 783798, кл. G 06 F 15/31, 1979. (54) УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ ЛОГАРИФМА (52) Изобретение относится к области вычислительной техники, в частности к устройствам для выполнения математических операций в ЦВМ. Цель
„„SU„„1262489 А 1 изобретения — повышение. быстродействия устройства эа счет сокращения времени выполнения каждой итерации.
В состав устройства входят регистры положительной и отрицательной частей аргумента, регистры положительной и отрицательной частей результата, сумматор перевода, сумматор ре,зультата, энакоразрядный сумматор аргумента, три сдвигателя, блок анализа, дешифратор, счетчик и блок постоянной памяти. Введение сумматора перевода, знакоразрядного сумматора аргумента, дешифратора, блока анализа, двух сдвигателей и.новых связей позволяет повысить быстро- Е действие устройства эа счет сокращения времени выполнения каждой итера- IJ Ф ции в 1,5 раза. l ип, 12624
Таблица I азряды переменной Х
1 I
Переменная номера итерации
Выходные переменные
IX,-X,! (Х, -Х, С Е, Е, 0
0 О
1 0
О
О 0 . О
1 0 О
0 0 О
1 О
0 О
1 О
О
Изобретение относится к вычислительной технике, в частности к устройствам для выполнения математических операций, и может быть использовано в быстродействующих ЦВМ, а так- 5 же при построении специализированных процессов вычислительных систем высокой производительности.
Цепль изобретения - повышение быстродействия устройства путем сок!
О ращения времени выполнения каждой итерации, На чертеже изображена структурная схема устройства для вычисления логарифма.
Устройство содержит регистры положительной 1 и отрицательной 2 частей аргумента,.положительной 3 и отрицательной 4 частей результата, сумматор 5 перевода, знакоразрядные сумматоры аргумента б и результата 7, второй 8, третий 9 и первый 10 сдвигатели, блок 11 анализа, дешифратор 12, счетчик 13, тактовый вход
14 устройства, выход 15 устройства, 25 блок 16 постоянной памяти.
В предлагаемом устройстве процесс вычисления логарифма основывается на следующих равенствах, Аргумент хЕ(0,5; 1) представляется в виде к
Х=! / (1+Е . 2 ) (1) р=1 Р
89 2 где СЕ 0,1j; Е E(-I, О, I); p=l, K номер итерации, К вЂ” разрядность аргумента, Тогда значение результата представится в виде
- p-с) Х=- „ In (1+К 2 ) . (2) р=1
На основании (1) и (2) процесс вычисления логарифма представится следующими рекуррентными выражениями
Х, =2(Х +Е г Х ); (3) где р= I,К; EF(-l, О, I); CE(0„1j, Начальное условие: Х=2Х; "=-1n2, Результат: У =1nX; Х =l. к
Переменные Е и С на каждой р-й р итерации определяются по значениям старших разрядов Х таким образом, чтобы первый после запятой разряд Х, в результате выполнения (3) принимал нулевое значение. При этом при заданных начальных условиях переменная Х будет стремиться к значению единица с точностью .до К-й двоичной цифры, а переменная Х, - к значению 1п Х.
8 табл. 1 приведена зависимость значений Ер и С от значений старших разрядов переменной Хр, 1202489
Продолжение табл.1 азряды переменной Х, Выходные пере 4енные
1 .ч
Переменная номера ите« рации,-.х, I 1х,-х, I )X,-Õ,! С
О
О О
1 0
О
-1 0
О
О
О, О
О
О
О
0
-1 0 1
О О 1.0
1 0 1
0
О
О
Обозначения, принятые в табл. 1:
Ф
Ер, Š— двоичные переменные для уйравления направлением шага; Ер
*Ер-Е Е+, E E (О, 1 ; gg{0, )) переменная . номера итерации y) при
p ), ЧО, при р, I
Прочерками в табл. 1 обозначены случаи, когда значение переменной не влияет на выходные сигналы.
-1 0 0
О 0 0
1, О 0 а 1 0
В предлагаемом устройстве на кажИ дом шаге итераций переменных Х, и р Р хранятся В избыточной ДВОичнОЙ системе счисления с основанием 2 и циф» рами -1, О, l; любое Х-разрядное число s этой системе счисления пред-
55 ставляется в внае к х= (х,-х-,) г, (5) р= l
Хр
Хрр
Хр
Ур у
0
S 1,2624 где Х (0, !j — положительная цифра р-го разряда;
Х pe,; ф — отрицательная цифра р-го разряда.
В устройстве регистры положительной 1 и отрицательной 2 частей аргумента, положительной 3 и отрицательной 4 частей результата предназначены для хранения соответственно поло+ + жительных Х и У и отрицательных 10
Х и У разрядных цифр агрумента Х .и результата У каждой итерации. Каждый регистр содержит (К+1) двоичных триггеров, К триггеров для хранения дробной части переменной р=1, К и 15 один триггер для целой части переменной, В табл, 2 приврдено соответствие между цифрами У, Х и У р
Х и значение разряда знакопеременной У, Х 20 р Р
Таблица 2
Сумматор 5 предназначен для преобразования результата вычислений из избыточной системы счисления в двоичную У, У=Хпх, которое представ- д> ляет собой сложение с распространением переноса положительной и отрицательной частей переменной У, к
Сумматор 5 может быть выполнен в виде сверхнараллелъного с ускорением распространения переносов по типовой
СХЕМЕР
Знакоразрядные сумматоры 6 и 7 предназначены для выполнения сложений-вычитаний в соответствии с равенствами (3) и (4) над числами в избыточной системе счисления, Такие сумматоры известны в вычислительной технике, 55
Сумматор 7 в процессе работы не требует перенастройки, на его управляющие шины заведены потенциалы работы сумматора на вычитание.
89 Ь
Сдвигатели 8 и 9 предн".çначены для параллельного сдвига содержимого регистров 1 и 2 на (р-с) разрядов влево. Сднигатель 10 предназначен для сдвига на один разряд влево унитарного параллельного кода номера итерации р, поступающего с дешифратора !2, в результате этого сдвига на выходе регистра 10 сднига образуется унитарный параллельнэй код величины сднига (р-c) который затем используется для управления сдвигателями 8 и 9. Сднигатели 8-10 имеют известную структуру и выполне-, ны на матрицах элементов ИР ИЛИ..
Блок 11 анализа предназначен для реализации логической функции, и Редставленной табл. 1, т.е. для определенин по старшим разрядам Х и номер ру итерации р управляющих сигналов С, E,,Е„ на каждом итерационном шаге. р Р
Блок 11 анализа реализует следующие логические функции в соответствии с логическим выражением
С Х Х Х,Х Х МХ X Х Х X Ч (7)
VХ,Х+Х Х
Блок 11 анализа выполнен на логических элементах И и ИЛИ, Значения переменных Х, Х, Х+Р Х, Х, Х
1 Р РР 2Р поступают на первый вход блока 11 анализа с регистров 1 и 2. Переменная, которая представляет собой первый разряд К-разрядного унитарного параллельного кода номера итерации P поступает на второй вход блока 11 анализа с дешифратора 12.
Счетчик 13 тактов предназначен для счета номеров р итераций, т.е. количества тактовых импульсов, поступивших по тактовому входу 14 устройства, Дешифратор 12 преобразует позиционный код р в унитарный.
Блок 16 памяти служит для хране ния и выборки К-разрядных логарифмических констант вида 2п(1+Е 2 ()) по значениям р, Е, С, поступающим на адресные входы блока.
Предлагаемое устройство для вычисления логарифма двоичных чисел у=
-1пх, хам(0,5, 1) работает следукицим образом.
126.P E С Переменная Х Переменная У р р
-6 2=0 -1 0-1-1 0 О 0 -1 0
-0,1 0-1-1 0 О 0-1 0 +0,1 0 1 0 0 0 1 0
0,1011011
10110!1000 — I 0-1-1 0-1-1 0 О
0 2
1 -1 О
l 0-1 0 0-1 0-1 0 О
1,0-1 О 0-1 0-1
0,0 0 0 0 0 0 0 0 0
0,0 0-1-1-! 0 0-1 0
2 +1 0
0,0-1 0 I- I О 0-1 0
0,0 0 0-1-1-1-1 0 0
1,0 0 О-l-!-1 0 0-1
1,0 0 0-1-1-1
3 +1 0
0,0-1-t 0 1 О-l-l 0
0000000000
1,000000000
4 0 0
0,0-1-1 0 1 0 1-1 0
00 00000000
1,0 0 0 О О О 0 О O
5 О О.
1,00000000000-1-10101-1
0,0 О 0 0 0 0 0 0
6 0 О
1,0 0 0 0 0 0 0 0 О
Перед началом вычисления в регистры I и 3 заносятся в двоичной систе- ме счисления начальные условия: Х
=2х У :=-Уп2. Далее производится
1 выполнение итераций н соответствии с уравнениями (3) и (4).
На каждой итерации в устройстве выполняются следующие операции. В счетчике 13 тактов производится прибавление единицы по синхроимпульcv с входа 14, в дешифраторе код итерации р дешифрируется и поступает на информационные входы блока IO сдвига, одновременно в блоке 11 анализа по старшим разрядам регистров 1 и 2 формируются значения переменных С, Е
Е, которые поступают на адресные р у входы блока 16 постоянной памяти, + кроме того, значения Е, Е„поступают на управляющие входы сумматора 6, а значение С вЂ” на управляющий вход сдвигателя 10, на выходе которого формируется значение величины сдвига (р-с), которое поступает на управляющие входы сдвигателей 8 и 9, в которых значение переменной Х сдвигается вправо на (р-с) разрядов, одновременно из блока 16 памяти выбирается необходимое значение константы In (I+E . 2. Р 1).
Затем в знакоразрядных сумматорах 6 и 7 производится алгебраическ ое сложение в соо тв ет ст вие с ра2489 В венствами (3) и (4). В результате на выходах сумматоров 6 и 7 формируются переменные 1/2 Х, У в избыточной двоичной сйстеме счисления, которые записываются соответственно в регистрах 1 и 2 со сдвигом на один разряд влево и в регистрах
3 и 4. При этом значения переменных
Х У заменяются на их новые энаР P чения Х и У, вычисленные в данр 1 Р+1 ной итерации.
При сдвигах влево разряды переменной Х теряются, однако поскольку нулевое их значение обеспечивает выполнение равенств . (6)-(8), то это не вносит ошибки в работу устройства.
--После выполнения К итераций в регистрах 3 и 4 хранятся результаты вычислений У lnx, представленных в избыточной системе счисления. Преобразование результата в обычную двоичную систему производится на сум:маторе 5 сложением отрицательной и положительной частей числа У с распространением переносов.
В табл. 3 приведен пример вычисления логарифма числа Х=0,1011011.
В конце табл. 3 приведено преобразование результата иэ избыточной в обычную систему счисления путем алгебраического сложения двух двоичных чисел — положительной и отрицательной частей избыточного результата.
Т а б л и ц а 3
1262489
ВНИИПИ Заказ 5428/46 Тираж 671 Подписное
Произв.-полигр. пр-тие, г. Ужгород, ул. Проектная, 4
Преобразование: 0,00001010
1 10011110
1,10101000
Результат в прямом коде
-0,0101011.
Отличается от Хп 0,7109375 на величину а 6 2
Формула и эобретения10
Устройство для вычисления логарифма, содержащее сумматор результата, регистры положительной и отрицательной частей результата, блок постоянной памяти, счетчик, первый сдвигатель, регистры положительной и отрицательной частей аргумента, выход блока постоянной памяти соединен с первым информационным входом сумматора результата, выход положительной части результата которого соединен с входом регистра положительной части результата, о т л ич а ю щ е е с я тем, что, с целью 25 повышения быстродействия устройства путем сокращения времени выполнения каждой итерации, в него введены сумматор перевода, знакоразрядный сумматор аргумента, дешифратор, блок анали-З0 эа второй и третий сдвигатели, сумматор результата выполнен знакоразряд" ным,причем тактовый вход устройства соединен с входом счетчика, выход коа торого соединен с первым адресным З5 входом блока постоянной памяти и входом дешифратора, выход которого соединен с информационным входом первого сдвигателя,выход которого соединен с управляющими входами второго и тре- 40 тьего сдвигателей,выходы которых со ливены соответственно с первым и вторым информационнымн входами знакоразрядного сумматора аргумента, первый и второй выходы которого соединены соответственно с входами регистров положительной и отрицательной частей аргумента, выходы положительной части результата которых соединены с группой входов первого и второго операнда блока анализа, выход направления шага итерации которого соединен с вторым адресным входом блока постоянной памяти и входом управления знакоразрядного сумматора аргумента, выходы отрицательной части результата регистров положительной и отрицательной частей аргумента соединены соответственно с информационными входами второго и третьего сдвигателей и с третьим и четвертым информационным входами знакоразрядного сумматора аргумента, первый выход дешифратора соединен с входом признака номера итерации блока анализа, вь1ход управляющего сдвига которого соединен с управляющим входом первого сдвигателя и третьим адресным входом блока постоянной памяти, выходы регистров положительной и отрицательной частей результата соединены соответственно с первым и вторым входами сумматора перевода и вторым и третьим информационными входами сумматора результата, выход отрицательной части результата которого соединен с входом регистра отрицательной части результата, выход сумматора перевода соединен с выходом устройства.