Устройство для вычисления тангенса
УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ ТАНГЕНСА, содержащее два сумматоравычитателя , два сдвиговых регистра, блок управления и блок анализа, причем информационные входы первого и второго сумматоров-вычитателей соединены с прямыми выходами соответственно первого и второго сдвиговых регистров, входы управления сдвигом которых соединены с первым выходом блока управления, первый и второй выходы блока анализа соединены с управляющими входами соответственно первого и второго сумматоров-вычитателей , отличающееся тем, что, с целью повышения быстродействия , в него введены четыре группы элементов И, причем вход пуска устройства соединен с входом пуска блока управления и входами сброса первого и второго сумматоров-вычитателей , установочные входы которых соединены с выходами элементов И соответственно первой и второй групп, первые входы которьк соединены соответственно с прямым и инверсным выходами первого сдвигового регистра , установочный вход которого соединен с входом задания переменной устройства и установочным входом второго сдвигового регистра, выходы первого и второго сумматоров-вычитателей соединены соответственно с первым и вторым информационными входами блока анализа и первыми входами элементов И соответственно третьей и четвертой групп, выходы которых соединены с информационными входами соответственно первого и второго сдвиговых регистров, прямые выходы которых соединены соответственно с первым и вторым входами синхронизации сумматоров-вычитателей, k/) вторыми входами элементов И всех групп и выходом готовности устройства , причем блок управления содержит генератор импульсов, два триггера, счетчик, дешифратор нуля, три элемента И, элемент ИЛИ и четыре элемента задержки, вход Пуск блока управления соединен с установочным вхо00 дом счетчика и через первый элемент задержки - с первым входом первого триггера, прямой выход и второй вход S которого соединены соответственно с первым входом первого элемента И . и выходом элемента ИЛИ, первый и второй входы которого соединены соответственно с первым входом первого элемента И и выходом элемента ИЛИ, первьй и второй входы которого соединены соответственно с входом признака перехода блока управления и выходом дешифратора нуля, вход которого соединен с выходом счетчика, счетный вход которого соединен с выходом первого элемента И, вторым оыходом блока управления и через вто
СОЮЗ СОВЕТСНИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИН (19) () 1) (51)4 G 06 F 7/548
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
H ABTOPCHOMY СВИДЕТЕЛЬСТВУ (21) 3734265/24-24 (22) 24.04.84 (46) 23.10.85. Бюп. Ф 39 (71) Кубанский государственный университет (72) Н.С.Анишин, В.Л.Кривенко и А.M.Òèâêoâ (53) 681.325(088.8) (56) Авторское свидетельство СССР
Ф 744595, кл. G 06 F 7/548, 1978.
Авторское свидетельство СССР
Р 537344, кл. G 06 F 7/548, 1974. (54)(57) УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ
ТАНГЕНСА, содержащее два сумматоравычитателя, два сдвиговых регистра, блок управления и блок анализа, причем информационные входы первого и второго сумматоров-вычитателей соединены с прямыми выходами соответственно первого и второго сдвиговых регистров, входы управления сдвигом которых соединены с первым выходом блока управления, первый и второй выходы блока анализа соединены с управляющими входами соответственно первого и второго сумматоров-вычитателей, о т л и ч а ю щ е е с я тем, что, с целью повышения быстродействия, в него введены четыре группы элементов И, причем вход пуска устройства соединен с входом пуска блока управления и входами сброса первого и второго сумматоров-вычитателей, установочные входы которых соединены с выходами элементов И соответственно первой и второй групп, первые входы которых соединены соответственно с прямым и инверсным выходами первого сдвигового регистра, установочный вход которого соединен с входом задания переменной устройства и установочным входом второго сдвигового регистра, выходы первого и второго сумматоров-вычитателей соединены соответственно с первым и вторым информационными входами блока анализа и первыми входами элементов И соответственно третьей и четвертой групп, выходы которых соединены с информационными входами соответственно первого и второго сдвиговых регистров, прямые выходы которых соединены соответственно с первым и вторым входами синхронизации сумматоров-вычитателей, вторыми входами элементов И всех групп и выходом готовности устройства, причем блок управления содержит генератор импульсов, два триггера, счетчик, дешифратор нуля, три элемента И, элемент ИЛИ и четыре элемента задержки, вход "Пуск" блока управ ления соединен с установочным входом счетчика и через первый элемент задержки — с первым входом первого триггера, прямой выход и второй вход которого соединены соответственно . с первым входом первого элемента И и выходом элемента ИЛИ, первый и второй входы которого соединены соответственно с первым входом первого элемента И и выходом элемента ИЛИ, первый и второй входы которого сое- динены соответственно с входом признака перехода блока управления и выходом дешифратора нуля, вход которого соединен с выходом счетчика, счетный вход которого соединен с выходом первого элемента И, вторым выходом блока управления и через вчо1187162
5 !
0 !
25 рой элемент задержки — с первыми входами второго и третьего элементов И, вторые входы которых соединены соответственно с прямым и инверсным выходами второго триггера, первый и второй входы которого через соответственно третий и четвертый элементы задержки соединены соответственно с инверсным выходом первого триггера и выходом второго элемента И, выход генератора импульсов соединен с вторым входом первого элемента И, выходы второго и третьего элементов И и инверсный выход перво" го триггера соединены соответственно с третьим, первым и четвертым выходами блока управления, причем блок анализа содержит сумматор, схему сравнения, два элемента НЕ и три сумматора по модулю .два, первый и второй входы блока анализа соединены с соответствующими входами схемы
Изобретение относится к вычислительной технике и может использоваться при аппаратном вычислении элементарных функций в цифровых системах предварительной обработки информации.
Цель изобретения - повышение быст родействия.
На фиг. 1 представлена блок-схема устройства для вычисления тригономет рического тангенса; на фиг. 2 и 3— функциональные схемы блока управления и блока анализа соответственно; на фиг. 4 — схема сравнения; на фиг. 5 и 6 — схема организации цепей сброса сумматоров-вычитателей.
Устройство для вычисления тангенса содержит сумматоры-вычитатели 1, сдвигающие регистры 2, группы элементов И 3, блок 4 анализа, блок 5 управления, вход 6 пуска, вход 7 блока управления, выход 8 блока анализа, выходы 9 — 12 блока управления, входы 13 сдвиговых регистров, входы 14 сумматоров-вычитателей, входы 15 и 16 блока анализа, входы 17 элементов И, выходы 18 сумматоров-вычитателей, входы 19 и 20 блока анализа, сравнения, выход которой соединен с первым входом первого сумматора по модулю два и через первый элемент НŠ— с третьим выходом блока анализа; знаковые разряды первого и второго входов которого соединены соответственно с первым и вторым входами второго сумматора по модулю два, выход которого соединен с вторым входом первого сумматора по модулю два, выход которого соединен с первым входом третьего сумматора по модулю два, второй вход и выход которого соединены соответственно с выходом знака сумматора и входом второго элемента НЕ; выход и вход которого соединены соответственно с вторым и первым выходами блока анализа, третий и четвертый входы которого соединены соответственно с первым и вторым входами сумматора.
I 2 прямой 21 и инверсный 22 выходы первого сдвигового 23 сумматоров-вычитателей, выходы 24 и 25 блока анализа, входы 26 и 27 сдвиговых регистров.
Блок управления содержит генератор 28 импульсов, триггеры 29, элемент ИЛИ 30, элементы И 31, элементы 32 задержки, счетчик 33 и дешифратор 34.
Блок анализа содержит схему 35 сравнения, сумматор 36, сумматоры 37 по модулю два, элементы НЕ 38, выходы 39 и 40.
Схема сравнения содержит элементы И 41 и элементы ИЛИ 42.
Все сумматоры-вычитатели 1, комби-, Г национный сумматор 36, схема 35 срав+ нения, группы элементов И 3, сдвигающие регистры 2 содержат (n+3)-разрядных компонент, где n — число разрядов аргумента t представленного двоичным числом без знака. Для входной, промежуточных и выходной величин принят масштаб, равный 2, т.е. запятая подразумевается находящейся между и-м и (и+ 1)-м разрядами (нумерация ведется от младших к старшим).
11871
Связи между входом занесения всего устройства (аргумент t) и вторыми входами сдвигающих регистров 2 выполнены и-разрядными шинами. Причем выполнены эти связи со смещением шин на один разряд в сторону старших разрядов (для первого регист1 ра 2) rt и на два разряда в сторону младших разрядов (для второго регистра 2). При этом во втором регист- 10 ре 2 в качестве второго входа занесения использованы инверсные разрядные входы, т.е. содержимое заносится в обратном коде со знаком минус
- t1 15
<$ с-2 ).
Связи между прямым 21 и инверсным 22 выходами первого сдвигающего регистра с входами групп элементов И 3 производятся со смещением шин на один разряд в сторону младших разрядов.
При смещении шин некоторые из них "повисают в воздухе". Если это шины младших разрядов, то они связываются с низким, нулевым уровнем (для регистров 2 и первой группы элементов И 3); либо с высоким, единичным уровнем (для второй группы элементов И 3). В случае, если это знаковые шины, то они подключаются к знаковым разрядам источника информации. Входы "Сброс" обоих сумматоров-вычитателей соединены с входами R некоторых (назовем их j-ми)
35 триггеров и с входами S остальных (назовем их i-ми) триггеров их накопительных регистров. К j-м триггерам отнесены все те триггеры первого или второго сумматоров-вычитателей 1, номера которых совпадают с номерами разрядов двоичного представления в дополнительном коде величин
"-2,8452" или "-0,0426-2 " соответBpнно разрядов, Содержащих нули.
Параметр (длительность временной задержки) элемента 32 задержки выби:рается равным половине периода следования импульсов от генератора 28.
Амплитуда импульсов равна высокому, 50 т.е. единичному уровню, а длительность меньше половины периода следования. При отсутствии импульса на выходе генератора — низкий, соответствующий нулю, уровень напряжения. Ы
Период следования импульсов генератора 28 должен быть не меньшим, чем удвоенное время сложения чисел в сум62 4 маторе-вычитателе 1 (принимается, что время сдвига содержимого сдвигающих регистров 2 не больше времени сложения сумматоров-вычитателей).
Все величины представлены в дополнительном коде. В этом же коде работают все сумматоры, Работа устройства основана .на итерационном алгоритме и ряде вспо-: могательных соотношений
q1 з1п(Х5- У3 5 )sign (Ц+и) э
X =Х. -q .я21" ;
3-1 р
Y =Y>-< +q>, U2 1 и
tgt=Y„grra t< (O,q), где j =1, 2,..., (n+2) — номер итерарации; и разрядность аргумента t (без знака);
r - номер итерации (rcn+1), для которой Х =У„ в пределах разрядной сетки, или .номер последней итерации.
Х =t Y =-t -2 " U=2 ° t — 2,8452, о о
ы=- t-0 0426.
4
+1,если 270
SignZ -1, если ZcO стоп при 2=0.
Работа предлагаемого устройства
« происходит в два этапа: занесение в регистры 2 аргумента и выполнение предварительных вычислений величин, участвующих в итерациях, и выполнение итераций (для вычисления тангенса).
Перед началом вычисления триггеры 29 блока 5 управления сброшены в "0" (это делается в конце предыдущего процесса вычисления тангенса, либо при включении питания). Значение аргумента t(te PO, s/4)) поступает извне через шины занесения на вход первого и второго сдвигающих регистров 2, куда благодаря особому смещению шин в связях заносятся вели-, t
-чины 2t и - — — 2
С приходом сигнала "Пуск" (импульс с положительной амплитудой, соответствующей высокому, единичному уровню) в первый и во второй сумматоры-вычитатели 1 заносятся двоичные величины, равные приближенному (n+3)-разрядному представлению констант "-2,8452" и "-0,0426-2 ", соответственно, путем избирательного сброса в "0" или установки в "1" тех или иных триггеров их накопительных регистров. Затем эти величины
1187162
25 поступают с выходов сумматоров-вычитателей 1 на первый 15 и второй 16 входы блока 4 анализа, который определяет, какое из них больше. На первом 24 и втором 25 выходах этого блока появляются соответственно низкий и высокий уровни, которые, поступив на первый и второй сумматоры-вычитатели 1, переключают их в режим сложения и вычитания соответственно.
Также одновременно .с приходом сигнала "Пуск" через первый вход 6 в блок 5 управления этим сигналом в вычитающий счетчик 33 заносится число и+3 (для последующего подсчета числа итераций).
Спустя некоторое время сигнал
"Пуск", поступая на вход первого
20 триггера 29, устанавливает его в "1", открывая тем самым первый элемент И 31.
Очередной импульс от генератора 28 пройдет на второй выход 10 блока 5 и далее на синхровходы 14 сумматоров-вычитателей 1, производя подсуммирование содержимого первого сдвигающего регистра 2 и вы- читание содержимого второго соответственно к содержимому первого и от содержимого второго сумматоров-вычитателей 1. Их новые содержимые будут "2 ° t 2,8452" и "1/4t — 0,00426".
Этот же сигнал от генератора 28, поступив на вычитающий счетчик 33, уменьшит его содержимое на единицу, и, пройдя через элемент 32 задержки и через элемент И 31, появится на третьем выходе 11 блока 5 управ- 40 ления. Сигнал с этого выхода является разрешающим на взаимную перезапись с помощью четырех групп элементов И 3, содержимых сдвигающих реГистров с одноименнйми сумматорами 45 вычислителями. Причем в сумматорывычитатели 1 засылается содержимое только первого регистра 2, уменьшенное в два раза за счет смещения шин в многоразрядных связях между этими узлами. Выход 22 - инверсный, поэтому во второй сумматор-вычитатель 1
-n занесется величина - t -2, в то же время в первый сумматор-вычитатель 1 занесется величина t, Выполнение вычислительного процес. са происходит итерациями, т.е, одинаковыми в своей последовательности действиями. Число итераций (n+2)( однако они могут закончиться раньше, если Х„=7„, в последнем случае число итераций будет равно r.
Одна иэ итераций описывается следующим образом.
Текущие содержимые сумматороввычитателей 1 X >.1и Y>., и сдвигающих регистров 202 + иа 2 поступают на входы 15, 16, 19 и 20, соответственно, блока анализа, где они сравниваются с помощью схемы 35 сравнения, комбинационного сумматора 36 и трех сумматоров 37 по модулю два
Если содержимые сумматоров-вычитателей равны, на втором выходе 40 схемы 35 сравнения появится сигнал низкого уровня напряжения, который, пройдя через первый элемент НЕ 38, превратится в сигнал высокого уровня и .поступит на третий выход 8 блока 4 анализа. Далее он попадает на второй вход 7 блока 5 управления, где через элемент ИЛИ 30 поступает на вход первого триггера 29 Последний сбрасывается в "0"; закрывая дальнейшее поступление сигналов от генератора.28 и подавая с инверсного выхода высокий сигнал на вы-.. ход 12 "Готово", а через элемент 32 задержки — на вход второго триггера 29, устанавливая его в "0" и подготавливая блок 5 управления для новых вычислений тангенса.
Если же содержимые сумматороввычитателей 1 не равны, на выходе 39 схемы 35 сравнения с помощью элементов И 41 и ИЛИ 42 образуется сигнал высокого уровня, если.код числа, интерпретируемый как число без знака, на первом входе 15 больше, чем на втором 16 Этот сигнал вместе с сигналами с выхода комбинационного сумматора 36 и с выхода второго сумматора 37 по модулю два, учитывающего знаки сравниваемых чисел, сум- мируется с помощью сумматоров 37 по модулю два и поступает на первый 24 и через второй элемент НŠ— на второй выход 25 блока 4 анализа. Этот сигнал (на выходе 24) равен
1-а 1
Он управляет режимом работы
r первого (с выхода 24) и второго (с выхода 25) сумматоров-вычитателей 1.
1187162
Очередной импульс от генератора 28 проходит через открытый первый, элемент И 31 на второй выход 10 и далее на синхровход 14 обоих сумматоров-вычитателей 1. Он разрешает под- 5 суммирование содержимых первого и второго сдвигающих регистров 2 к содержимым одноименных сумматоров-вычитаталей 1 (причем, поскольку один из них работает в режиме вычитания, то к его содержимому происходит подсуммирование содержимого сдвигающего регистра 2 со знаком минус).
Этот же импульс, пройдя через элемент 32 задержки, поступает через 15 элемент И 31, открытый высоким сигналом с инверсного выхода второго триггера 29, на первый выход 9 блока 5 управления и далее на входы 13 сдвига обоих сдвигающих регистров 2. 20
Этим самым содержимое обоих регистров 2 уменьшается вдвое. Заметим, что сдвиг — арифметический, т.е. знаковый разряд не сдвигается, а соседний со знаковым разряд при сдвиге 25 повторяет его значение. Таким образом, новые содержимые регистров 2 приготавливаются для следующей итерации, если она состоится.
Каждая итерация приводит к умень- 30 шению содержимого вычитающего счетчика ЗЗ. В тот момент, когда оно станет равйым нулю, сработает дешифратор 34 нуля, на выходе которого высокий сигнал поступит через эле35 мент ИЛИ 30, на вход первого триггера 29, сбросив его в нуль. Это приводит к тому, что прекратится подача импульсов от генератора 28, так как первый элемент И 31 закроется. Одно- 40 временно на выход 12 поступит сигнал
"Готово, так как итерации закончьГ= лись и результат готов. Значение тангенса находится на выходах и младших разрядов в виде п-разрядного двоичного числа без знака в масштабе 2"
После сигнала "Готово" второй триггер также сбросится в "0" с помощью элемента 32 задержки, подготавливая блок 5 управления к очеред ному вычислению тангенса, Остановимся подробнее на работе схемы 35 сравнения. Если цифры в старших разрядах равны, то сравнение выполняется для следующих разрядов, более младших и т.д. Если какие-то сравниваемые разряды не равны, то сигнал
l об этом передается в виде высокогб уровня, если на первом входе 15 . единица, а на втором 16 нуль, на первый выход 39 схемы 35 сравнения.
Одновременно сигнал "1" с первого элемента 41 данного разряда, пройдя через элемент ИЛИ 42 на соседний и последующие более младшие разряды, запрещает сравнение в остальных разрядах. Если числа равны во всех разрядах, на втором выходе 40 появится сигнал в виде низкого уровня напряжения. В остальных случаях на выходе 40 — высокий уровень напряжения, подаваемый через "монтажные" ИЛИ с выходов либо первых, либо вторых элементов 41.
Максимальная относительная погрешность вычисления тангенса зависит от разрядности и и в лучшем случае (при п)10) составляет w 0,1Х.
Быстродействие обратно пропорцио" нально разрядности и. Среднее время вычисления одного значения тангенса равно 2. п.-t<„ (t z„ — время сложения на сумматоре-вычитателе 1).
1187162
Фиг.2
1187}62
mÄ= 101, 00100111701
1187162 т m 111t т70юрооо фиг.о
Составитель А.Зорин
Редактор Н.Данкулич Техред М.Гергель Корректор M.Äe öù<
Заказ 6551/54 Тираж 709 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Филиал ППП "Патент", г.ужгород, ул.Проектная, 4







