Устройство для вычисления тангенса Советский патент 1979 года по МПК G06F7/38 

Описание патента на изобретение SU650073A1

I

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

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

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

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

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

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

Прототипом изобретения является устройство для вычисления тангенса, содержащее три сумматора-вычитателя, четыре сдвигающих регистра, коммутатор, блок памяти, блок анализа сходимости, блок анализа знака, блок управления, причем выход первого сумматора-вычитателя подключен ко входу первого сдвигающего регистра, выходы первого, второго и третьего сдвигающих регистров подключены к первым входам соответствующих сумматоров-вычитателей, второй вход первого сумматора-вычитателя подключен к выходу коммутатора, ко входам которого подключены первый и второй выходы блока памяти и первый выход блока управления, другие выходы которого подключены к управляющим входам сдвигающих регистров и блока памяти, другой выход первого сдвигающего регистра соединен со входом блока анализа сходимости, выход которого подключен к первому входу блока управления, третий выход первого сдвигающего регистра соединен со входом блока анализа знака, выходы которого подключены к управляющим входам сумматоров-вычитателей, выход четвертого сдвигающего регистра подключен ко второму входу второго сумматора-вычитателя 4. Недостатком такого устройства является необходимость частичной перестройки структуры для организации двух этапов цикла вычисления: операций вычисления синуса и косинуса и последующего деления. Перестройка структуры определяет невысокую надежность вычисления, повышает вероятность сбоев. Цель изобретения - повыщение надежности устройства путем исключения перестройки структуры. Для достижения этой цели устройство содержит блок повторения итераций и блок деления, входы которого соединены с выходом второго и третьего сумматоров-вычитателей, а выход - со входами третьего и четвертого сдвигающих регистров, вход второго сдвигающего регистра соединен с его входом, второй вход третьего сумматора и вычитателя подключен к третьему выходу блока памяти, управляющий вход блока деления подключен к дополнительному выходу блока управления, первый выход которого подключен также ко входу блока повторения итераций, выход которого подключен ко второму входу блока управления. На чертеже представлена блок-схема устройства для вычисления тангенса. Устройство для вычисления тангенса содержит сумматоры-вычитатели 1-3, сдвигающие регистры 4-7, блок 8 памяти, коммутатор 9, блок 10 анализа сходимости, блок 11 анализа знака, блок 12 деления, блок 13 управления и блок 14 повторения итераций. Выход сумматора-вычитателя 1 соединен со входом сдвигающего регистра 4, первый выход которого подключен к первому входу сумматора-вычитателя 1. Второй выход сдвигающего регистра 4 соединен со входом блока 10 анализа сходимости, выход которого соединен со входом блока 13 управления. Третий выход сдвигающего регистра 4 соединен со входом блока И анализа знака, первый выход которого соединен с управляющими входами сумматороввычитателей 1 и 3, второй выход блока 11 анализа знака соединен с управляющим входом сумматора-вычитателя 2. Выход сдвигающего регистра 5 соединен с его входом и с первым входом сумматора-вычитателя 2, второй вход которого соединен с выходом третьего сдвигающего регистра 6. Выход четвертого сдвигающего регистра 7 соединен с первым входом сумматора-вычитателя 3. Первый и второй выходы блока 8 памяти соединены со входами коммутатора 9, выход которого соединен со вторым входом сумматора-вычитателя 1. Третий выход блока 8 памяти соединен со вторым входом сумматора-вычитателя 3. Выходы сумматоров-вычитателей 2 и 3 соединены со входами блока 12 деления, выход которого соединен со входами сдвигающих регистров 6 и 7. Выходы блока 13 управления соединены с управляющими входами сдвигающих регистров 4-7, со входом блока 8 памяти, с управляющим входом блока 12 деления и со входами блока 14 повторения итерации и коммутатора 9. Выход блока повторения 14 итерации соединен со вторым входом блока 13 управления. Блок 8 памяти выполнен с поразрядной выборкой каждым тактовым импульсом одновременно трех констант: вида arctg2-W+i (первый выход), вида arth2-(J+i) (второй выход) и вида 2-(5+1) (третий выход), где / - номер итерации. Блок 10 анализа сходимости представляет собой цифровую схему сравнения кодов с логическим нулем. Блок И анализа знака содержит, например, триггер с логическими элементами. Блок 12 деления представляет собой устройство цифрового деления. Блок 13 управления содержит генератор тактовых сдвигающих импульсов, счетчик, распределитель и логические элементы. Блок 14 повторения итераций содержит, например, счетчик, триггер и логические элементы. Входом устройства являются входы ячеек разрядов сдвигающего регистра 4. Выходом устройства являются выходы ячеек разрядов сдвигающего регистра 7. Устройство работает на основе разностно-итерационного алгоритма, основанного на принципе операций псевдоделения и псевдоумножения. Алгоритм может быть представлен в виде системы рекуррентных соотношений, например, для двоичной системы счисления с фиксированной запятой: в/.ц- Qj - qjaji Г+1 при qj SignQj i при ( у 0, ,.,..,«; Zj + (7;2-(/+l); 1 - qjZj2- + ; Для вычисления тригонометрического ангенсаиспользуютсяконстанты rctg2-w+i), для вычисления гиперболичекого тангенса используются константы cj arth 2-(+i). Все соотношения алгорита и операция деления вычисляются пааллельно за п+1 итерацию, где п - чисо разрядов аргумента, причем каждое реуррентное соотношение вычисляется последовательным путем за п + от тактов, где т - число дополнительных разрядов для компенсации погрешности усечения при сдвиге.

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

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

Iи 3 поразрядно с каждым тактовым сдвигающим ИМПУЛЬСОМ поступают константы cxj arctg2-(5+i) и ) соответственно. С выхода сумматора-вычитателя 1 результат операции записывается младшими разрядами вперед в освобождающиеся при сдвиге старшие разряды сдвигающего регистра 4 и продвигается к началу в сторону младших разрядов. Результаты операции с выходов сумматоров-вычитателей 2 и 3 записываются младшими разрядами вперед в блок 12 деления. Результат деления с выхода блока 12 деления записывается младшими разрядами вперед в освобождающиеся при сдвиге старшие разряды сдвигающих регистров 6 и 7 и продвигается в сторону младших разрядов этих сдвигающих регистров. Аналогично переписывается единица при сдвиге в сдвигающем регистре 5. После выполнения итерации по знаку содержания сдвигающего регистра 4 в блоке

IIанализа знака вырабатывается сигнал, определяющий режим сложения-вычитания в сумматорах-вычитателях 1-3 на следующей итерации. При положительном знаке сумдтаторы-вычитатели 1 и 2 работают в режиме вычитания, а сумматор-вычитатель 3 работает в режиме сложения. При отрицательном знаке сумматоры-вьтчитатели 1 и 2 работают в сложения, а CVMматор-вычитатель 3 - в режиме вычитания. После выполнения «4-1 итераций в сдвигающем регистре 7 находится значение ФУНКЦИИ тригонометрического тангенса заданного apг eнтa В. Олнако для большинства значений аргумента точно- тангенса получается на итерации, номер которой меньше величины . В этом случае содержание сдвигающего регистр;-;

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

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

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

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

п

«/ S «

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

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

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

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

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

второй выход блока 8 памяти.

Процесс вычисления гиперболического тангенса аналогичен процессу вычисления тригонометрического тангенса. С каждым тактовым импульсом на второй вход сумматора-вычитателя поступает очередной разряд константы aj arth 2-J+i). При положительном знаке содержания первого сдвигающего регистра 4 сумматор-вычитатель 1 работает в режиме вычитания, а

сумматоры-вычитатели 2 и 3 - в режиме сложения. При этом на управляющий вход сумматора-вычитателя 2 со второго выхода блока II анализа знака поступает инвертированный сигнал первого выхода блока анализа знака. При отрицательном знаке содержания сдвигающего регистра 4 сумматор-ЕЫЧитатель 1 работает в режиме суммирования, а сумматоры-вьтчитатели 2 и 3 - в режиме вычитания. Блок повторения итераций подсчитывает номера итераций и при 4. 13... итерациях выдает в блок 13 управления сигнал запрета перехода к следующей итерации. В повторяемой итерации используются предыдущие константы «j arth2- J+i и , содержание

7

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

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

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

Время вычисления тригонометрического или гиперболического тангенса определяется временем выполнения операции деления. Максимальное время вычисления тангенса равно Г (л+1)д, где д - время выполнения опер-ации деления. Благодаря синхронному режиму работы (при прерывании процесса, при равенстве нулю содержания сдвигающего регистра 4) время вычисления дополнительно сокращается до 50%.

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

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

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

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

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

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

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

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

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

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

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

Источники информации,

принятые во внимание при экспертизе . Авторское свидетельство СССР № 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.

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

название год авторы номер документа
Устройство для вычисления гиперболического тангенса 1973
  • Рейхенберг Анатолий Леонидович
  • Шевченко Раиса Яковлевна
SU526890A1
Устройство для вычисления тригонометрического тангенса 1973
  • Рейхенберг Анатолий Леонидович
  • Шевченко Раиса Яковлевна
SU537344A1
Цифровой функциональный преобразователь 1975
  • Рейхенберг Анатолий Леонидович
  • Шевченко Раиса Яковлевна
SU607223A1
Устройство для вычисления обратного гиперболического тангенса 1973
  • Рейхенберг Анатолий Леонидович
  • Шевченко Раиса Яковлевна
SU465630A1
Устройство для вычисления гиперболических синуса и косинуса 1973
  • Рейхенберг Анатолий Леонидович
  • Шевченко Раиса Яковлевна
SU536490A1
Устройство для вычисления логарифмической функции 1973
  • Рейхенберг Анатолий Леонидович
  • Шевченко Раиса Яковлевна
SU541167A1
Цифровой функциональный преобразователь 1976
  • Рейхенберг Анатолий Леонидович
  • Шевченко Раиса Яковлевна
SU748434A1
Устройство для формирования гиперболических функций 1973
  • Рейхенберг Анатолий Леонидович
  • Шевченко Раиса Яковлевна
SU484522A1
Двоичное устройство деления 1975
  • Рейхенберг Анатолий Леонидович
  • Шевченко Раиса Яковлевна
SU541171A2
Устройство для вычисления корня четвертой степени 1975
  • Рейхенберг Анатолий Леонидович
  • Шевченко Раиса Яковлевна
SU561184A1

Иллюстрации к изобретению SU 650 073 A1

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

Формула изобретения SU 650 073 A1

SU 650 073 A1

Авторы

Рейхенберг Анатолий Леонидович

Шевченко Раиса Яковлевна

Даты

1979-02-28Публикация

1975-08-18Подача