Устройство для вычисления функций синуса и косинуса
Иллюстрации
Показать всеРеферат
Изобретение относится к области автоматики и вычислительной техники и может быть использовано для вычисления тригонометрических функций синуса и косинуса в ЭВМ разных классов и назначений с повышенным быстродействием и достоверностью обработки. Целью изобретения является увеличение быстродействия и повьппение достоверности за счет введения контроля. Поставленная цель достигается введением в устройство сумматоров-вычитателей, сумматора , регистра, дешифратора, блока памяти констант, счетчика, триггеров , элементов И и ИЛИ. Вновь введенные блоки, в частности совокупность контролирующих элементов,значительно повышают контролепригодность и быстродействие, так как предлагаемое устройство имеет 1ц«сл вычисления, состоящий из суммы значений времен умножения, сложения и выборки из памяти. 1 ил.
COOS СОВЕТСКИХ
««»
РЕСПУБЛИК (l9) (И) 140 А
1Я) 4 G 06 F 7/548
Г .»..,ф " ",1
ОПИСАНИЕ ИЗОБРЕТЕНИЯ/ - "
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
AO ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТВ9
H ABTOPCHOMY СВИДЕТЕЛЬСТВУ
««
« (21) 3784800/24-24 (22) 28.08.84 (46) 15.01.86. Бюл. Ф 2 (7 1) Ордена Ленина институт проблем управления (72) В,Г.Чачанидзе, О.Г.Смородинова, Г.Г.Асатиани, Т.О.Кублашвили и P.3.Мирианашвили (53) 681.325(088.8) (56) Авторское свидетельство СССР
В 1003081, кл. G 06 F 7/548, 1981
Авторское свидетельство СССР
9 510717, кл. G 06 F 7/548, 1974. (54) УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ ФУНК"
ЦИЙ СИНУСА И КОСИНУСА (57) Изобретение относится к области автоматики и вычислительной техники и мохет быть использовано для вычисления тригонометрических функций синуса и косинуса в ЭВМ разных классов и назначений с повышенным быстродействием и достоверностью обработки. Целью изобретения является увеличение быстродействия и повышение достоверности за счет введения контроля. Поставленная цель достигается введением в устройство сумматоров-вычитателей, сумматора, регистра, дешифратора, блока памяти констант, счетчика, триггеров, элементов И и ИЛИ. Вновь введенные блоки, в частности совокупность контролирующих элементов,значительно повышают контролепригодность и быстродействие, так как предлагаемое устройство имеет цикл вычисления, состоящий из суммы значений времен умножения, сложения и выборки из памяти. 1 ил.
1205140
Изобретение относится к автоматике и вычислительной технике и может быть использовано для вычисления тригонометрических функций синуса и косинуса н ЭВИ разных классов и назначений с повышенным быстродействием и надежностью.
Цель изобретения — повышение быстродействия, На чертеже изображена блок-схема устройства.
Устройство содержит блоки 1 умно° жения на коэффициент, группы 2 элементов И, группу 3 элементов ИЛИ, регистр 4 сдвига с входом 5, элемент ИЛИ 6, регистры 7-9 сдвига, элемент ИЛИ 10, триггер 11, элемент
И 12, группу 13 элементов ИЛИ,:выход устройства 14, элемент 15 задержки, элемент ИЛИ 16, входы 17 — 21 устройства, выход 22 контроля, сумматор-вычитатель 23, группы 24 и 25 элементов И, сумматор-вычитатель 26, I элемент И 27, элемент ИЛИ 28, регистр 29, счетчик 30, триггеры 3) и 32, элементы И 33-36, группы 37 и 38 элементов И, элементы И 39 и
40, группу 41 элементов ИЛИ, дешифратор 42, группу 43 элементов И, блок 44 памяти констант, группу 45 элементов ИЛИ, сумматор 46, элементы И 47-51, элемент ИЛИ 52 элемент
И 53, элементы ИЛИ 54 и 55, эле.менты И 56 и 57.
Устройство для вычисления функций синуса и косинуса функционирует, следующим образом.
На первом такте при помощи единичного сигнала, подаваемого с первого выхода регистра 4, триггеры
31, 32 и 11, сумматоры-вычитатели
23 и 26, регистр 29 и счетчик 30 устанавливаются в нулевое состояние. При этом на ныходах регистров
7 — 9 имеются нулевые логические уровни. На. втором такте при помощи единичного сигнала со второго выхода регистра 4 разблокируются элементы И 33 и 34. В результате этого с шины 21 знака функции через элементы И 33 и ИЛИ 55 н триггер 11 заносится значение знака функции, а с управляющей шины 19 через элемент И 34 устанавливается триггер
32. При этом, если триггер 32 устанавливается в единичное состояние, то вычисляется соз х, в противном
25
45 случае -sin х. На третьем та. те при помощи единичного сигнал,i с третьего выхода регистра 4 разблокируется элемент И 27, на котором по шине 20 подается значение знака аргумента х, В случае вычисления
sin x, т.е. когда триггер 32 находится в нулевом состоянии, триггер
ll устанавливается в состояние, при котором выполняется равенство .
9 n (-х ) =- sin х при вычислении сон х с нулевого выхода триггера 32 элемент И 27 заблокирован, вследствие чего триггер 1) не меняет состояния выполняя тем самым равенство сов (-x)=coax. На этом же такте осуществляется занесение значения аргумента х н сумматор-вычитатель
23. На четвертом такте с четнертого выхода регистра 4 единичный сигнал подается на оба управляющих входа сумматора-нычитателя 26, н котором осуществляется вычитание из двоичного кода константы "/г, подаваемого при помощи группы 18 шин константы, двоичного кода аргумента х, подаваемого с информационных выходов сумматора-вычитателя 23. Формирование на прямом знаковом выходе сумматора-нычитателя 26 нулевого сигнала означает нахождение аргумента х в первом квадранте, т,е, / и х — в противном случае х >—
2 2
На пятом такте единичный сигнал с пятого выхода регистра 4 через элемент ИЛИ 6 разблокирует элементы И 35 и 36. В результате этого со знаковых выходов сумматоранычитателя 26 устанавливается в единичное состояние либо триггер
3), либо счетчик 30. На шестом такте при помощи единичного сигнала с ,шестого выхода регистра 4 разблокируются элементы И 50, 51, 53 и 56.
Если аргумент х находится в первом квадранте, то срабатывает элемент
И 50, и единичный сигнал с его выхода через элемент ИЛИ 54 подается на первый информационный вход регистра 8. На последующем такте при помощи единичного сигнала с первого выхода регистра 8 осуществляется н случ ае вычисления со 5 х ра з бл окиронки группы 38 элементов И, а в случае вычисления si n х — раэблокировка группы 25 элементов И, а так-. же через элемент ИЛИ 16 — разблоки ровка регистра 29. В случае вычисле
)205140 г — -х в соответствующем блоке I an2 паратурным способом умножается на коэффициент А и подается на одну из групп входов сумматора 46 ° Через временной интервал, равный времени срабатывания блоков 1, с выхода элемента 15 задержки разблокируется одна из подгрупп группы 43 элементов И и коэффициент В из ПЗУ через указанную подгруппу и группу 45 элементов ИЛИ подается на другую группу входов сумматора 46. В результате этого на выходе сумматора
46 формируется результат вычисления
si»» х либо сов х при помощи линейной сегментной аппроксимации в виде Ах+В по следующей системе уравнения: (5
+ 0,000
+ 0,000
+ 0,000
+ 0,000
+ 0,000
+ 0,000
+ 0,000
+ 0,000
+ 0,000
+ 0,000
+ 0,000
+0,0001
+ 0,00!
+ 0,001
+ 0,010
+ 0,010
+ 0,0)I
+ 0,0»
+ 0,)00
+ О,!00
+ 0,)01
+ 0,»O
+ 0,»0
+ O,»l
+ 1,000
На последующем такте с второго выхода регистра 8 разблокируется элемент И 12, на выходе которого формируется знак вычисляемой функции, двоичный код которого через группу
l3 элементов ИЛИ совместно с двоич-. ным кодом вычисляемой функции подается на выходную информационную шину 14.
Если имеет место неравенство
55 х > —, то единичный сигнал формируется на выходе элемента И 56, который через элемент ИЛИ 52 запускает регистр 7. На следующем также при помощи единичного сигнала с первого выхода регистра 7 осуществляется занесение в сумматоры-вычитатели 23 и 26 двоичного кода константы "/ .
На информационных выходах сумматоравычитателя 23 образуется значение х- — а на информационных выходах
2 сумматора-вычитателя 26 — значение и -х. Если аргумент х находится во втором квадранте, то на инверсном знаковом выходе сумматора-вь»читателя 26 имеем единичный сигнал, и на ния спа х из сумматора-вычитателя 26 через группу 38 элементов И и группу
41 элементов ИЛИ подается значение
»
Ц вЂ” -х в регистр 29 и на входы групп
2.элементов И. В случае вычисления
si»» x из сумматора-вычитателя 23 через группу 25 элементов И и группу
41 элементов ИЛИ подается значение аргумента х в регистр 29 и на входы групп 2 элементов И. В зависимости от того вычисляется sin х или сов х, старшие и разрядов значений соответственно х либо /а -х дешифрируются
FYl дешифратором 42; где 2 — количество блоков 1. Вследствие этого разблокируется одна из подгрупп группы
2 элементов И, и значение х либо ! у =0,»l I» 1»»0 х
У =0,111 » l IOI »О х у =0,1 » » l 001 »O x у =0,1 » 110 0)1 »О х у =O,l » 101 O » »О х у =O,l » 100 001 » l x у =О,l » 010 110 OIO x
О, » I 00) 000 100 х у =0,110 » 1 OOI 010 х у, =O, »0 !01 000 0» х у, =0,110 OIO 101 101 х у, =0,110 000 001 010 х у„=о,lо) 101 О» 010 х у =0,101 010 IOO 011 х у, =0,100 » l O » IOI x у 0 100 100 001 101 х
yÄ=0,1ОО 000 » О 111 х у =0,0» 101 О » OIO x у =0,0 » » 0 010 х
yÄ=0,О1О » О 000 100 х у =0,010 OIO 010 О!1 х у =0,001 »О 0» 010 х
y,,=90991 919 9» I » x у 0 000 » 0 IOO 001 х
yÄ=0,ООО 0IO 100 001 х у .=0,000 001 0» »О х
000 000 001
000 000 101
000 001»0
ООО О» ))6
000 110 » 1
001 О!1 010
010 001 010
01! 000 » l
100 OIO Oll
101» 0 001
»1 .)00 OOI
001 100 101
0» I l l 010
»О 100 I »
001 101 OIO
101 000 000
000 101 0»
00 l » O 000
00! OOI Oil
l 01» 1 000
010 l » » l
000 Oll 000
»О 000 10)
100 000 10)
010 010 100
1205 очередном такте при помощи единичного сигнала с второго выхода регистра
7 через элементы ИЛИ 6 и И 35 триггер 31 устанавливается в единичное состояние, Вследствие этого единичный сигнал формируется на выходе элемента И 49, который через элемент
ИЛИ 10 запускает регистр 9, и в случае вычисления сов х через элементы
40 и ИЛИ 55 меняет состояние тригге- 1О ра 11, так как во втором квадранте собх имеет отрицательное значение.
На последующем такте при помощи единичного сигнала с первого выхода регистра 9 осуществляется в слу- 15 чае вычисления совх разбяокировка группы 24 элементов И, а в случае вычисления пх — разблокировка группы 37 элементов И, а также через элемент ИЛИ 16 — разблокировка 70 регистра 29. В случае вычисления
coo х с сумматора-вычитателя 23 через группу 24 элементов И и группу 41 элементов ИЛИ подается зна25 чение х- — в регистр 29 и на входы
2 групп 2 элементов И, так как сов х=
Н
=- Sin (x- — ), В случае вычисления
Б п х из сумматора-вычитателя 26 30 через группу 37 элементов И и группу 41 элементов ИЛИ подается значение -х в регистр 29 и на входы .групп 2 элементов И. Дальнейшее функционирование устройства для вычисления функций синуса и косинуса осуществляется аналогично описан1 ному.
Если имеет место неравенство x?li то в отличие от предыдущего случая единичный сигнал имеем на прямом знаковом выходе сумматора-вычитателя
26, и на очередном такте при помощи единичного сигнала с второго выхода регистра 7 через элементы
ИЛИ 6 и И 36 и изменяется состояние счетчика 30. Вследствие этого единичный сигнал формируется на выходе элемента И 53, который через элемент ИЛИ 52 запускает регистр 7.
На последующем такте при помощи единичного сигнала с первого выхода регистра 7 осуществляется занесение в сумматоры-вычитатели 23 и 26 двоичного кода константы / . В результате этого на информационных выходах сумматора-вычитателя 23 образуется значение х-il, а на информационных
140 Ь выходах сумматора-вычитатсля 26
Зп значение — -х. Если аргумент х на2 ходится в третьем квадранте, то на инверсном знаковом выходе сумматоравычитателя 26 имеем единичный сигнал, и на очередном такте при помощи единичного сигнала с второго выхода регистра 7 через элементы ИЛИ 6 и
И 35 триггер 31 устанавливается в единичное состояние. Вследствие этого единичный сигнал формируется на выходе элемента И 48, который через элемент ИЛИ 55 меняет состояние триггера 11, так как 61п х и соь х в третьем квадранте отрицательны. Дальнейшее функционирование устройства для вычисления функций синуса и косинуса осуществляется аналогично (1( случаю —. х.
Если имеет место неравенство
3 и х > — то в отличие от предыдущего
Э случая единичный сигнал имеем на прямом знаковом выходе сумматора-вычитателя 26, и на очередном такте при помощи единичного сигнала с второго выхода регистра 7 через элементы
ИЛИ 6 и И 36 изменяется состояние счетчика 30. В результате этого едис ничный сигнал формируется на выходе элемента И 51. Это приводит к занесению аналогичным образом в сумматоры-вычитатели 23 и 26 двоичного кода константы "/g . .В результате этого на информационных выходах сумматоравычитателя 23 образуется значение
3 I х- — „, а на информационных выходах сумматора-вычитателя 26, значение
27l .-х. Если аргумент х находится в четвертом квадранте, то на инверсном знаковом выходе сумматора-вычитателя 26 имеем единичный сигнал, а на очередном такте при помощи единичного сигнала с второго выхода регистра 7 через элементы ИЛИ 6 и И 35 триггер 31 устанавливается в единичное состояние. Это приводит к формированию единичного сигнала на выходе элемента И 47, который через элемент ИЛИ 10 запускает регистр 9 и в случае вычисления Sinõ через элементы И 39 и ИЛИ 55 меняет состояние триггера 11, так как в четвертом квадранте Мпх имеет отрицательное значение ° Дальнейшее функционирование устройства для вычисления функ1205140
20
30
7 ций синуса и косинуса осуществляетдт ся аналогично случаю х > —
Если имеет место неравенство х>2», то устройство для вычисления функций синуса и косинуса функционирует аналогично описанному, начиная с пятого такта.
Из описания функционирования устройства для вычисления функций синуса и косинуса следует, что в сумматоре-вычитателе 23 находится одна
)! из положительных величин х либо х- — .
3п либо х- либо х- †. Формирование
У
2 на знаковом выходе сумматора-вычитателя 23 и соответственно на выходе 22 контроля единичного сигнала указывает на сбой в функционировании устройства для вычисления функций синуса и косинуса. Допустим, что х-ц 0. Это означает, что после рассмотрения первого квадранта сразу анализируется нахождение аргумента х в третьем квадранте, пропустив тем самым из-за сбоя рассмотрение второго квадранта. Отсутствие указанных средств контроля в случае сбоя приводит к заклиниванию функционирования как известных, так и предлагаемого устройства для вычисления функций синуса и косинуса.
Формула изобретения
Устройство для вычисления функций синуса и косинуса, содержащее четыре регистра сдвига, элемент И, три элемента HJIH,ïåðâûé триггер, элемент задержки, 2 групп элемен 1Ъ тов И (где rn — количество старших разрядов аргумента), 2 блоков умЩ ножения на коэффициент и две группы элементов ИЛИ, причем вход запуска устройства соединен с входом первого разряда первого регистра сдвига, выход пятого разряда которого соединен с первым входом первого элемента ИЛИ, второй вход которого соединен с выходом второго разряда второго регистра сдвига, выход первого триггера соединен с. первым входом элемента И, выход которого соединен с первыми входами элементов ИЛИ первой группы, выходы которых соединены с выходом устройства, выход первого разряда третьего регистра сдвига соединен с первым входом второго элемента ИЛИ, выход которого соединен с входом элемента задержки, выход третьего элемента
ИЛИ соединен с входом третьего регистра сдвига, выходы элементов И с первого по 2 соединены с входами
Ф соответствующих блоков умножения на коэффициент, выходы которых поразрядно соединены с соответствующими входами элементов ИЛИ второй группы, о т л и ч а ю щ е е с я тем, что, с целью повышения быстродействия, н него введены с второго по шестнадцатый элементы И, два сумматоравычитателя, с четвертого по седьмой элементы ИЛИ, сумматор, третья и четвертая группы элементов ИЛИ, с
;и Ф
2 +1 по 2 +K+4 группы элементов И (где 1 — количество участков аппроксимации), регистр, дешифратор, второй и третий триггеры, счетчик и блок памяти констант, причем выход первого разряда первого регистра сдвига соединен с входами установки в "0" первого, нторого, третьего триггеров, счетчика, первого и второго сумматоров-вычитателей и регистра, выход нторого разряда первого регистра сдвига соединен с первыми входами второго и третьего элементов И, вторые входы которых соединены соответственно с входом знака функции и входом вида функции устройства, вход задания константы которого соединен с первыми информационными входами сумматоров-вычитателей, выход третьего разряда первого регистра сдвига соединен с первым управляющим входом первого сумматора-нычитателя и первым входом четнертого элемента И, второй нход которого соединен с входом знака устройства, вход аргумента которого соединен с вторым информационным входом первого сумматора-вычитателя, второй управляю1ций вход которого соединен с выходом первого разряда второго регистра сдвига.и первым входом четвертого элемента ИЛИ,второй вход которого соединен с выходом четвертого разряда первого регистра сдвига и первым управляющим входом второго сумматора-вычитателя, второй управляющий и второй информационный входы которого соединены соответственно с выходом четвертого элемента
ИЛИ и выходом первого сумматора-вычитателя, который подключен пораз1205140
10!
25
35
50
Я рядно к первым входам соответствующих элементов И 2 +1 и 2 +2 групп, вторые входы которых соединены соответственно с прямым и инверсным выходами второго триггера и первыми входами соответственно пятого и шестого элементов И, выходы которых соединены с первым и вторым входами пятого элемента ИЛИ, третий и четвертый входы которого соединены с выходами соответственно второго и четвертого элементов И, третий вход четвертого элемента И соединен с инверсным выходом второго триггера, выход второго сумматора-вычитателя соединен,поразрядно с первыми входами соответствуюtA м щих элементов И 2 +3 и 2 +4 групп, вторые входы которых соединены соответственно с прямым и инверсным выходами второго триггера, выход шестого разряда первого регистра сдвига соединен с первыми входами с седьмого по десятый элементов И, выходы с восьмого по десятый элементов И соединены соответственно с первого по третий входами шестого элемента ИЛИ и с первыми входами соответственно с одиннадцатого по тринадцатый элементов И, вторые входы которых соединены с прямым выходом третьего триггера и вторым входом седьмого элемента И, выход и третий вход которого соединены соответственно с первым входом седьмого элемента ИЛИ и выходом четырнадцатого элемента И, инверс1 ный выход третьего триггера соединен с вторыми входами восьмого, девятого, десятого и первым входом четырнадцатого элементов И, прямой выход первого разряда счетчика соединен с третьим входом восьмого и третьим входом десятого элементов
И, инверсный выход первого разряда счетчика соединен стретьим входом девятого и вторым входом четырнадцатого элементов И, прямой выход второго разряда счетчика соединен с четвертыми входами восьмого и девятого элементов И, инверсный выход второго разряда счетчика соединен с четвертым входом десятого и третьим входом четырнадцатого элементов И, выход переполнения счетчика соединен с четвертым входом шестого элемента ИЛИ, выход которого соединен с входом первого разряда второго регистра сдвига, abrx< ы одиннадцатого и тринадцатого элементов И соединены соответственно с первым и вторым входами третьего . элемента ИЛИ и вторыми входам.» соответственно пятого и четвертого элементов И, выход двенадцатого элемента И соединен с первым входом седьмого элемента ИЛИ и четвертым входом пятого элемента ИЛИ, выход которого соединен со счетным входом первого триггера, выход седьмого элемента ИЛИ соединен с входом первого разряда четвертого регис-.ра сдвига, вход второго разряда которого соединен с выходом второ о разряда третьего регистра сдвига, выход третьего элемента И соединен с входом установки в "1" второго триггера, выход первого разряда четвертого регистра сдвига соединен с вторым входом второго элемента ИЛИ и треtn тьими входами элементов И 2 +2 и
2 +4 групп, выход второго разряда четвертого регистра сдвига соединен с вторым входом первого элемента И, выход первого разряда третьего регистра сдвига соединен с третьиPl (Т1 ми входами элементов И 2 +1 и 2 +3 групп, выходы элементов И с 2 +1 м по 2 +4 групп подключены к входам соответствующих элементов ИЛИ третьей группы, выходы которых соединены с первыми входами соответствую(Т\ щих элементов И с первой по 2 групп, вторые входы которых соединены с выходами соответственно с первого по
2 дешифратора, вход которого соединен с выходом регистра, вход синхронизации которого соединен с выходом второго элемента KIN и третьими входами элементов И с первой по 2 групп., информационный вход регистра соединен с выходом третьей группы элементов ИЛИ, выходы дешифратора с первого по 2 соединены с первыми входами элементов И соответственно с 2 +5 по 2 + +4 групп, вторые входы которых соединены с выходом элемента задержки, выходы групп м разрядов с первой по 2 поля констант блока памяти констант поразрядно соединены с третьими входами м п соответственно с 2 +5 по 2 +1 +4 групп элементов И,выходы которых соединены с соответствующими входами элементов ИЛИ четвертой группы, выход которой соединен с первым инll 12051 формационным входом сумматора, второй информационный вход которого соединен поразрядно с выходами элементов ИЛИ второй группы, выход сум- матора соединен поразрядно с вторыми входами элементов ИЛИ первой группы, выход первого элемента ИЛИ
1соединен с первыми входами пятнадцатого и шестнадцатого элементов И, вторые входы. которых соединены соот
40 12 ветственно с инверсным и прямым выходами знака второго сумматора †вычитателя, выходы пятнадцатого и шестнадцатого элементов И соединены соответственно с входом установки в "1" третьего триггера и счетным входом счетчика, выход знака первого сумматора-вычитателя соединен с выходом контрольного разряда устройства.
ЮИИИИ Заказ 8536/51 Ти аж 709 Прудское
Филиал ШШ Патаках, r.Óàrîðîä, ул.Проектыая, 4