Устройство для вычисления тригонометрических функций
Иллюстрации
Показать всеРеферат
ОПИСАНИЕ
ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
Союз Советских
Социалистических
Республик (61) Дополнительное к авт. саид-ву (22) Заявлено 090376 (21) 2332l 85/18-24 (5f)IA. Кл. с присоединением заявки М (23) Приоритет
G 06 F 15/34
Государствениый комктет
СССР
ll0 делам нзобретений н открытнй
Опубликовано 254 279. Бюллетень Йо 47
Дата опубликования описания 25l279 (53) УДК681. l4 (088.8) (72) Авторы
ИЗОбрЕтЕНИя П. A. Лебедев И Л. я. Нагорный (71) Заявитель
Киевский институт инженеров гражданской авиации (54) УСТРОЙСТВО ДЛЯ ВИЧИСЛЕНИЯ ТРИГОНОМЕТРИЧЕСКИХ
ФУНКЦИЙ
Изобретение относится к области цифровой вычислительной техники и может быть использовано при построении специализированных вычислительных устройств.
Известное устройство для вычисления тригонометрических функций ис- . пользует сложный алгоритм вычисления тригонометрических функций и обладает 10 малым быстродействием llj.
Наиболее близким к данному техническим решением является устройство, содержащее сдвиговые регистры, блок управления, счетчики, элементы
И, ИЛИ, преобразователь прямого кода в дополнительный, сумматоры, блок задания констант, .входы элементов И подключены к блокУ управления, выходы — к элементу ИЛИ (2).
Это устройство работает по более простому, но все же достаточно сложному алгоритму, и его быстродействие недостаточно.
Целью изобретения является повыше- 25 ние быстродействия.
Это достигается тем, что в устройство, содержащее блок управления, элементы И, ИЛИ, блок задания констант, сумматор и сдвиговый регистр, пере вый выход которого соединен с первым входом первого элемента И и первым входом второго элемента И, выходы второго, третьего и четвертого элементов И подключены к соответствующим входам элемента ИЛИ, второй вход первого и второго элемента И и первые входы третьего, четвертого, пятого и шестого элементов И, первый вход сумматора и вход блока задания констант соединены с соответствующими выходами блока управления, а первый выход сумматора является выходом устройства, введены счетчик и триггер анализа условий, выход которого подключен к первому входу блока управления и ко второму входу сумматора, первый вход — к второму выходу сумматора, второй вход— к выходу шестого элемента И, второй вход которого соединен с первым выходом счетчика синхронизации и третьим входом сумматора, четвертый вход которого подключен к выходу блока задания констант, а третий выход ко второму входу четвертого элемента И, ко второму входу пятого элемента И, выход которого соединен с первым входом сдвигового регистра, ко
705455 второму входу которого подключен выХод элемента ИЛИ, а кО второму вы . ходу — второй вход третьего элемента И, выход первого элемента И соединен с пятым входом сумматора, а второй выход счетчика.синхрбйизацйи со вторым входом блока управления.
На фиг. 1 представлена структурная схема устройства; на фиг. 2 представлена диаграмма, поясняющая вычисления †тригонометрическ функций.
Устройство для вычисления тригонометрических функций содержит сдвиговый регистр 1, элемент И2, элемент
ИЛИ 3, элементы И 4, 5, б, 7, сумматор 8, блок >9 выдачи результата,триггер .10 анализа условий, элемент И
ll, счетчик 12 синхронизации, блок
13 управления, блок 14 задания констант;
В устройстве реализуется метод вычисления тригонометрических функ- 20 ций, который упрощает вычислительный процесс и может быть получен на основании формул вычисления дуги, хорды, стягивающей эту дугу, и отрезка, соединяющего центр хорды с 25 центром дуги (фиг. 2):
Яа ЧЬ „а
3 и = 2 в1
2 4, 30 г с„2
4=2 г -ГО сов ) > где f = bdc — дуга в градусах центрального угла с».; -а = Ьс. — хорда, стягивающая дугу фу г, — радиус дуги или окружности;
h =. nd — отрезок, соединяющий центр хорды с середи- 40 ной дуги ;
)Ь= — угол, равный половине угла д.;
Мь — =сМ вЂ” синус угла
° d- с». .2 2 ю 45 с в — =ОС вЂ” косинус угла А, 2
Примем радиус окружности равным единице Р= l.
50 (p (< совр) .
Избавляясь от корня, получим:
6 4-4сов ь.+ — - — сов + — cos ф. и й <6 2 46 я3 Ъ Ъ
Даннбе равенство легко приводится к следующемУ-виду:
4.сов ь-32сов ь(28-Ъ Е )=о
Решая уравнение относительно cosp, получим: сОвp=4- 9+ - -g
Выразим дугу через угол :
"=(l".." 7= "
65 сов ъ = 4 — 3 9+ 0,00091з(ь
Для более удобного обращения в полу ченной формуле обозначим постоянные числа, и выражение примет следующий вид;
cÎs » с-1 (с-1) +Ъ(ъ ..
Данная формула справедпива для угла Pi изменяющегося от 0 до 90, Можно определить.
p= ar coos P =
t)
1 точность вычисления величин по этим выражениям зависит от констант с и ,;1). Для получения Cos P с точностью до 4-ro знака константы принимают следующие значения: с = 3,2;
Ъ = 0,000675.
Для повышения точности вычисления нужно разбить на нескольк интервалов область Изменения угла р от 0 до 45, и в каждом интервале изменять значения констант с и Ь или одну константу Ь..
Рассмотрим работу устройства вычисления тригонометрических функций, реализующего данный метод..
Сдвиговый регистр 1 служит для хранения информации, а также как опеарционный регистр. Условно регистр
1 разбит на три регистра 5, f, g по времени синхронизации. Кодировка информации осуществляется двоично- десятичным кодом. Информация, содержащаяся в регистре 1, поступает на элемент И 2, и при наличии микрокоманды с блока 13 управления поступает в сумматор 8 для ее преобразования. Преобразованная информация поступает на блок 9 выда-" чи результата и через элемент И7 во второй разряд регистра 1, т. е. информация передается без сдвига регистра 1, благодаря задержке информации в сумматоре 8 на один разряд. Перобраэованная в сумматоре 8 информация может передаваться в регистр 1 со сдвигом влево на один разряд через элемент Иб и элемент
ИЛИ 3 в первйй разряд регистра 1 при поступлении микрокоманды на элемент
Иб с блока 13 управления. Информация в регистре 1 может сдвигаться вправо при наличйи микрокоманды с блока 13 на элемент И4, на который поступает информация с предпоследнего .разряда регистра 1. Наличие элемента И 5 обеспечивает хранение информации в регистре 1 без ее преобразоваНия при псмощи циклической перезаписи с выхода регистра 1 на вХОд регистра 1 через элЕмент ИЛИ 3.
Предусмотрен случай выполнения операции на сумматоре со сдвигом. В сумматоре 8 информация преобразуется и анализируется по каждому разряду с поступлением соответствующих микрокоманд с блока управления 13, 7"5455
65 условия анализа передаются в триггер
10 анализа условий, устанавливая
его в соответствующее состояние, триггер 10 анализа условий может хранить это состояние сколь угодно долго, пока не поступит с элемента
И 11 сигнал, сбрасывающий триггер
10 анализа условий при наличии на его входах сигнала микрокоманды с блока 13 управления, и сигнала счетчика 12 синхронизации. Сигналы о результате анализа с триггера 10 анализа условий передаются в блок управления 13 для выработкн соответствующих микрокоманд. При микрокомандахр поступающих с блока 13 управления в блок 14 задания констант, где выбираются соответствующие константы, которые поступают в сумматор 8 для вычисления соответствующих операций над ними. Все микрокоманды, вырабатываемые в блоке 13 управления, строго синхронизировайы во времени счетчиком 12 синхронизации. качестве примера расммотрим вычисление Cos p . Предположим, что аргумент В, заданный в градусах, 25 находится в условно обозначенном регистре g регистра 1 . Для реализации этого метода требуются отдельные операции и микрооперации. Операции сложения и вычитания .превращаются 30 в отдельные микрооперации, управляемые одной микрокомандой, поступающий на комбинационный последовательный сумматор 8 с блока 13 управления. — + à — микрооперация сло М жения мантисс1
f = f — E — микрооперация вычиМ М тания мантисс;
1м микрооперация сдвига мантиссы ре-4р гистра f вправо1 микрооперация сдвим га регистра (влево; — микрооперация при45 своения.содержимому регистра f содержимого регистра
6„+(1ч2чЪч...ч 1Й- микрооперация анализа и-го разряд" ного регистра 1 на перевыполнение с прибавлением од ного из последовательности чисел;
Х„:=Х„,+(1v2v5V"Л5)- микрооперация прибавлейия к и-му разряду регистра f одного числа из полседовательности . чисел;
К: = Х + ) — микрооперация сложения регистра f с константой; о: =о — микрооперация обну- бО ления регистра g; — микрооперация обмена между регистрами;
Cj — схема анализа условий.
Все эти микрооперации справедливы для всех трех условий регистров
2, f, g. Микрооперации сдвига вправо осуществляются при помощи элементов И4 и ИЛИ 3. Все остальные микрооперации осуществляются на сумматоре 8 при поступлении соответствующих микрокоманд с блока управления.
Для реализации выражения требуется операция умножения, деления, извлече- ния квадратного корня. Набор вышеописанных микроопераций позволяет составить микроподпрограммы этих операций.
Х. Микропрограмма операции деления, Предположим,что в регистре f находится делимое, а в регистре-6делитель.
1) f: = f — й„,, если СУ"-О, то переход на 2, если СУ=1, то переход на 3, 2) g := g +,1;,;= f 1 — переход на 1;
3) f: = f + Х„„- переход на 4; и-л
О, то переход на 1; если СУ = 1, конец деления.
1f. Микропрбграммы операции умножения. В регистре.. В находится множимое, а в регистре g множитель.
1) Q - переход на 2;
2) о .;= g + 15, если СУ =О, то переход на 4; если СУ =1, то переход на 3;
3) Ем: = Ем+ EN, — переход на 2;
4) К„:= fÄ+ 2™а если СУ =О, переход 2;
t если СУ =1, конец умножения.
Ш. Микропрограмма извлечения квадратного корня. Используется алгоритм по формуле Герона. Поцкоренное выраже- ние находится в регистре
1) f -= f + Р— переход на 2;
2) g := g Е„„если СУ=О, то переход на 3; если СУ=1, то переход на 4;
3) f®. = Й„„+ Км — переход . на 1..
4) Е,: = „, д:= д + f - переход .на 5;
5) У„,:= f - E — переход б б) Е„2:= й, 2+ 2.Мм; если СУ=О, то переход на 1; если СУ=1, то переход на 7;
7) E:= f, ф = О, f — 3 переход йа 8;
8) f f + 3; f: = f +, если
В- 2 и-2
СУ=О, то переход на 8;
705455 если СУ=1, то переход на 9;
9) f конец вычисления корня.
При наличии микропрограмм деления, умножения квадратного корня и отдель- 5 ных микроопераций, можно составить микропрограмму вычисления Cos P .
1) К: = — переход на микропрограмму умножения (II), где вычисляетс я аргумент )3 = %: = Я и осуществляется переход на 2;
2) — 675 — переход на 3 микрооперация записи 15 константы В.
3) ф, + 15, если СУ=О, переход на 3; если Су=l, переход 4.
4) 8;= f — переход на П-пере.ход на микроподпро- 2О грамму умножения для получения выражения Ъ г осуществляется переход на 5;
5) В 4,84 — переход на 6 микрооперация записи константы (С-1); 5
6) 6 > В + 15, если Су=l, то пеЗи реход на 6; если СУ=О, то переход на 7;
7) . = f + К„„-переход на 8. 30 .8) f g -переход на микроподпрограмму извлечение квадратного корня (Ш), где вычисляется выражение
35 и, осуществляется переход на 9;
9) Е f переход на 10, 10) fN,:, = 32 — переход на
11 — микрооперация записи константы С, 40
1l) 1: — переход на 12;
12) и ; = Š— 1- конец вычисления
М В м
Cos p
Благодаря простоте вычисления тригонометрических функций по данному 45 методу нет необходимости и применения некоторых блоков в функциональной схеме устройства, таких как счетчик итераций, преобразователь кода, двух сумматоров и других. Весь вычислительный процесс происходит за один цикл программы, что существенно сокращает время вычисления тригонометрических функций, Формула изобретения
Устройство для вычисления тригонометрическх функций, содержащее блок управления, элементы И, ИЛИ, блок задания констант,сумматор и сдвиговый регистр, первый выход которого соединен с первым входом первого элемента И и первым входом второго элемента И, выходы второго, третьего и четвертого элементов И подключены к соответствующим входам элемента ИЛИ, второй вход первого и второго элемента И и первый вход третьего, четвертого, пятого и шестого элементов И, первый вход сумматора и вход блока задания констант соединены с соответствующими выходами блока управления, а первый выход сумматора является выходом устройства,о т л и ч а ю щ е ес я тем, что, с целью повышения быстродействия, в устройство введены счетчик синхронизации и триггер анализа условий, выход которого подключен к первому входу блока управления и ко второму входу сумматора, первый вход — ко второму выходу сумматора, а второй вход — к выходу шестого элемента И, второй вход которого соединен с первым выходом счетчика синхронизации и третьим входом сумматора, четвертый вход которого подключен к выходу блока задания констант, а третий выход — ко второму входу четвертого ,элемента И И ко второму входу пятого элемента И, выход которого соединен с первым входом сдвигового регистра, ко второму входу которого подключен выход элемента ИЛИ, а ко второму выходу — второй вход третьего элемента И, выход первого элемента И соединен с пятым входом сумматора, а второй выход счетчика синхронизации со вторым входом блока управления.
Источники информации, принятые во внимание при экспертизе
1. Авторское свидетельство СССР, 9 419896, .кл. G 06 F 15/34, 1971,. „
2. Авторское свидетельство СССР
Р 474811, кл. G 06 F 15/34, 1972 (прототип) .
705455
ФиаР
Тираж 780 Подписное цНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Филиал ППП Патент, r. Ужгород, ул. Проектная, 4
Заказ 8352/бб
Составитель С. Громова
Редактор С. Равва Техред: M.Ïåòêî Корректор-,В.Бутяга