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

Иллюстрации

Показать все

Реферат

 

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