Устройство для вычисления синуснокосинусных функций
Иллюстрации
Показать всеРеферат
Союз Советск и к
Социалистических
Республик
О П И С А Н И Е „„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