Устройство для вычисления синусно- косинусных функций Советский патент 1980 года по МПК G06F17/10 

Описание патента на изобретение SU750495A1

1

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

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

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

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

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

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

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

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

Устройство содержит регистр 1, сдвигатели 2 и 4, сумматоры-вычитатели 3, 5 и 7, блок 6 элементов И, блок 8 эле.ментов ИЛИ, регистры 9 и 10 сдвига, элементы И 11, 17 0 и 19, генератор 12 импульсов, триггеры 13 и 16, элементы 14 и 18 задержки, элементы ИЛИ 15, 21 и 20, информационные входы 2225 сдвигателя, управляющие входы 26-29 сдвигателя, выходы 30-33 сдвигателя, блоки 34-37 элементов И-ИЛИ.

Каждый сдвигатель выполнен в виде набора параллельно включенных элементов типа d И-ИЛИ (с - номер выхода сдвигателя) , причем первые входы первых из ot Q элементов И каждой группы И-ИЛИ объединены и подключены к первому информационному входу сдвигателя, первые входы вторых из fit элементов И также объединены и подключены ко второму информационному входу сдвигателя и так далее, первый управляющии вход сдвигателя подключен ко вторым входам сС-го элемента И из групп элементов типа И-ИЛИ, второй управляющий вход сдвигателя подключен ко вторым входам (d - 1)-го элемента И из групп элеQ ментов типа оСИ-ИЛИ и так далее. В качестве сумматора-вычитателя используется параллельный алгебраический сумматор накапливающего типа.

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

XI Х, Y:- . 2, i 2

1)

,) i 2n; (2)

YL - +v XL-I 2

К,У|5иТ НГ;

(3) (4)

01 01-1 I

.U; eoAHjf,.o

где

l-l, ec M{fL-i Q;

()

.1

(6)

J3 L arc tg , i 2, n

(7)

При этом Xi Cos G, при i - n, a n - oa . .sin0, при , a n - oo.

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

По сигналу «пуск устройство устанавливается в исходное положение. В третий сумматор-вычитатель 7 через блок 6 элементов И заносится двоичный код угла Q, в первый регистр 9 сдвига заносится код / 0,100...О, второй сумматор-Бычитатель 5, второй регистр 10 сдвига и регистр 1 устанавливаются в нулевое положение (код 0,00...0), в первый сумматор-вычитатель 3 заносится код величины 1/К-п. (Ktt определяется из (3), например, для п 12, K,i 1,646759964...), триггер 13 устанавливается в нулевое, а триггер 16 - в единичное состояние. На этом заканчивается нулевой (подготовительный) шаг итерации. Спустя время (ft 4 - время задержки в элементе 14) выполняется первый шаг итерации. Он, как и нулевой шаг, не подчиняется соотношениям (1), (2), и реализует зависимости X, ±YO О(8) Y, ±Хо ±I/KU(9) и служит лишь для расширения диапазона представления 0. Причем знаки в (8) и (9) определяются значениями (знаковым разрядом)сумматора-вычитателя (7). Х| - YO YI Хопри О © 180° Xi УОпри - 180° Y, -Хо 1-ый шаг. Триггер 13 сигналом с выхода элемента 14 задержки переводится в единичное положение и открывает элемент И 11, на выходе которого появляются импульсы, частота следования которых определяется генератором 12. Первый же из указанных импульсов осуществляет «перезапись единицы в старший разряд регистра 10 из триггера 16 и в регистр 10 записывается код 1000. В то же время триггер 16 устанавливается в нулевое положение. Сигнал, соответствующий единичному уровню, появляется на первом выходе регистра 10 и осуществляет передачу кода из второго сумматора 5 в регистр 1. На вре.менной диаграмме указанная микрооперация обозначена как 1 5, т. е. содержимому блока 1 присваивается значение содержимого блока 5. Далее, следующий (второй) тактовый импульс с выхода элемента И 11 осуществляет сдвиг информации в регистре 10, где оказывается код 0100, который формирует сигнал единичного уровня на втором выходе регистра 10. Этот сигнал поступает на вход сумматора-вычитателя, осуществляя тем самым микрооперацию 5 3 Знак кода, переписываемого из блока 3 в блок 5, определяется знаковым разрядом сумматоравычитателя 7. После прихода третьего тактового импульса в регистр 10 устанавливается код 0010 и возбуждается третий выход. Сигнал с третьего выхода регистра 10 осуществляет суммирование предыдущего числа в сумматоре 3 с кодом, хранящимся в регистре 1, т. е. выполняется микрооперация 3 ± 1. Четвертый тактовый импульс устанавливает в регистре код 0001. Сигнал единичного уровня с четвертого выхода регистра 10 осуществляет суммирование (с учетом знаков) 0 и 1, т. е. выполняется микрооперация 7 ± . Этот же сигнал прохода через «открытый элемент И 17 устанавливает сумматор-вычитатель 3 в нулевое состояние (3 0). На этом фактически заканчивается четвертый (последний) такт первого шага итеративного процесса. Сигнал, сформированный на четвертом выходе регистра 10, поступает на элемент 18 задержки. Каждый шаг (начиная с первого шага итерации) выполняется за четыре такта. Для удобства в каждом шаге выделяется первый, второй, третий и четвертый импульс, что соответствует следующим кодам в рвгистре 10 - 1000, 0100, 0010, 0001, которые циклически повторяются в регистре 10. 2-ой шаг. Начинается с приходом нового первого (пятого после «открытия элемента И 11) импульса, который устанавливает в регистре 10 код 1000. В это же время сигнал с выхода элемента задержки 18 устанавливает в регистре 9 код 0,0100...0 9 ). Код 1000 в регистре 10 осуществляет передачу содержимого второго сумматора-вычитателя 5 в регистр 1 (1 5). Далее код 0100 осуществляет суммирование кодов, хранящихся в сумматорах 5 и 3, а результат алгебраического суммирования остается в сумматоре-вычитателе 5, т. е. выполняется микрооперация . Третий импульс - обеспечивает выполнение микрооперации 3 ± . Четвертый импульс обеспечивает выполнение алгебраического суммирования содержимого сумматора 7 с кодом, хранящимся в регистре 9, т. е. .. Третий и последующий шаги итерации аналогичны второму. При этом в каждом i-OM шаге циклически повторяются следу-ющие микрооперации 9 , 1 5 ,. ,1 первый импульс т второй импульс 1 2 / третий импульс 7 ±fiчетвертый импульс что полностью соответствует выполнению соотношений (1) и (2). На последнем п-ом (п - разрядность третьего сумматора-вычитателя) шаге итерации результат вычисления функций У sin 6 и X cos 6 формируется по окончанию третьего такта для сокращения времени вычислений. Элемент И 19 формирует сигнал остановки при наичии кода 0,00...01 в регистре 9 и 0001 - регистре 10. Время вычисления каждой пары значений У sin0 и X cos 6 приблизительно в два раза меньше, чем у известного. Эффективность изобретения заключается повышении быстродействия устройства и его упрощении за счет использования чеырехразрядного сдвигателя. Формула изобретения Устройство для вычисления синуснокосинусных функций, содержащее первый регистр, первый и второй регистр сдвига.

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

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

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

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

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

выходы первого регистра соединены с входами второго сдвигателя.

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

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

в ЦВМ, Л., 1976.

2.Оранский А. М. Аппаратные методы в цифровой вь числите,1ьпой технике, .инск, 1977, с. 102, 131 - 132.

3

&

«о

Ol

ел

С 00

Cv Oj CM

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

название год авторы номер документа
Цифровой гармонический анализатор 1979
  • Морозевич Анатолий Николаевич
  • Лазарева Ирина Константиновна
SU873148A1
Устройство для реализации алгоритма Волдера 1983
  • Мельник Анатолий Алексеевич
SU1115049A1
Цифровое устройство для вычисления синусно-косинусных функций 1980
  • Абашин Юрий Константинович
  • Крюков Юрий Владимирович
SU868753A1
Вычислительное устройство 1983
  • Буланкин Валерий Борисович
  • Совкова Инна Алексеевна
SU1167605A1
Цифровой функциональный преобразователь (варианты) 1981
  • Рейхенберг Анатолий Леонидович
  • Фурс Сергей Николаевич
SU1015375A1
Устройство для вычисления элементарных функций по алгоритму Волдера 1982
  • Вальшонок Ефим Самуилович
  • Вавилов Владимир Николаевич
  • Митин Вениамин Дмитриевич
  • Пиневский Николай Михайлович
  • Сигалов Александр Семенович
SU1068933A1
Устройство для цифрового преобразования координат 1982
  • Дауров Станислав Константинович
  • Кнышев Валентин Иванович
SU1019445A1
Преобразователь координат 1988
  • Байков Владимир Дмитриевич
  • Булгакова Светлана Дмитриевна
SU1566345A1
Квадратор 1987
  • Баранов Георгий Леонидович
  • Баранов Владимир Леонидович
SU1501049A1
Устройство для поворота вектора 1983
  • Альховик Александр Сергеевич
  • Байков Владимир Дмитриевич
  • Дорофеев Иван Геннадьевич
  • Куликов Михаил Алексеевич
SU1132285A1

Иллюстрации к изобретению SU 750 495 A1

Реферат патента 1980 года Устройство для вычисления синусно- косинусных функций

Формула изобретения SU 750 495 A1

о

b

1

10

K

3

aCVJ

-o

O C4j

CVJ.

о f

SU 750 495 A1

Авторы

Морозевич Анатолий Николаевич

Леусенко Александр Ефимович

Немытов Борис Васильевич

Даты

1980-07-23Публикация

1978-06-02Подача