Устройство для вычисления тригонометрических функций

 

1. УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ ТРИГОНОМЕТРИЧЕСКИХ ФУНКЦИЙ, содержащее m-разрядный регистр (где 1т1-разрядность устройства) ,ГУ -разрядньй сумматор, счетчик, блок памяти, элемент НЕ и два вычислительных блока , каждый из которых содержит входной регистр, группу элементов И, первый и второй коммутаторы и первый и второй сумматоры, первые информационные входы которых соединены с выходами соответственно элементов И группы и первого сумматора, выход входного регистра соединен с вторым информационным входом первого сумматора и информационным входом первого коммутатора, выход второго сумматора соединен с информационным входом входного регистра, первые входа элементов И группы и управляющий вход второго сумматора первого и второго вьтислительньк блоков объединены, вторые входы элементов И группы первого и второго вычислительных блоков соединены с выходами первых коммутаторов соответственно второго и первого вычислительных блоков; выход первого разряда tn -разрядного регистра соединен с управляющим входом первого сумматора первого вычислительного блока и через элемент НЕ - с управляющим входом первого сумматора второго вычислительного блока и управляющим входом m -разрядного сумматора , выход которого соединен с информационным входом т-разрядного регистра , выходы разрядов с четвертого по т-й которого соединены соответственно с разрядами с третьего по (|п-1)-й первого информационного входа т-разрядногр сумматора,m-и разряд первого информационного входа которого соединен с управляющим входом устройства, установочный вход которого соединен с входами установ (Л ки в О т-разрядного регистра, счетчика и входами разрешения установки входных регистров первого и второго вычислительных блоков, установочные входы входных регистров которых соединены соответственно с первь1м и вторым параллельными информационными а: входами устройства, тактовый вход которого соединен с тактовыми входами входных регистров вычислительных блоков, т-разрядного регистра и счет00 чика, выход которого соединен с адресным входом блока,памяти, выход которого соединен с вторым информационным входом т-разрядного сумматора , выход счетчика соединен с управляющими входами первого и второго коммутаторов калодого вычислительного блока, отличающееся тем, что, с целью повышения йлстродействия , в него введены трехразрядный сумматор, сумматор по модулю два и первый и второй преобразователи кода.

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСНИХ

РЕСПУБЛИК (19) () )) 4(st) С 06 F 7/5 48

$ д

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

H АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3690988/24-24 (22) 13.01.84 (46) 07.07.85. Бюл, У 25 (72) О.А.Ханов (53) 681.325(088.8) (56) 1. Патент Великобритании

М 1331410, кл. G 06 F 1/02, опубл.

1971.

2. Авторское свидетельство СССР

1Ô 642712, кл. G 06 F 15/20, 1977 (прототип). (54)(57) 1. УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ ТРИГОН01БТРИЧЕСКИХ ФУНКЦИЙ, содержащее п -разрядный регистр (где

m-разрядность устройства),гп -разрядный сумматор, счетчик, блок памяти, элемент НЕ и два вычислительных блока, каждый из которых содержит входной регистр, группу элементов И, первый и второй коммутаторы и первый и второй сумматоры, первые информационные входы которых соединены с выходами соответственно элементов И группы и первого сумматора, выход входного регистра соединен с вторым . информационным входом первого сумматора и информационным входом первого коммутатора, выход второго сумматора соединен с информационным входом входного регистра, первые входы элементов И группы и управляющий вход второго сумматора первого и второго. вычислительных, блоков объединены, вторые входы элементов И группы пер" вого и второго вычислительных блоков соединены с выходами первых коммутаторов соответственно второго и перво. го вычислительных блоков; выход первого разрядав -разрядного регистра соединен с управляющим входом первого сумматора первого вычислительного блока и через элемент НŠ— с управляющим входом первого сумматора второго вычислительного блока и управf ляющим входом и) -разрядного сумматора, выход которого соединен с информационным входом rn-разрядного регистра, выходы разрядов с четвертого по п-й которого соединены соответственно с разрядами с третьего по (m-1)-й первого информационного входа m-разрядного сумматора,rn-й разряд первого информационного входа которого соединен с управляющим вхо1 дом устройства, установочный вход которого соединен с входами установки в "0" m-разрядного регистра, счетчика и входами разрешения установки входных регистров первого и второго вычислительных блоков, установочные входы входных регистров которых соединены соответственно с первым и вторым параллельными информационными входами устройства, тактовый вход которого соединен с тактовыми входами входных регистров вычислительных блоков, m-разрядного регистра и счетчика, выход которого соединен с адресным входом блока памяти, выход которого соединен с вторьм информационным входом rn-разрядного сумматора, выход счетчика соединен с управляющими входами первого и второго коммутаторов каждого вычислительного блока, о т л и ч а ю щ е е с я тем, что, с целью повышения быстродействия, в него введены трехразрядный сумматор, сумматор по модулю два и первый и второй преобразователи кода, 6103

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

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

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

Известно устройство для вычисле- S ния тригонометрических функций, содержащее два регистра, два сумматора и блок управления с соответствующими связями. Работа устройства основана на выполнении алгоритма Волде- 1О ра с коррекцией результата на каждой итерации (1J .

Недостатком этого устройства является низкое быстродействие, так как на каждой итерации выполняются IS последовательно поворот вектора на двойной угол и умножение координат на множители.

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

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

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

Цель изобретения — повышение быстродействия.

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

m-разрядный регистр-(где ш-разрядность устройства), m-разрядный сумматор, счетчик, блок памяти, элемент 10

НЕ и два вычислительных блока, каждый из которых содержит входной регистр, группу элементов И, первый и второй коммутаторы и первый и второй сумматоры, первые информационные вхо. 15 ды которых соединены с выходами соответственно элементов И группы и первого сумматора, выход входного регист- > ра соединен с вторым информационным входом первого сумматора и информа- ф) ционным входом первого коммутатора, выход второго сумматора соединен с информационным входом входного регистра, первые входы элементов И группы и управляющий вход второго сумма- 25 тора первого и второго зычислительных блоков объединены, вторые входы эле-. ментов И группы первого и второго вычислительных блоков соединены с выходами первых коммутаторов соответ-Зп ственно второго и первого вычислительных блоков, выход первого разряда ш-разрядного регистра соединен с управляющим входом первого сумматора первого вычислительно-, . го блока и через элемент НЕ— с управляющим входом первого сумматора второго вычислительного блока и в управляющим входом m-разрядного сумматора, выход которого соединен с ин- Е формационным входом m-разрядного реI гистра, выходы разрядов с четвертого по ш-й которого соединены соответственно с разрядами с третьего по (m 1)-й первого информационного входа45

m-разрядного сумматора, m-й разряд первого информационного входа которого соединен с управляющим входом устройства, установочный вход которого соединен с входами установки в "0 5п ш-разрядного регистра, счетчика и входами разрешения установки входных ре- .

; гистров первого и второго вычислитель-.. ных блоков, установочные входы входных регистров которых соединены соответ- SS ственно с первым и вторым параллельными информационными входами устройства, тактовый вход которого соединен

03 с тактовыми входами входных регистров вычислительных блоков, m-разрядного регистра и счетчика, выход которого соединен с адресным входом блока памяти, выход которого соединен с вторым информационным входом

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

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

На фиг. 1 дана блок-схема устройства; на фиг. 2 и 3 — блок-схемы преобразователя кода и коммутатора.

Устройство для вычисления тригонометрических функций содержит m-разрядный регистр 1, m-разрядный сумматор 2, трехразрядный сумматор 3, счетчик 4, блок 5 памяти, сумматор 6 20 по модулю два, элемент НЕ 7, вычислительные блоки 8 и 9, преобразователи 10 и 11 кода, входы 12 — 18, выходы 19 — 22.

Каждый вычислительный блок содержит входной регистр 23, сумматор

24 и 25, коммутаторы 26 и 27, группу элементов И 28.

Каждый преобразователь кода содержит мультиплексоры 29 и 30, сумматор 3р

31 по модулю два и триггер 32. Каждый коммутатор содержит группу мультиплексоров 33.

Вычисление тригонометрических функций в предлагаемом устройстве как и в известном устройстве основано на реализации алгоритма Волдера.

Для выполнения этого алгоритма необходимо представить аргумент сР в виде суммы: с =.K 5;атсйд2,где5; е 1, — 1); р

n — - число разрядов аргумента.

В отличие от известного устройства работающего с параллельными кодами, аргумент на вход предлагаемого устройства поступает в виде последо- ду вательного кода. Поэтому значения 5; должны быть определены из более сложв в- n- ного уравнения: Е.$ .2 R= В,arctg2, М =о

i =-О где 8, i — цифры i х разрядов кода SO аргумента; R — масштабирующий коэффициент. Для решения этого уравнения в устройство введены сумматор 3 и сумматор 6 по модулю два. Сходимость процесса определения Б; обеспечивает- SS ся расширением множества возможных значений 6, причем 15; Р1, О, -1).

Появления значений б; =0 приводит к зависимости от аргумента значения коэффициента деформации вектора К для алгоритма Волдера, равного К„=

=П (1+2 6 ). .Для устранения этого

=о эффекта в предлагаемом устройстве использован алгоритм поворота вектора на каждой итерации на двойной угол. При этом на итерациях, для которых 5; =0, поворот вектора не осуществляется, но его координаты умножаются на множитель (1+2 "). Тем самым устраняется зависимость коэффициента деформации вектора от значения .аргумента. Коэффициент деформации

И-1 2 становится равным К =.Г1(1+2 ). Пеi =О ред началом вычислений в регистр 23 второго вычислительного блока 9 запиЯ сывается код, равный, что позво- . ляет получить неискаженные значения тригонометрических. функций.

Для выполнения указанных действий, к координатам вектора, вычисленным по уравнениям Волдера, на каждой итерации прибавляется поправка вида а;х„ tg к;, где х; — значение коордиг наты до поворота вектора на угол к;, а,=-1/4, если 5; j0 и а„= 1/4, если

5; =О.

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

Два блока 10 и 11 выполняют преобразование параллельных кодов вычисляемых функций и цифры последовательного избыточного двоичного кода. Тем самым достигается единство формы представления информации на входе и на выходе устройства, необходимое для его эффективного использования в системах с конвейерной обработкой данных, Устройство работает следующим образом.

На вход 12 и информационный вход

15 устройства подается постоянный код "0". На информационный вход 16 устройства подается постоянный код, 6ФЪ равный =,П (1+2 )=036878, где

n — число разрядов результата вычислений, По импульсу начальной установки, поступающему на вход 13 устройства, происходит обнуление регистра 1, счетчика 4, в регистр 23 вычислительного блока 8 переписывается с

66103 и-1

Х-Е эк,к2 к-о п-1

) =K 5)„2

11 входа 15 устройства код "О", а в регистр 23 вычислительного блока 9 переписывается код с входа 16.

После начальной установки выполняются (n+4) циклов вычисления. В каждом i-м цикле (з=0, 1, ..., п-1) на входы 17 и 18 устройства подается цифра S i-г6 (начиная со старEf,q шего) разряда кода аргумента Ч в избыточном двоичном коде с фиксированной запятой, причем вес старшего разряда кода С равен 1 рад.

Цифра 5< каждого разряда принимает одно из трех значений: 0,1, .-1, ° которые кодируются двумя двоичными разрядами P .,,q ; следующим образом

Р,. =0 q =О соответствует $ .=0 ч. р 1

Р, =1, q . =О соответствует $,=1;

Р,, =1, q; =1 соответствует S 1 °

Разряд Pl,, подается на вход 17 устройства, разряд q<, — на вход 18.

За п циклов принимаются все разряды кода аргумента ч . При этом знапчение равно: 4 = K. 5 .2 (1) . В послеpep дующие четыре цикла (i=n, n+1, n+2, n+3), необходимые для завершения вычислений, на вход 17 устройства подается код "0", что соответствует .6„„=0.

В каждом i-м цикле (i=4, 5,..., и+3) на выходах 19, 20 и 21, 22 формируются цифры 5к,к и 5,„К-го разряда (К=i-4) избыточного двоичного кода синуса и косинуса аргумента ср, причем вес первого (старшего) разряда кода равен "1". Цифры 5y,q и 5 к каждого разряда принимают одно из трех значений: О, 1, -1, которые кодируются двумя двоичными разрядами аналогично кодированию цифр аргумента.

Каждый 1-й вычислительный цикл .(i=0, 1, ..., и+3) заканчиваеъся появлением х-го тактового импульса на входе 14 устройства. По каждому i тактовому импульсу код счетчика 4 изменяется на "+1", в регистр 1 переписывается код с его информационного входа, в регистры 23 вычислительных

4 блоков 8 и 9 переписываются коды с их первых информационных входов, в триггеры 32 блоков 10 и i t переписываются коды с выходов мультиплексоS ров 30, после чего начинается (i+2) -й вычислительный цикл.

После окончания (n+3)-го цикла заканчивается формирование и выдача последовательных и-разрядных кодов х и у — кодов синуса и косинуса аргумента (. При этом значения х и у равны

Процесс формирования цифр кодов синуса и косинуса состоит из трех этапов, выполняемых, начиная с i=3, 20 параллельно. Первый этап — преобра-.ование кода аргумента, второй этап вычисление функций синус, косинус с формированием результата в параллельном коде и третий этап — преобИ разование параллельных кодов результата в цифры последовательного. избыточного двоичного кода.Технический эффект при промышлен3Q ном применении предлагаемого устройства перед известным заключается в повышении быстродействия при конвейерной поразрядной обработке данных.

Известное устройство при его использовании в укаэанном режиме имеет задержку выдачи первого разряда результата относительно ввода первого разряда аргумента не менее 2п тактов, где и-разрядность операндов. В предлагаемом устройстве эта задержка сокращается до четырех тактов, причем задержка не зависит от разрядности операндов. Следовательно, предлагаемое устройство позволяет повысить быстродействие вычисления тригонометрических функций при конвейерной обработке данных в n/2 раз. Например, при n=20 быстродействие повышается ур в 10 раз. 1166103

Ф

17

17 к

Фю1

1166103 (166103

Составитель А.Зорин

Редактор Г.Волкова ТехредM.Гергель Корректор М.Самборская

Заказ 4311!44 Тираж 710 Подписное

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

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

Филиал ППП "Патент", r.Óæãîðîä, ул.Проектная, 4

Устройство для вычисления тригонометрических функций Устройство для вычисления тригонометрических функций Устройство для вычисления тригонометрических функций Устройство для вычисления тригонометрических функций Устройство для вычисления тригонометрических функций Устройство для вычисления тригонометрических функций Устройство для вычисления тригонометрических функций Устройство для вычисления тригонометрических функций 

 

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

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

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

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

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