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

Номер патента: 650073

Авторы: Рейхенберг, Шевченко

ZIP архив

Текст

ОПИСАНИЕ ИЗОБРЕТЕНИЯ 1 ц 650073 Союз Советских Социалистических Республик(45) Да уб кования описания 28.02.79 72) Авторы изобретения. Л. Рейхенберг и Р, Я. Шевченк 71) Заявител 4) УСТРОЙСТВО Изобретение относится к области цифровой вычислительной техники и может быть использовано для аппаратного вычисления тригонометрического или гиперболического тангенса преимущественно в специализированных управляющих или вычислительных цифровых машинах и системах в реальном масштабе времени,Известно использование в аналоговых и модулирующих установках и машинах устройств для воспроизведения тангенсной зависимости 11.В цифровых машинах вычисления функции тангенса выполняются при помощи стандартных подпрограмм, использующих разложение функции в ряд или апроксимацию полиномами Чебышева.Известно устройство для вычисления тригонометрических функций, состоящее из двух сдвигающих регистров, преобразователей прямого кода в дополнительный, двух последовательных комбинационных сумматоров, счетчика итерации, дешифратора, схем выдачи, схемы задания констант, двоичного счетчика, схемы сравнения, схем И и ИЛИ, триггеров и схемы управления, причем выход первого сумматора подключен ко входу первого сдвигающего регистра, входы управления сдвигающих р;:гистЫЧИСЛЕНИЯ ТАНГЕНС ров подключены к соответствующим входам схемы управления (2.Известен итерационный метод вычисления тангенсной функции, основанный на вычислении тригонометрических синуса и косинуса с их последующим делением по алгоритму подобия 31,Прототипом изобретения является устройство для вычисления тангенса, содержа щее три сумматора-вычитателя, четыресдвигающих регистра, коммутатор, блок памяти, блок анализа сходимости, блок анализа знака, блок управления, причем выход первого сумматора-вычитателя подключен ко входу первого сдвигающего регистра, выходы первого, второго и третьего сдвигающих регистров подключены к первым входам соответствующих сумматоров-вычитателей, второй вход первого сумматора-вычитателя подключен к выходу коммутатора, ко входам которого подключены первый и второй выходы блока памяти и первый выход блока управления, другие выходы которого подключены к управляющим входам сдвигающих регистров и блока памяти, другой выход первого сдвигающего регистра соединен со входом блока анализа сходимости, выход которого подключен к первому входу блока управ50 д-.1 = г + су,.2-1+ц х+ = 1 - д г 2-У+ Уух 60 65 ления, третий выход первого сдвигающегорегистра соединен со входом блока анализа знака, выходы которого подключены куправляющим входам сумматоров-вычитателей, выход четвертого сдвигающего регистра подключен ко второму входу второгосумматора-вычитателя 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 10 15 20 25 ЗО 35 40 ра 9, выход которого соединен со вторым входом сумматора-вычитателя 1. Третий выход блока 8 памяти соединен со вторым входом сумматора-вычитателя 3. Выходы сумматоров-вычитателей 2 и 3 соединены со входами блока 12 деления, выход которого соединен со входами сдвигающих регистров б и 7. Выходы блока 13 управления соединены с управляющими входами сдвигающих регистров 4 - 7, со входом блока 8 памяти, с управляющим входом блока 12 деления и со входами блока 14 повторения итерации и коммутатора 9. Выход блока повторения 14 итерации соединен со вторым входом блока 13 управления. Блок 8 памяти выполнен с поразрядной выборкой каждым тактовым импульсом одновременно трех констант: вида агс 1 д 2 - И+ц (первый выход), вида агй 2-+ (второй выход) и вида 2 - О+1 (третий выход), где у - номер итерации.Блок 10 анализа сходимости представляет собой цифровую схему сравнения кодов с логическим нулем. Блок 11 анализа знака содержит, например, триггер с логическими элементами. Блок 12 деления представляет собой устройство цифрового деления. Блок 13 управления содержит генератор тактовых сдвигающих импульсов, счетчик, распределитель и логические элементы. Блок 14 повторения итераций содержит, например, счетчик, триггер и логические элементы. Входом устройства являются входы ячеек разрядов сдвигающего регистра 4. Выходом устройства являются выходы ячеек разрядов сдвигающего регистра 7.Устройство работает на основс разностно-итерационного алгоритма, основанного па принципе операций псевдоделения и псевдоумножения. Алгоритм может быть представлен в виде системы рекуррентных соотношений, например, для двоичной системы счисления с фиксированной запятой: 6., = 6 - д а;+1 при О О; д - з 1 дпО = 1 при 6 (О;у=0,1,,и; Для вычисления тригонометрического тангенса используются константы агс 1 д 2 - О+ц, для вычисления гиперболического тангенса используются константы а; = агй 2 - О+ц. Все соотношения алгоритма и операция деления вычисляются параллельно за и+1 итерацию, где и - число разрядов аргумента, причем каждое рекуррентное соотношение вычисляется по 650073следовательным путем за и + ит тактов, где т - число дополнительных разрядов для компенсации погрешности усечения при сдвиге.При вычислении тригонометрического тангенса устройство работает следующим образом.Первоначально сдвигающие регистры 4, 6 и 7 устанавливаются в нулевое состояние. В сдвигающий регистр 5 устанавливается единица, представленная всеми значащими разрядами, Управляющий сигнал с выхода блока 13 управления выключает блок 14 повторения итерации и устанавливает коммутатор 9 в положение, при котором ко второму входу сумматора-вычитателя 1 подсоединен первый выход блока 8 памяти. В первый сдвигающий регистр 4 в параллельном коде подается заданный аргумент О. Тактовые сдвигающие импульсы с выходов блока 13 управления, подаваемого в каждой итерации в виде последовательности (серии), продвигают содержимое сдвигающих регистров 4 - 7 на входы сумматоров-вычитателей 1 - 3, причем на вторые входы сумматоров-вычитателей 1 и 3 поразрядно с каждым тактовым сдвигающим импульсом поступают константы а; = агс 1 д 2 - т 1+) и 2 - тт+) соответственно. С выхода сумматора-вычитателя 1 результат операции записывается младшими разрядами вперед в освобождающиеся при сдвиге старшие разряды сдвигающего регистра 4 и продвигается к началу в сторону младших разрядов. Результаты операции с выходов сумматоров-вычитателей 2 и 3 записываются младшими разрядами вперед в блок 12 деления. Результат деления с выхода блока 12 деления записывается младшими разрядами вперед в освобождающиеся при сдвиге старшие разряды сдвигающих регистров 6 и 7 и продвигается в сторонч младших разрядов этих сдвигающих регистров, Аналогично переписывается единица при сдвиге в сдвигающем регистре 5. После выполнения итерации по знакч содержания сдвигающего пегистра 4 в блоке 11 анализа знака вырабатывается сигнал, определяющий режим сложения-вычитэния в сумматорах-вьтчитателях 1 - 3 на следующей итерации. При положительном знаке сумматоры-вычитателии 2 работают в режиме вычитания, а сумматор-вычитатель 3 работает в режиме сложения. При отрицательном знаке сумматоры-вьтчитателп 1 и 2 работают в режиме сложенття, э сумматор-вычитатель 3 - в режиме вычитания. После выполнения и+ итераттттй в сдвчгэтощем регистре 7 нэо,.ится значение тттстнкттии трттгонометпического тэнгенса зэчэнного эттгттентэ 8. Однако дчя большинства знэ тений эрглтетттэ точнод нэчантте тангенса получается на итерации, номер которой меньше величины и+1, В этом случае содержание сдвигающего регистр.-: 5 10 15 20 25 30 35 40 45 50 55 60 05 4 равно нулю, и с выхода блока 10 анализа сходимости выдается сигнал, останавливающий работу блока 13 управления на следующей итерации. Асинхронный режим работы позволяет значительно сократить время вычисления.При вычислении гиперболического тэнгенса устройство работает следующим образомм.Особенностью вычисления гиперболическогого тангенса по вышеприведенному разностно-итерационному алгоритму является перемена знака на плюс в соотношении для х;.т.ь что достигается инверсией оператора д;, подаваемого со второго выхода блока 11 анализа знака на управляющий вход сумматора-вычитателя 2. Кроме того, последовательность констант а; = аг 1 т 2 - И+т) не удовлетворяет условиям сходимости итерационного процесса: аат.1:/-1Это приводит к появлению значительной погрешности результата, а в ряде случаев процесс вычисления расходится. Для устранения зон несходимости в двоичной системе счисления необходимо повторить по два раза итерации с порядковыми номерами ЗЙ+ 1, где й = 1, 2 т. е. 4, 13, 40 итер ации.Первоначально сдвигающие регистры 4, 6 и 7 устанавливаются в нулевое состояние. В сдвигающий регистр 5 заносится единица. Управляющий сигнал с выхода блока 13 управления включает блок 14 повторения итераций и устанавливает коммутатор 9 в положение, при котором ко второму входу сумматора-вычитателя 1 подсоединен второй выход блока 8 памяти.Процесс вычисления гиперболического тангенса аналогичен процессу вычисления тригонометрического тэнгенса. С каждым тактовым импульсом на второй вход сумматора-вычитателя пост пает очередной разряд константы а; = эгй 2 - т+т. При положительном знаке содержания первого сдвигаюгцего регистра 4 сумматор-вычитатель 1 работает в режиме вычитания, а сумматоры-вычитатели 2 и 3 - в режиме сложения. При этом на правляющттй вход сумматора-вычитателя 2 со второго выхода блока 11 энализа знака поступает инвертированный сигнал первого выхода блока анализа знака. При отрицательном знаке содержания сдвигэющего регистра 4 су.лтэтор-вьтчтттатель 1 работает в режиме суммттрования, а сумматоры-вычитатели 2 и 3 - в режиме вычитания. Блок повторения итераций подсчитывает номера итерапттй и при 4. 13 итерациях выдает в блок 13 управления сттгнал запрета перехода к следующей итерации. В повторяемой итерации используются предыдущие константы ат = агй 2-т+) и 2-тЖ), содержаниесдвигающего регистра 6 сдвигается в сторону младших разрядов на предыдущую величину 2 - +ц. Значение оператора д; в повторяемой итерации может быть отличное от соответствующего значения в предыдущей итерации. После выполнения повторяемой итерации происходит замена индекса итерации на следующий.При использовании десятичной системы счисления каждая итерация повторяется десять раз, и процесс сходится без дополнительных повторений, В этом случае блок повторения итерации управляет повторением по десять раз всех итераций.После выполнения а+1 итераций либо при равенстве нулю содержания сдвигаю- щего регистра 4 в сдвигающем регистре 7 находится значение функции гиперболического тангенса.Время вычисления тригонометрического или гиперболического тангенса определяется временем выполнения операции деления. Максимальное время вычисления тангенса равно Т ( (и+1) 1, где 1, - время выполнения операции деления. Благодаря синхронному режиму работы (при прерывании процесса, при равенстве нулю содержания сдвигающего регистра 4) время вычисления дополнительно сокращается до 50%Предложенное устройство обладает расширенными функциональными возможностями (вычисление тригонометрического или гиперболического тангенса) и широкой областью применения, так как блок 12 деления может использоваться для решения других задач. В случае, когда предложенное устройство может использоваться в комплексе с другими арифметическими устройствами или специализированными цифровыми вычислительными машинами, функции блока 12 деления могут выполняться последними.Предложенное устройство совмещает требования надежности, точности, быстродействия и аппаратурных затрат, Параллельно-последовательная структура устройства состоит из простых стандартных цифровых элементов и может быть изготовлена в микроэлектронном исполнении с высокой степенью итерации.Вычисления в предложенном устройстве выполняются в одном цикле без перестройки структуры, т, е, без перекоммутации потоков информации, что повышает вероятность безотказной работы,Еще одним полезным результатом от использования предложенного устройства является получение тригонометрического илп гиперболического тангенса, так как прото. 5 10 15 20 25 30 35 40 45 50 55 60 тип предназначен для вычисления толькотригонометрического тангенса. Формула изобретения Устройство для вычисления тангенса, содержащее три сумматора-вычитателя, четыре сдвигающих регистра, коммутатор, блок памяти, блок анализа сходимости, блок анализа знака, блок управления, причем выход первого сумматора-вычитателя подключен к входу первого сдвигающего регистра, выходы первого, второго и третьего сдвигающих регистров подключены к первым входам соответствующих сумматоров-вычитателей, второй вход первого сумматора-вычитателя подключен к выходу коммутатора, ко входам которого подключены первый и второй выходы блока памяти и первый выход блока управления, другие выходы которого подключены к управляющим входам сдвигающих регистров и блока памяти, другой выход первого сдвигающего регистра соединен с входом блока анализа сходимости, выход которого подключен к первому входу блока управления, тРетий выход первого сдвигающего регистра соединен со входом блока анализа знака, выходы которого подключены к управляющим входам сумматоров-вычитателей, выход четвертого сдвигающего регистра подключен ко второму входу второго сумматора-вычитателя, о т л и ч а ю щ е е с я тем, что, с целью повышения надежности, устройство содержит блок повторения итерации и блок деления, входы которого соединены с выходами второго и третьего сумматоров-вычитателей, а выход - со входами третьего и четвертого сдвигающих регистров, выход второго сдвигающего регистра соединен с его входом, второй вход третьего сумматора-вычитателя подключен к третьему выходу блока памяти, управляющий вход блока деления подключен к дополнительному выходу блока управления, первый выход которого подключен также ко входу блока повторения итерации, выход которого подключен ко второму входу блока управления.Источники информации,принятые во внимание при экспертизе 1. Авторское свидетельство СССР411467, кл. 0 066 7/22, 1969.2. Авторское свидетельство СССР474811, кл. 0 06 Р 15/34, 1970,3. Оранский А. М. и др. Итерационный метод вычисления тангенс ной з а в ис и мости. Вестник БГУ, сер. 1,3, 973, с. 74.4. Авторское свидетельстго СССР537344, кл. 0 06 Г 7/38, 1973,Техред А. Камышникова Редактор А, Куирякова Типография, пр. Сапунова, 2 Заказ 2713/14 Изд.167 Тираж 779 Подписное НПО Государственного комитета СССР по делам изобретений и открытий 113035, Москва, Ж, Раушская наб., д. 4/5

Смотреть

Заявка

2166171, 18.08.1975

ПРЕДПРИЯТИЕ ПЯ А-3327

РЕЙХЕНБЕРГ АНАТОЛИЙ ЛЕОНИДОВИЧ, ШЕВЧЕНКО РАИСА ЯКОВЛЕВНА

МПК / Метки

МПК: G06F 7/38

Метки: вычисления, тангенса

Опубликовано: 28.02.1979

Код ссылки

<a href="https://patents.su/5-650073-ustrojjstvo-dlya-vychisleniya-tangensa.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для вычисления тангенса</a>

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