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

 

Изобретение относится к вычислительной технике и может быть использовано для вычисления функций синуса и косинуса. Целью изобретения является повышение производительности при сохранении заданной точности. Устройство содержит блок 1 управления, операционный блок 2, блок 3 памяти, мультиплексоры 4-9, триггер 10, элемент И 11, элемент НЕ 12. Поставленная цель достигается введением новых элементов и связей. 3 ил.

!

5р 4 6 06 F 7/548

g : Pe+ =ф

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

ГОСУДАРСТВЕННЫЙ НОМИТЕТ

П0 ИЭОБРЕТЕНИЯМ И ОТНРЬГИЯИ

APH ГННТ СССР (21 ) 41!4268/24-24 (22) 01.09.86 (46) 07,05.89. !баюл. У 17 (72) Т,С.Панова и Н.А.Лукин (53) 68) . 32 (088.8) (56) Авторское свидетельство СГСР

В 1330621 ° кл. r, 06 F 7/544, 1985.

Авторское свидетельство СССР

В !298740, кл. 6 06 Р 7/544, 1985, (54) УСтРОЙС 80 ЛЛ1! 8!1ЧИСЛРЙИя ФУНКЦИЙ .СИНУСА И КОСИНУСА (57) Изобретение относится к вычислиÄÄSUÄÄ 1478213 А1 тельной технике и может быть исполь зовано для вычисления функций синуса и косинуса. Целью изобретения является повьппение производительности лри сохранении заданной точности.

Устройство содержит блок 1 управления, операционный блок 2, блок 3 памяти, мультиплексоры 4-9, триггер

10, элемент И 11, элемент НЕ 12.Ïîñтавленная цель достигается введением новых элементов и связей. табл.

3 ил.

1478213

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

1!ель изобретения. — повышение производительности при сохранении заданной точности. 10

На фиг.l изображена функциональная схема устройства; .на фиг. 2— функциональная схема блока управления; на фиг. 3 — функциональная схема операционного блока. 15

Устройство содержит блок 1 управления, операционный блок 2, блок 3 памяти, мультиплексоры 4-9, триггер

1О, элемент И 11 элемент HF. 12, вход .13 обращения, адресный вход 14, 20 информационный вход 15 и выход 16 блока памяти, первый выход 17 блока управления, адресный 18 и первый информационный 19 выходы операционного блока, первый информационный вход 25

20 операционного блока, вход 21 кода операции, вход 22 признака результа та операции блока управления, выход

23 признака результата операции операционного блока, второй информацион- 30 ный вход 24 операционного блока, вход 25 пуска устройства, вход 26 признака знака функции блока управления, выходы 27 и 28 старших разрядов аргумента операционного блока, второй информационный выход 29 операционного блока, выход 30 младших разрядов аргумента операционного блока, вход 31 адреса операнда, вход 32 синхронизации, вход 33 кода операции 40 операционного блока, второй 34,третий 35 и четвертый 36 выходы блока управления, блок 37 памяти микропрограмм, генератор 38 синхроимпульсов, мультиплексор 39, группы 40 и 41 45 мультиплексоров, триггер 42, группу 43 триггеров, группу 44 элементов И, регистр 45, арифметико-логический блок 46, регистры 47-51, мультиплексоры 52, коммутатор 53, группу 54 50 регистров и блок 55 умножения.

В устройстве для вычисления функций cosX u sinX в качестве базовой используется формула для вычисления 55 функции cosX

5 г

eos(X) = Аг Х, (1) где погрешность /F(X)/ - 2 10

0- Х %/2;

А о э

А = — 0,4999999963; г

A — 0,0416666418;

Ag — 0,0013888397;

А1 0,0000247609;

А „ — 0,0000002605.

Функция sinX вычисляется через функцию cosX по следующему (известному) соотношению:

sinX = cos(ю/2 — Х), R устройстве обеспечивается вы! числение функций при изменении аргумента от — 2 до +2N. Максимальное значение аргумента кодируется машинной единицей.

Следовательно, математическое значение аргумента связано с кодовым значением следующим соотношением:

Х = Х, 21 4Х„ „p/2

Х = Х ° 1 /2, где Х является приведенным к первому квадранту, (0 4 Х 4 <К/2) кодовым значением аргумента и представляет собой сдвинутое на 2 разряда кодовое значение аргумента

Ху.=Х-у,цд4 °

Таким образом, выражение (1 ) при-. нимает следующий вид:

F(X«„) = 2 A,. .X ".,,(2)

i 0 где А г — приведенные константы, рассчитанные с учетом требования отсутствия переполнений

+ Ау г1

2 2

Приведенные значения констант вычисляются заранее и хранятся в зоне блока памяти, специально отведенной для констант.

Выражение (2) обеспечивает вычисление значений функций без учета знака.

Знак функции рассчитывается с учетом типа функции и диапазона, в котором находится аргумент. Вычисление функций реализуется по схеме Горнера.

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

1478213

В блоке 3 памяти хранятся команды, данные и константы.,!!ля функций

cosX {sinX) н блоке 3 памяти хранятся приведенные константы А

2i

Для реализации данных функций н систему команд введены дополнительно две команды, в операционном поле каждой из которых должен содержать1 ся соответствующий код операции (для выполнения функции cosX или sinX) а в адресном поле — непосредственный или вычисляемый (например, по содержимому базы и одного из регистров общего назначения) адрес аргумента. !5

По сигналу "Пуск" (вход 25) триггеры и регистры процессора устанавливаются в исходное состояние.

По синхроимпульсам,поступающим с генератора 38 синхроимпульсов,на 2р выходах I 7,34,,35 и 36 блока 1 управления формируются сигналы управления.

При этом управляющие си" íàëû выходов 17 и 35 поступают на соотнетствующие входы операционного блока 2. 25

Кроме того, управляющие сигналы 17 поступают на вход 13 блока 3 памяти, на стробирующий вход триггера 10 а в блоке 1 управления — на входы регистра 45, триггepos 43 и 42. ЗО

Сигналы с выхода 36 поступают на управляющие входы мультиплексоров

5-9 и элемент И 11, На ныходе 34 блока I управления устанавливаются адреса регистров группы 54 операционного блока ?.

По сигналам обращения на выходе

l6 блока 3 памяти появляется информация, содержащая или команду или данные, или константу. 40

Команда поступает на вход 20 операционного блока 2, а код операции и адрес одного из регистров группы

54 любой из команд поступает на вход

2l блока управления.

По сигналу с выхода 17 блока I управления код операции и адрес иэ регистров группы 54 записываются соответственно в регистр.45 блока 1 уп- равления и пятый регистр 51 операционного блока 2.

Пусть необходимо вычислить функцию cosX.

С выхода регистра 45 код операции, являющийся в данном случае начальным адресом микропрограммы, через группу 40 мультиплексоров, управляемую с выхода 36 блока 1 управления и через триггер 42 и группу 43 триггеров пс ступает нл адресный вход блока 37 памяти микропрограмм, В результате нл ныходлх 17, 34 — 36 блока I управления формируются упрлнлянтщие сигналы, соответствующие данной микропрограмме, л на выходе блока 37 памяти микрокомлнд — адрес следующей микрокомлнды.

После приемл комлндного слона определяется вычисляемый адрес аргумента Х, При этом в конце такта адрес следующей микрокомлнды с первого адресного выхода блока 37 памяти микропрограмм поступает через группу 40 мультиплексоров, триггер 42 и группу

43 триггеров нл адресный вход блока

37 памяти микропрограмм . По сигналам обращения; поступающим с второй группы выходов генератора синхроимпульсон 38 на входы обращения блока 37 памяти микропрограмм, на выходах 17, 34 — 36 блока l управления устанавливаются сигналы, необходимые для формирования вычисляемого адреса, и код адреса следующей микрокоманды.

При этом на вход 13 блока 3 памяти поступают сигналы обращения, л на первые входи второй группы 41 мультиплексоров с выхода регистра 45 поступает код ацресл регистра группы 54 и проходит через выход 34 блока.l управления нл адресный нход операционного блока 2.

Содержимое одного из регистров группы 54 н соотнетствии с поступившим адресом через мультиплексор 52 поступает на первый вход арифметикологического блока 46.

В следующем такте на выходах

17, 34 — 36 блока управления устанавливаются сигналы, обеспечивающие обращение за аргументом.

Арифметнко-логический блок 46 складывает информационные коды и полученный результат через мультиплексоры 8, 7, 9 и 6 и нход 24 пересылает в тот же регистр группы 54.

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

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

l4 блока 3 памяти.

По сигналам обращения на выходе

16 блока 3 памяти появляется код ар1478213

Код (знак) при Х . Г/2 .®/2... Х Т.

Функция

О,,,, 3 1(/2 3 1 /2... 2

00 (+) . 0i (-) i0 (-) 11 (+)

00 (+) 01 (+) in (-) 11 (-) cosX

sinX гумента Х и записывается в регистр

51 операционного блока 2, Лри этом разряды i — 29 содержат приведенное значение аргумента Х», а разряды 30

1 и 31 — информацию о знаке функции, Аргумент Х » устанавливается на выходе 30 (разряды 1 — ?9), выходах 28 и 27 (раэряды 30 и. 31 соответственно) операционного блока 2, Разряды l — 29 поступают на первый информационный вход мультиплексора 9, а разряд 30 через первый информационный вход мультиплексора 3 проходит на первый информационный вход мультиплексора 6.

Ло управляющим сигналам с выходов

36 блока 1 управления на выходах пятого В и четвертого 7 мультиплексоПри вычислении функции cosX в случае, если аргуменч функции cosX находится в Т или IV квадранте,на первом управляющем входе мультиплексора 4 и первом входе элемента И 11 устанавливаются логические нули или логические единицы. Лри прохождении на второй вход элемента И 11 единичного управляющего сигнала с выхода

36 блока 1 управления на втором управляющем входе мультиплексора 4 устанавливается нулевой сигнал.

В случае, если аргумент функции

cosX отрицателен, то на управляющих входах мультиплексора 4 устанавливается код 01 или 10. Лри этом íà его выходе устанавливается логическая единица.

При вычислении функции qinX для обеспе Сения запоминания знака функции на второй вход элемента И 11 с выхода 36 поступает нулевой сигнал.

В соответствии с таблицей на выходе первого мультиплексора 4 устанавливается нулевой сигнал для sinX7 О, и единичный для sinX (О, т,е. аналогично функции cosX.

Сигнал с выхода мультиплексора 4 поступает нл информационный вход ров устлнлвливлются пулевые сигнллы, л нл, выходе мультиплексоров 9 и 6 соответственно разряды лргумеитл Х»

1 — 29 и 30, благодаря чему нл вхо5де 24 операционного блока 2 устанавливается код аргумента, сдвинутый на два разряда.

Сдвинутый на два разряда код Х» поступает на информационные входы регистров 47 и 48 операционного блока

2 и записывается в них.

Одновременно со сдвигом аргумен15 та Х» на два разряда в триггере 10 запоминается знак функции.

Допустим, что для определения знака аргумента функции условно принят код, который приведен в таблице. триггера 10 и по стробирующему импульсу с выхода 17 переводит его в нулевое состояние (для совХ > О, sinX> 0) или в единичное состояние (для cosX О, s>nX 0)

Следующий такт начинается с обращения в блок 3 памяти за константой А"„, На выход 34 блока 1 управления с второго адресного выхода блока 37 памяти микропрограмм через группу 41 мультиплексоров проходит адрес регистра адреса констант регистров группы 54, содержащего адрес константы

45 А» . Содержимое регистра адреса констант поступает на,первый вход арифметико-логического блока 46 п,пройдя через регистр 50 и первый информационный выход коммутатора 53,устанав51 ливается на выходе 14 блока 3 памяти.

По сигналам обращения на выходе

16 блока 3 памяти устанавливается константа Ащ и по управляющему сигналу записывается в регистр 51 операционного блока 2.

В этом же такте в блоке 55 умножения перемножается содержимое регистров 47 и 48 и значение произведения

P записывается в регистр 49.!

478 1

Кроме того, и этом же тлкте формируется.адрес константы А., Для этого лрифметико-логический блок 46 к значению адреса конгтянты А,о добавляет единицу. Адрес константы А и записывается в регистр адреса констант регистров 54 группь1.

R следующем такте значения константы А, через ярифметико-логический блок 46 с выходя 29 оперлционного блока ?. через мультиплексоры 7 — 9 и б поступает ня вход 24 операционного блока 2 и записывается в регистр 48. 15

Затем н этом же такте в регистр

47 з аписынае тс я значение Р, для ч еro оно пересылается в него из регистра 49 через мультиплексор 52 и арифметико-логический блок 46, 20

В очередном такте по очередной микрокоманде аналогично описанному производя! ся операции. обращение в блок 3 памяти за значением константы А» и запись А> н регистр 51; 25 аналогично, увеличением адреса константы А +tt на единицу определяют адрес константы А ", и записывают его в регистр адреса констант регистров групггы 54; в этом же такте содержимое 3п регистров 47 и 48 перемножается и результат А»,Р записывается в третий регистр 49.

В следующем такте по очередной

<а микрокоманде А Р через мультиплек35 сор 52 поступает на перньгй вход арифметико-логического блока 46 и складыш Ф нается со значением константы.А>.

Результат сложения А P + A фор1О г мируется на выходе ?9 операционного 40 блока 2 и записьгвлется через мультиплексоры 7 — 9 и 6 и вход 24 операционного блока ? в регистр 48 операционного блока 2. Далее микрокоманды последних двух тактов циклически пов- 45 торяются до тех пор, пока не будет вычислено выражение (((А «„ Р + A!t) x х Р + А,) ° Р + А4) Р + Аг . Результат записьгвается в регистр 49„

Следующий такт начинается с обра50 щения в блок 3 памяти зл константой

А записи ее в регистр 51 . Содержимое регистра 48 умножается на содержимое регистра 47 и результат, как и в предьгцущих случаях, записывается н регистр 49.

В этом же такте, аналогично формированию очередной константы, формируется адрес очередного командноt-n ел< вз ° В этом глучяе с выхолл 34 блс кл 1 упрлнления поступлю т лдрег. ! регистра группь1 54, отведенного под сче тчих КОмл нд, В следующем такте содержимое регистра 49 перегыллется ня первый нход лрифметико-логического блока

46, склядьпзлется с А1и полученными результлт Р (Х) формируется на четвертом выходе 29 операционного устройства ?.

Значение функции V(X) сдвиглется нл один разряд, т. е. по управляющим сиг нлллм с выхода 36 блока 1 управления пропускается информация с нторых входов мультиплексоров б — 9.

При этом нл выходе мультиплексора 8 устанавливается нулевой сигнал, а на выходах остальных мультиплексоров информация с 1 по 31 разряды. Сдвинутое ня один разряд значение Г{Х) записывается в один из регистрон группы 54 по адресу, поступившему иэ блока 1 управления.

В этом же такте с выходов 36 формируется управляющий сигнал анализа перехода по условию, который разрешает прохождение информации о знаке функции с выходя триггера 10 через мультиплексор 39 нл вход установки в "1" триггера 42.

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

В случае, если ня выходе триггера 10 устанавливается логический

"О" (функция ) П), то состояние триггера 42 не изменяется. На этом вычисление функции cnsX заканчивается и в следуюг !ем такте по изменившемуся е адресу формируется набор управляющих сигналов, необходимых для обращения за очередным командным слоном и его приемом.

В случле, если ня выходе триггера !

О устлнлвливлется логическая "1" (функггггя (0) триггер 42 переходит н единичное состояние, увеличивая,тем самым, значения адреса микрокомлнды на единицу.

В следующем такте по этому адресу на выходах 17,35, 36 и 34, выходах блока управления формируются сигH;lslt, в соотвс тстнии с которыми

Р значение функции i !,. ) появляется на первом входе л рифм етико-логического

l 4782i 3

55 блока 46, которое инвертирует содержимое первого входа и добавляет единицу в младший разряд, т,е,, функции присваивается отрицательное значение, 5

На этом вычисление функции (для соэХ 0) заканчивается.

Япя вычисления функции sinX необходимо при формировании приведенного аргумента Х изменить значение тридцатого разряда, кода аргумента . на противоположное, Для этого при формировании Х управляющим сигналом с выходов 36 блока 1 управления открывается второй информационный вход мультиплексора 5. При этом на и ервый информационный вход муль типлексора 6 поступает проинвертированное значение тридцатого разряда кода аргумента. 20

В остальном вычисление функции

ainX аналогично вычислению функции совХ.

Формула изобретения 25,Устройство для вычисления функций синуса и косинуса, содержащее арифметико-логический блок, блок умножения, блок управления, два регист- gg ра, группу регистров и блок памяти,. причем разряды первого выхода блока управления подключены к входу выборки блока памяти, к синхровходам первого и второго регистров и регистров группы, разряды выхода блока управления подключены к разрядам входа выбора регистров группы, разряды третьего управляющего выхода блока управления подключены к управляющим входам блока умножения и арифметико-логического блока, о т л и ч а ю щ е е с я тем, что, с целью повышения производительности при сохранении заданной точности, в него введены семь мульти- 45 плексоров, коммутатор, триггер, элемент И, элемент HE и три регистра, ! причем соответствующие разряды чет;вертого выхода блока управления под-! ключены к первому входу элемента И и к управляющему входу первого муль1типлексора, соответствующие разряды первого выхода блока управления.подключены к синхровходам третьего,четвертого и пятого регистров и триггера, информационный вход, вход установки в "1" и выход которого подключены соответственно к выходу второго мультипл .копра, входу пуска устрой- ство и входу признака знака функции блока управления, соответствующие разряды третьего выхода блока управления,подключени к управляющим входам третьего мультиплексора и коммутатора, соответствующие разряды четвертого выхода блокз управления подключены к управляющим входам четвертого, пятого, шестого и седьмого . мультиплексоров, выходы которых подключены через шину к информационным входам первого и второго регистров и регистров группы, выход признака результата операции арифметико-логического блока подключен к входу признака результата операции блока управленни, вход кода операции блока управления подключен к выходу блока памяти и к информационному входу пятого регистра, выход которого подключен к первому информационному входу арифметико-логического блока, вход пуска устройства подключен к установочным входам регистров с первого по пятый, выход первого старшего разряда пятого регистра подключен к первому управляющему входу второго мультиплексора, с первого по четвертый информационные входы которого подключены соответственно к входам логического нуля, логической единицы,логической единицы и логического нуля устройства, выход второго старшего разряда пятого регистра подключен к второму входу элемента И, первому информационному входу первого мультиплексора и через элемент HE к второму информационному входу первого мультиплексора, выход элемента И подключен к второму управляющему входу второго мультиплексора, выход первого старшего разряда арифметико-логического блока подключен к первым информационным входам четвертого,пято-е го и шестого мультиплексоров, выход второго старшего разряда арифметикологического блока подключен к вторим информационным входам четвертого и шестого мультиплексоров, выход первого мультиплексора подключен к третьему информационному вкоду четвертого мультиплексора, вход логического нуля устройства подключен к третьему информационному входу шестого мультиплексора и второму и третьему информационным входам пятого мультиплексора, выход младших разрядов пятого регистра подключен к первому

1678213

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

5 вход которого подключен к выходу группы регистров, выход третьего мультиплексора подключен к второму информационному входу арифметико-ло1ð гического блока и к информационному входу четвертого регистра, выход которого подключен к информационному входу коммутатора.

1478213

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

Техред М.Ходанич

Корректор О.Кравцова

Редактор О. Голов ач

Заказ 2364/48 Тираж 669 Подписное

ВНИИПИ Государственного комитета но изобретениям и открытиям ори ГКНТ СССР

113035, Москва, Е-35, Раушская наб., д. 4/5

Производственно-издательский комбинат "Патент", г. Ужгород, ул. Гагарина, 101

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

 

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

Изобретение относится к вычислительной технике и может быть применено в специализированных процессорах

Изобретение относится к вычислительной технике и автоматике и может быть использовано в устройствах цифрового автоматического управления

Изобретение относится к области вычислительной техники и может быть использовано в качестве функционального расширителя для ЭВМ

Изобретение относится к области вычислительной техники и может быть использова-но в специализированных вычислителях

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

Изобретение относится к вычислительной технике и может быть использовано при построении специализированных ЭВМ.Целью изобретения является расширение области применения за счет выполнения преобразования гиперболических координат гфи повороте осей

Изобретение относится к вычислительной технике и может быть использовано при построении специапизиро-, ванных ЭВМ

Изобретение относится к области вычислительной техники

Изобретение относится к области цифровой вычислительной техники и может быть использовано для аппаратной

Изобретение относится к вычислительной технике и может быть использовано в ЭВЙ и системах

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

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

Изобретение относится к вычислительной технике, системам технического зрения, тренажерам различного назначения, а также может быть использовано в телевизионной технике

Изобретение относится к вычислительной технике и может быть использовано при моделировании динамики и управления полетами летательных аппаратов

Изобретение относится к вычислительной технике и может быть использовано в специализированных вычислителях

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

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

Изобретение относится к обработке измерительной информации и может быть использовано в геодезических трилатерационных системах для преобразования пространственных координат

Изобретение относится к цифровой вычислительной технике и может быть использовано для выполнения операции поворота вектора в вычислительных системах

Изобретение относится к вычислительной технике и может быть использовано в арифметико-логических устройствах цифровых вычислительных машин
Наверх