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

Иллюстрации

Показать все

Реферат

 

Союз Советск и к

Социалистических

Республик

О П И С А Н И Е „„75О495

ИЗОБРЕТЕН ИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (61) Дополнительное к авт. свид-ву— (22) Заявлено 02.06.78 (21) 2636100/18-24 с присоединением заявки №вЂ” (23) Приоритет— (51) М.К и 06Г 15/31

Гооударствеииый комитет

СССР (53) УДК 681.325 (088.8) Опубликовано 23.07.80. Бюллетень ¹ 27

Дата опубликования описания 27.07.80 йо делам изооретеиий и открытий (72) Авторы изобретения

А. Н. Морозевич, А. Е. Леусенко и Ei. В. Немытов

Минский радиотехнический институт (71) Заявитель (54) УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ

СИНУСНО-КОСИНУСНЫХ ФУНКЦИЙ

Изобретение относится к вычислительной технике, особенно к специализированным вычислителям и предназначено для вычисления функций вида Y = sin e и Х = cose .

Известно устройство, содержащее регистры, сумматоры-вычитатели, сдвигающие регистры, постоянное запоминающее устройство и устройство управления с недостаточно высоким временем вычисления синуса и косинуса, равным п2г, где к — период следования тактовых импульсов, а п — разрядность регистров (1) .

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

Устройство позволяет реализовать итерационные методы вычисления гармонических функций, однако достаточно медленно действующее (время вычисления синуса и косинуса равно T = n e, где г — период следования тактовых импульсов, и — разрядность регистров) и достаточно сложное.

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

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

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

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

750495 с управляющими входами соответственно первого и второго сумматоров-вычитателей, а четвертый выход — с первым входом первого элемента ИЛИ, первым входом второго элемента И, управляющим входом третьего сумматора-вычитателя, второй вход первого элемента ИЛИ соединен с единичным выходом второго триггера, единичный вход которого соединен с управляющим входом устройства, а нулевой вход — с выходом первого элемента И, выходы вторых элементов

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

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

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

На фиг. 1 приведена схема устройства для вычисления синусно-косинусных функций; на фиг. 2 — временная диаграмма основных сигналов, определяющих процесс вычисления Y = sin 8 и Х = cos 8; на фиг. 3 — функциональная схема четырехразрядного сдвигателя.

Устройство содержит регистр 1, сдвигатели 2 и 4, сумматоры-вычитатели 3, 5 и 7, блок 6 элементов И, блок 8 элементов ИЛИ, регистры 9 и 10 сдвига, элементы И 11, 17 и 19, генератор 12 импульсов, триггеры 13 и 16, элементы 14 и 18 задержки, элементы

ИЛИ 15, 21 и 20, информационные входы 2225 сдвигателя, управляющие входы 26 — 29 сдвигателя, выходы 30 — 33 сдвигателя, блоки 34 — 37 элементов И-ИЛИ. (2) К,= (3) (4) где „ +i, если, >0, I

Еслиg -1<0; г =9-X („p„

-(а: А) „6. = агс tg2, i = 2, и (5) (б) (7) При этом Մ— +Cos8, при i — ъп, а и — т ao .

Y„ sin8, при i = и, а и — з. оо.

Устройство работает следующим образом.

По сигналу «пуск» устройство устанавливается в исходное положение. В третий сумматор-вычитатель 7 через блок 6 элементов И заносится двоичный код угла Ц, в первый регистр 9 сдвига заносится код

P = 0,100...0, второй сумматор-вычитатель 5, второй регистр 10 сдвига и регистр 1 устаКаждый сдвигатель выполнен в виде набора параллельно включенных элементов типа с И-ИЛИ (сс — номер выхода сдвигателя), причем первые входы первых из ( элементов И каждой группы И-ИЛИ объединены и подключены к первому информационному входу сдвигателя, первые входы вторых из ц. элементов И также объединены и подключены ко второму информационному входу сдвигателя и так далее, первый управляющий вход сдвигателя подключен ко вторым входам 4-го элемента И из групп элементов типа с(И-ИЛИ, второй управляющий вход сдвигателя подключен ко вторым входам (2 — 1) -го элемента И из групп элементов типа ссИ-ИЛИ и так далее. В качестве сумматора-вычитателя используется параллельный алгебраический сумматор накапливающего типа.

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

750495 навливаются в нулевое положение (код

0,00 ..О », в первый сумматор-вычитатель 3 заносится код величины 1/К,„(К, определяется из (3), например, для п = 12, К,„=

= 1,646759964...), триггер 13 устанавливается в нулевое, а триггер 16 — в единичное состояние. На этом заканчивается нулевой (подготовительный) шаг итерации. Спустя время 1 = т 4 (Г»4 — время задержки в элементе 14) выполняется первый шаг итерации. Он, как и нулевой шаг, не подчиняется соотношениям (1), (2), и реализует зависимости

X» — — +Y0 = 0 (8) 6 = - Xo = »1/Кп (9) и служит лишь для расширения диапазона представления О. Причем знаки в (8) и (9) определяются значениями (знаковь»м разрядом) сумматора-вычитателя (7).

XI = Y0 » =Xo при О (О < 180

Х» при О >9 > — 180

Y» = — Хо

1-ый шаг. Триггер 13 сигналом с выхода элемента 14 задержки переводится в единичное положение и открывает элемент И 11, на выходе которого появляются импульсы, частота следования которых определяется генератором 12. Первый же из указанных импульсов осуществляет «перезапись» единицы в старший разряд регистра 10 из триггера 16 и в регистр 10 записывается код 1000. В то же время триггер 16 устанавливается в нулевое положение. Сигнал, соответствующий единичному уровню, появляется на первом выходе регистра 10 и осуществляет передачу кода из второго сумматора 5 в регистр 1. На временной диаграмме указанная микрооперация обозначена как <1 > т. е. содержимому блока 1 присваивается значение содержимого блока 5. Далее, следующий (второй) тактовый импульс с выхода элемента И 11 осуществляет сдвиг информации в регистре 10, где оказывается код 0100, который формирует сигнал единичного уровня на втором выходе регистра 10. Этот сигнал поступает на вход сумматора-вычитателя, осуществляя тем самым микрооперацию (5 = 3> Знак кода, переписываемого из блока 3 в блок 5, определяется знаковым разрядом сумматоравычитателя 7. После прихода третьего тактового импульса в регистр 10 устанавливается код 0010 и возбуждается третий выход.

Сигнал с третьего выхода регистра 10 осуществляет суммирование предыдущего числа в сумматоре 3 с кодом, хранящимся в регистре 1, т. е. выполняется микрооперация

<3+ 1>. Четвертый тактовый импульс устанавливает в регистре код 0001. Сигнал единичного уровня с четвертого выхода регистра 10 осуществляет суммирование (с учетом знаков) 8 и g<, т. е. выполняется микрооперация <7 +- ??1>. Этот же сигнал прохода через «открытый» элемент И 17 устанавливает сумматор-вычитатель 3 в нулевое состояние (<3) = О). На этом фактически заканчивается четвертый (последний) такт первого шага итеративного процесса. Сигнал, сформированный на четвертом выходе регистра О, поступает на элемент 18 задержки.

Каждый шаг (начиная с первого шага итерации) выполняется за четыре такта.

Для удобства в каждом шаге выделяется первый, второй, третий и четвертый импульс, что соответствует следующим кодам в ре10 гистре 10 — 1000, 0100, 0010, 0001, которые циклически повторяются в регистре 10.

2-ой шаг. Начинается с приходом нового первого (пятого после «открытия» элемента И 11) импульса, который устанавливает в регистре 10 код 1000. В это же время сигнал с выхода элемента задержки 18 устанавливает в регистре 9 код 0,0100...0 <9>=

= <9>2 ). Код 1000 в регистре 10 осуществляет передачу содержимого второго сумматора-вычитателя 5 в регистр 1 (<1> = <5>).

20 Далее код 0100 осуществляет суммирование кодов, хранящихся в сумматорах 5 и 3, а результат алгебраического суммирования остается в сумматоре-вычитателе 5, т. е. выполняется микрооперация <5> - (3> ° 2 .

Третий импульс - обеспечивает выполнение

2s микрооперации <3> +- <1> . 2 . Четвертый импульс обеспечивает выполнение алгебраического суммирования содержимого сумматора 7 с кодом, хранящимся в регистре 9, т. е. <7>++.,Ва.

3»» Третий и последующий шаги итерации аналогичны второму. При этом в каждом

i-ом шаге циклически повторяются следующие микрооперации

<9> = <9>. 2, <1> = <5> первый импульс

35 <5> — <3> 2 второй импульс

<3> »- <1> 2 . третий импульс

<7>+ f „ четвертый импульс что полностью соответствует выполнению соотношений (1) и (2) . На последнем п-ом

40 (n — разрядность третьего сумматора-вычитателя) шаге итерации результат вычисления функций Y = sin 0 и Х = cos 6 формируется по окончанию третьего такта для сокращения времени вычислений. Элемент

И 19 формирует сигнал остановки при на45 личии кода 0,00...01 в регистре 9 и 0001— регистре 10.

Время вычисления каждой пары значений Y = si»» 8 и Х = cos Q приблизительно в два раза меньше, чем у известного.

Эффективность изобретения заключается

5» в повышении быстродействия устройства и его упрощении за счет использования четырехразрядного сдвигателя.

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

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

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

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

Источники информации, принятые во внимание при экспертизе

1. Байков В. Д., Смолов В. Б. Аппаратурная реализация элементарных функций ао в ЦВМ, Л., 1976.

2. Оранский А. М. Аппаратные методы

В цифровоЙ Вычислите,гьпои TE".lникер Минск, 1977, с. 102, 131 — 132.

750495

Составитель В. Венцель

Редактор М. Ликович Тсхред К. Шуфрич Корректор Н. Григорук

Заказ 4467/19 Тира1к 751 Г1одписное

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

l 13035, Москва, Ж вЂ” 35, Раушская наб., д. 4/5

Филиал ППП «Патент», г. Ужгород, ул. Проектная. 4