Устройство для вычисления тангенса

 

ОПИСАНИЕ

ИЗОБРЕТЕНИЯ i i 650073

Союз Советских

Социалистических

Республик

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (61) Дополнительное к авт. свид-ву (22) Заявлено 18.08.75 (21) 2166171/18-24 с присоединением заявки № (23) Приоритет (43) Опубликовано 28.02.79. Бюллетень № 8 (45) Дата опубликования описания 28.02.79 (51) М. Кл.-

G 06F 7/38

Государственный комитет (53) УДК 681.325 (088.8) по делам изобретений и открытий (72) Авторы изобретения

А. Л. Рейхенберг и Р. Я. Шевченко (71) Заявитель (54) УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ ТАНГЕНСА

Изобретение относится к области цифровой вычислительной техники и может быть использовано для аппаратного вычисления тригонометрического или гиперболического тангенса преимущественно в специализированных управляющих или вычислительных цифровых машинах и системах в реальном масштабе времени.

Известно использование в аналоговых и модулирующих установках и машинах устройств для воспроизведения тангенсной зависимости (1).

В цифровых машинах вычисления функции тангенса выполняются при помощи стандартных подпрограмм, использующих разложение функции в ряд или апроксимацию полиномами Чебышева.

Известно устройство для вычисления тригонометрических функций, состоящее из двух сдвигающих регистров, преобразователей прямого кода в дополнительный, двух последовательных комбинационных сумматоров, счетчика итерации, дешифратора, схем выдачи, схемы задания констант, двоичного счетчика, схемы сравнения, схем И и ИЛИ, триггеров и схемы управления, причем выход первого сумматора подключен ко входу первого сдвигающего регистра, входы управления сдвигающих р;:гистров подключены к соответствующим входам схемы управления (2).

Известен итерационный метод вычисления тангенсной функции, основанный на вычислении тригонометрических синуса и косинуса с их последующим делением по алгоритму подобия (3).

Прототипом изобретения является устройство для вычисления тангенса, содержащее три сумматора-вычитателя, четыре сдвигающих регистра, коммутатор, блок памяти, блок анализа сходимости, блок анализа знака, блок управления, причем выход первого сумматора-вычитателя подключен ко входу первого сдвигающего регистра, выходы первого, второго и третьего сдвигающих регистров подключены к первым входам соответствующих сумматоров-вычитателей, второй вход первого сумматора-вычитателя подключен к выходу коммутатора, ко входам которого подключены первый и второй выходы блока памяти и первый выход блока управления, другие выходы которого подключены к управляющим входам сдвигающих регистров и блока памяти, другой выход первого сдвигающего регистра соединен со входом блока анализа сходимости, выход которого подключен к первому входу блока управ650073

50

g J- .1i: + g.2 < + >;

<1+i = 1 — др,.2 — < + >;

55 ления, третий выход первого сдвигающего регистра соединен со входом блока анализа знака, выходы которого подключены к управляющим входам сумматоров-вычитателей, выход четвертого сдвигающего регистра подключен ко второму входу второго сумматора-вычитателя (4).

Недостатком такого устройства является необходимость частичной перестройки структуры для организации двух этапов цикла вычисления: операций вычисления синуса и косинуса и последующего деления.

Перестройка структуры определяет невысокую надежность вычисления, повышает вероятность сбоев.

Цель изобретения — повышение надежности устройства путем исключения перестройки структуры.

Для достижения этой цели устройство содержит блок повторения итераций и блок деления, входы которого соединены с выходом второго и третьего сумматоров-вычитателей, а выход — со входами третьего и четвертого сдвига ющих регистров, вход второго сдвигающего регистра соединен с его входом, второй вход третьего сумматора и вычитателя подключен к третьему выходу блока памяти, управляющий вход блока деления подключен к дополнительному выходу блока управления, первый выход которого подключен также ко входу блока повторения итераций, выход которого подключен ко второму входу блока управления.

На чертеже представлена блок-схема устройства для вычисления тангенса.

Устройство для вычисления тангенса содержит сумматоры-вычитатели 1 — 3, сдвигающие регистры 4 — 7, блок 8 памяти, коммутатор 9, блок 10 анализа сходимости, блок 11 анализа знака, блок 12 деления, блок 13 управления и блок 14 повторения итераций.

Выход сумматора-вычитателя 1 соединен со входом сдвигающего регистра 4, первый выход которого подключен к первому входу сумматора-вычитателя 1. Второй выход сдвигающего регистра 4 соединен со входом блока 10 анализа сходимости, выход которого соединен со входом блока 13 управления. Третий выход сдвигающего регистра 4 соединен со входом блока 11 анализа знака, первый выход которого соединен с управляющими входами сумматороввычитателей 1 и 3, второй выход блока 11 анализа знака соединен с управляющим входом сумматора-вычитателя 2. Выход сдвигающего регистра 5 соединен с его входом и с первым входом сумматора-вычитателя 2, второй вход которого соединен с выходом третьего сдвигающего регистра 6.

Выход четвертого сдвигающего регистра 7 соединен с первым входом сумматора-вычитателя 3. Первый и второй выходы блока

8 памяти соединены со входами коммутато5

ЗО

40 ра 9, выход которого соединен со вторым входом сумматора-вычитателя 1. Третий выход блока 8 памяти соединен со вторым входом сумматора-вычитателя 3. Выходы сумматоров-вычитателей 2 и 3 соединены со входами блока 12 деления, выход которого соединен со входами сдвигающих регистров б и 7. Выходы блока 13 управления соединены с управляющими входами сдвигающих регистров 4 — 7, со входом блока 8 памяти, с управляющим входом блока 12 деления и со входами блока 14 повторения итерации и коммутатора 9. Выход блока повторения 14 итерации соединен со вторым входом блока 13 управления. Блок 8 памяти выполнен с поразрядной выборкой каждым тактовым импульсом одновременно трех констант: вида are tg2 — < +ц (первый выход), вида arth 2-1 + > (второй выход) и вида 2 — О+ 1 (третий выход), где / — номер итерации.

Блок 10 анализа сходимости представляет собой цифровую схему сравнения кодов с логическим нулем. Блок 11 анализа знака содержит, например, триггер с логическими элементами. Блок 12 деления представляет собой устройство цифрового деления. Блок 13 управления содержит генератор тактовых сдвигающих импульсов, счетчик, распределитель и логические элементы. Блок 14 повторения итераций содержит, например, счетчик, триггер и логические элементы. Входом устройства являются входы ячеек разрядов сдвигающего регистра 4. Выходом устройства являются выходы ячеек разрядов сдвигающего регистра 7.

Устройство работает на основе разностно-итерационного алгоритма, основанного па принципе операций псевдоделения и псевдоумножения. Алгоритм может быть представлен в виде системы рекуррентных соотношений, например, для двоичной системы счисления с фиксированной запятой:

Hg.„q — — 6 — д а ;

+1 при О О;

qJ = sign OJ = — 1 при 6, (О;

/=О, 1,.„., и;

Для вычисления тригонометрического тангенс а используются константы

arctg2 — + >, для вычисления гиперболического тангенс а используются константы а; = arth2 — 1 +ц. Все соотношения алгоритма и операция деления вычисляются параллельно за n+1 итерацию, где и — число разрядов аргумента, причем каждое рекуррентное соотношение вычисляется по650073 следовательным путем за и + ти тактов, где т — число дополнительных разрядов для компенсации погрешности усечения при сдвиге.

При вычислении тригонометрического тангенса устройство работает следующим образом.

Первоначально сдвигающие регистры 4, 6 и 7 устанавливаются в нулевое состояние. В сдвигающий регистр 5 устанавливается единица, представленная всеми значащими разрядами. Управляющий сигнал с выхода блока 13 управления выключает блок 14 повторения итерации и устанавливает коммутатор 9 в положение, при котором ко второму входу сумматора-вычитателя 1 подсоединен первый выход блока 8 памяти. В первый сдвигающий регистр 4 в параллельном коде подается заданный аргумент О. Тактовые сдвигающие импульсы с выходов блока 13 управления, подаваемого в каждой итерации в виде последовательности (серии), продвигают содержимое сдвигающих регистров 4 — 7 на входы сумматоров-вычитателей 1 — 3, причем на вторые входы сумматоров-вычитателей

1 и 3 поразрядно с каждым тактовым сдвигающим HMIIvJIbcoM поступают константы а; = агс1д2 — тт+ > и 2 — тт+ > соответственно. С выхода сумматора-вычитателя 1 результат операции записывается младшими разрядами вперед в освобождающиеся при сдвиге старшие разряды сдвигающего регистра 4 и продвигается к началу в сторону младших разрядов. Результаты операции с выходов cvMMBTopoB-вычитателей 2 и 3 записываются младшими разрядами вперед в блок 12 деления. Результат деления с выхода блока 12 деления записывается младшими разрядами вперед в освобождающиеся при сдвиге старшие разряды сдвигающих регистров 6 и 7 и продвигается в стоpoHv младших разрядов этих сдвигающих регистров. Аналогично переписывается единипа при сдвиге в сдвигающем регистре 5.

После выполнения итерации по знакч содержания сдвигающего регистра 4 в блоке

11 анализа знака вырабатывается сигнал, определяющий режим сложения-вычитания в cvMMBTopBx-вычитателях 1 — 3 на следующей итерации. При положительном знаке сумматоры-вычитатели и 2 работают в режиме вычитания, а ст мматор-вычитател.

3 работает в режиме сложения. При отрицательном знаке сумматоры-вьтчтттателтт 1 и 2 работают в режиме сло>кенття, я cvMмотор-вычитатель 3 — в ттp>KHIIF . вычитания. После выполнения и+! итераций в сдвчгэтощем регистре 7 находится значение тттс нкции тригонометпического тангенса заданного яттг тентя 9. Однако дчя большинства зня тенттй ярггттентя точно нячантте тангенса получается на итерации, номер которой меньше величины и+1. В этом случае содержание сдвигающего регистр.-:

4 равно нулю, и с выхода блока 10 анализа сходимости выдается сигнал, останавливающий работу блока 13 управления на следующей итерации. Асинхронный режим работы позволяет значительно сократить время вычисления.

При вычислении гиперболического тангенса устройство работает следующим обр азом.

Особенностью вычисления гиперболического тангенса по вышеприведенному разностно-итерационному алгоритму является перемена знака на плюс в соотношении для х;.ть что достигается инверсией оператора

q;, подаваемого со второго выхода блока 11 анализа знака на управляющий вход сумматора-вычитателя 2. Кроме того, последовательность констант а; = arth 2 — тт+ т не удовлетворяет условиям сходимости итерационного процесса: а aI.

i =/ -I

Это приводит к появлению значительной погрешности результата, а в ряде случаев процесс вычисления расходится. Для усТранения зон несходимости в двоичной системе счисления необходимо повторить по два раза итерации с порядковыми номерами

Зlг+1, где k=1, 2,..., т. е. 4, 13, 40... итер ации.

Первоначально сдвигающие регистры 4, 6 и 7 устанавливаются в нулевое состояние.

В сдвигающий регистр 5 заносится единица. Управляющий сигнал с выхода блока

13 управления включает блок !4 повторения итераций и устанавливает коммутатор

9 в положение, при котором ко второму входу сумматора-вычитателя 1 подсоединен второй выход блока 8 памяти.

Процесс вычисления гиперболического тангенса аналогичен процессу вычисления тригонометрического тянгенса. С каждым тактовым импульсом на второй вход сумматора-вычитателя IIoc T пает очередной разряд константы а; = arth 2 — I>+ >. При положительном знаке содержания первого сдвигаютцего регистра 4 сумматор-вычитатель 1 работает в режиме вычитания, а сумматоры-вычитатели 2 и 3 — в режиме сложения. При этом на правляющий вход сумматора-вычитателя 2 со второго выхода блока 11 янализа знака поступает инвертированный сигнал первого выхода блока анализа знака. При отрицательном знаке содержания сдвигяющего регистра 4 су.л IBTop-вычитатель 1 работает в режиме суммирования, а сумматоры-вычитатели 2 и 3 — в режиме вычитания. Блок повторения итераций подсчитывает номера итерапттй H IpH 4. 13... итерациях выдает в блок 13 управления сигнал запретя перехода к следующей итерации. В повторяемой итерации используются предыдущие константы ат = агй 2- т+ц и 2-тт+ т, содержание

650073 сдвигающего регистра 6 сдвигается в сторону младших разрядов на предыдущую величину 2 — < +ц. Значение оператора q; в повторяемой итерации может быть отличное от соответствующего значения в предыдущей итерации. После выполнения повторяемой итерации происходит замена индекса итерации на следующий.

При использовании десятичной системы счисления каждая итерация повторяется десять раз, и процесс сходится без дополнительных повторений. В этом случае блок повторения итерации управляет повторением по десять раз всех итераций.

После выполнения n+1 итераций либо при равенстве нулю содержания сдвигающего регистра 4 в сдвигающем регистре 7 находится значение функции гиперболического тангенса.

Время вычисления тригонометрического или гиперболического тангенса определяется временем выполнения операции деления.

Максимальное время вычисления тангенса равно Т ((и+1) t, где t,„— время выполнения операции деления. Благодаря синхронному режиму работы (при прерывании процесса, при равенстве нулю содержания сдвигающего регистра 4) время вычисления дополнительно сокращается до

50 ОД

Предложенное устройство обладает расширенными функциональными возможностями (вычисление тригонометрического или гиперболического тангенса) и широкой областью применения, так как блок 12 деления может использоваться для решения других задач. В случае, когда предложенное устройство может использоваться в комплексе с другими арифметическими устройствами или специализированными цифровыми вычислительными машинами, функции блока 12 деления могут выполняться последними.

Предложенное устройство совмещает требования надежности, точности, быстродействия и аппаратурных затрат. Параллельно-последовательная структура стр ойства состоит из простых стандартных цифровых элементов и может быть изготовлена в микроэлектронном исполнении с высокой степенью итерации.

Вычисления в предложенном устройстве выполняются в одном цикле без перестройки структуры, т, е. без перекоммутации потоков информации, что повышает вероятность безотказной работы, Еще одним полезным результатом от использования предложенного устройства является получение тригонометрического илп гиперболического тангенса, так как прото5

Зо

60 тип предназначен для вычисления только тригонометрического тангенса.

Формула изобретения

Устройство для вычисления тангенса, содержащее три сумматора-вычитателя, четыре сдвигающих регистра, коммутатор, блок памяти, блок анализа сходимости, блок анализа знака, блок управления, причем выход первого сумматора-вычитателя подключен к входу первого сдвигающего регистра, выходы первого, второго и третьего сдвигающих регистров подключены к первым входам соответствующих суммато-. ров-вычитателей, второй вход первого сумматора-вычитателя подключен к выходу коммутатора, ко входам которого подключены первый и второй выходы блока памяти и первый выход блока управления, другие выходы которого подключены к управляющим входам сдвигающих регистров и блока памяти, другой выход первого сдвигающего регистра соединен с входом блока анализа сходимости, выход которого подключен к первому входу блока управления, тпетий выход первого сдвигающего регистра соединен со входом блока анализа знака, выходы которого подключены к управляющим входам сумматоров-вычитателей, выход четвертого сдвигающего регистра подключен ко второму входу второго сумматора-вычитателя, о т л и ч а ю щ е е с я тем, что, с целью повышения надежности, устройство содержит блок повторения итерации и блок деления, входы которого соединены с выходами второго и третьего сумматоров-вычитателей, а выход — со входами третьего и четвертого сдвигающих регистров, выход второго сдвигающего регистра соединен с его входом, второй вход третьего сумматора-вычитателя подключен к третьему выходу блока памяти, управляющий вход блока деления подключен к дополнительному выходу блока управления, первый выход которого подключен также ко входу блока повторения итерации. выход которого подключен ко второму входу блока упр авления.

Источники информации, принятые во внимание при экспертизе

1. Авторское свидетельство СССР № 411467, кл. G 06G 7/22, 1969.

2. Л вторское свидетельство СССР № 474811, кл. G 06F 15!34, 1970.

3. Оранский А. М. и др. Итерационный метод вычисления тангенс ной з а в ис и мости.

Вестник БГУ, сер. 1, № 3, 1973, с. 74.

4. Авторское свидетельстго СССР № 537344, кл. G 06F 7/38, 1973.

650075

Составитель В. Березкин

Корректоры: P. Беркович и А. Галахова

Техред А. Камышникова

Редактор А. Куирякова

Типография, пр. Сапунова, 2

Заказ 2713/14 Изд. № 167 Тираж 779 Подписное

НПО Государственного комитета СССР по делам изобретений и открытий

113035, Москва, Ж-35, Раушская наб., д. 4/5

Устройство для вычисления тангенса Устройство для вычисления тангенса Устройство для вычисления тангенса Устройство для вычисления тангенса Устройство для вычисления тангенса 

 

Похожие патенты:

Изобретение относится к системам связи между главной и подчиненными станциями

Изобретение относится к вычислительной технике и предназначено для использования в цифровых вычислительных машинах

Изобретение относится к вычислительной технике и может применяться в системах управления в качестве спецвычислителя с целью принятия решений в условиях неопределенности, а также при оперативном управлении технологическими процессами по нечетким алгоритмам

Изобретение относится к вычислительной технике и может быть использовано в спецвычислителях для вычисления производных

Изобретение относится к области вычислительной техники и предназначено, в частности, для цифровой обработки массивов данных в реальном масштабе времени

Изобретение относится к электронно-вычислительной технике

Изобретение относится к области цифровой вычислительной техники и предназначено для моделирования комбинаторных задач при проектировании радиоэлектронной аппаратуры, автоматизированных систем управления и средств электронной вычислительной техники

Изобретение относится к системам обработки данных, которые осуществляют арифметические операции
Наверх