Устройство для вычисления синуса
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и может быть использовано в арифметико-логических устройствах цифровых вьтчислительных машин, а также в вцце самостоятельного устройства. Целью изобретения является расширение динамического диапазона вычислений синуса числа за счет вычисления функции sinX в форме с плавающей запятой. В устройство для вычисления синуса числа, содержащее первий и второй блоки 5 и 6 постоянной памяти, сумматор 8, умножитель 7, первый и второй регистры 1 и 2, дополнительно введены первый и второй сдвиг-атели и второй умножитель . В устройстве происходит вычисление порядка и мантиссы синуса числа. 4 ил.
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСНИХ
РЕСПУБЛИК (19) (11) (51) 4 G 06 Г 7 54
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И OTHPblTHA
К АВТОРСКОМ,Ф СВИДЕТЕЛЬСТВУ (21) 4016235/24-24 (22) 27.01.86 (46) 23.06.87. Вюл. )г 23 (72) М.А.Пуховицкий (53) 681,325(088.8) (56) Авторское свидетельство СССР
Ф 622090, кл. С 06 F 7/548, 1977.
Авторское свидетельство СССР
Ф 1145340, кл. С 06 F 7/548, 1983. (54) УСТРОЙСТВО ДЛЯ BbPiHCJIEHHH СИ—
НУСА (57) Изобретение относится к вычислительной технике и может быть использовано в арифметико-логических устройствах цифровых вычислительных машин, а также в виде самостоятельного устройства. Целью изобретения являе тся расширен ие динамиче ского диапазона вычислений синуса числа за счет вычисления функции sinX в форме с плавающей запятой. В устройство для вычисления синуса числа, содержащее перв»й и второй блоки 5 и 6 постоянной памяти, сумматор 8, умножитель 7, первый и второй регист-ры 1 и 2, дополнительно введены первый и второй сдвигатели И второй умножитель. В устройстве происходит вычисление порядка и мантиссы синуса числа. 4 ил.
Изобретение относится к вычислительной технике, а именно к цифровым
/ устройствам для вычисления синуса числа с плавающей запятой, и может быть использовано в состане арифметико-логических устройств цифровых нычислительных машин, а также в ниде самостоятельного вычислительного устройства.
Цель изобретения — расширение диа- 1О пазона входных чисел, Сущность изобретения зак. ш чается в том, что расширение динамического диапазона происходит за счет того, что синус числа А = р ° а вычисляется н форме с плавающей запятой, т.е.
sinA = р b, где р — основание системы счисления (р = 2, k = 1,?,3,4) порядок, представленный 20 двоичными разрядами, a,Ь вЂ” мантисса, представленная двоичными разрядами, На фиг. 1 изображена структурная
25 схема предлагаемого устройства; на фиг. 2 — структурная схема блока преобразования порядка, на фиг. 3 — график функции sin А н.1 фиг. 4 график функции (sinA) А.
Устройство для вычисления синуса числа содержит первый регистр 1, второй регистр 2, сумматор 3 порядка, первый сднигатель 4, первый блок 5 постоянной памяти, второй блок 6
35 постоянной памяти, первый умножитель
7, сумматор 8, второй умножитель 9, второй сдвигатель 10. Причем вход первого регистра 1 является входом порядка устройства, вход второго ре,10 гистра 2 — входом мантиссы устройства выход первого регистра 1 соединен с первым входом сумматора 3 порядка и управляющим входом первого сднигателя 4, вьгход второго регистра 2 — с информационным входом первого сдвигателя 4, выход старших разрядов первого сднигателя 4 соединен с адресными входами первого 5 и второго 6 блоков постоянной памяти. Выход младших раз- g рядов первого сднигателя 4 соединен с вторым входом первого умножателя
7, выход первого блока 5 постоянной памяти — с первым входом сумматора
8, выход второго блока 6 постоянной памяти — с первым входом пернЬго умножителя 7, выход которого соединен с вторым входом сумматора 8, выходом со - диненного е пергым входом второго
25 2 умножателя 9, второй вход которого подключен к выходу второго регистра
2,, выход старшего разряда второго умножителя 9 соединен с вторым входом блока 3 преобразования порядка, управляющим и информационным входами второго сдвигателя 10 выход младших разрядов второго умножителя 9 также соединен с информационным входом второго сдвигателя 10, выход которого является выходом мантиссы устройства, Выход блока преобразования порядка является выходом порядка устройства (фиг. 1).
Сумматор 3 порядка (фиг. 2) выполнен в виде двоичного разрядного сумматора 11 и элемента НЕ 12, причем вход первого слагаемого сумматора 11 является первым входом блока 3 преобразования порядка, вход элемента
НЕ является вторым входом сумматора
3 порядка, выход сумматора является выходом сумматора порядка, выход элемента HF. соединен с всеми разрядами второго входа сумматора, HB вхол переноса в младший разряд сумматора подается сигнал логического нуля.
Ка вход предлагаемого устройства поступает число А в форм» с плавающей запятой, причем
0 А=
Числа, лежащие ннс этого диапазона, являются для устройства некор- . ректными, поэтому результат вычисления функции sinA для этих чисел ошибочен.
Пусть  — результат вычисления значения функции sinA, получающийся на выходах устройства (фиг. 3)
В = р Ь = sinA * sin(p а), (2) р
° о4 где f3 — порядок результата, Ь вЂ” мантисса результата„
Знак = указывает на то, что вычисление sinA производится с некоторой допустимой погрешностью (обычно не превышающей в арифметических устройствах величины р 2 }.
Масса а нормализованного числа А не выходит из диапазона
3 1319025 4 в этом же диапазоне должна находить- гателе переводится из формы с плаваюся и мантисса результата. щей запятой в форму с фиксированной
Известно (фиг. 4), что для диапа. запятой, т.е. при к 0 происходит зона (1) сдвиг мантиссы а на оС разрядов вправо, 5 при М ъ 0 происход т сдвиг мантиссы
1 — — -- 06366197 а на с разрядов влево, при oc = 0
А сдвиг отсутствует. На втором этапе происходит собственно вычисление величины F в соответствии с (3) Представим sinA в виде
F = Р(Х) + F (Х) У, (7) sinA
s inA — — — А (4) Подставим (4) в (2) 15
s inA sinA o
В р Ь = sinA = — — — А= — — р a„(S)
А А
Учитывая (3), имеем
sinA=Fip,а=р Ь,, Ж (6) где В, — промежуточное значение порядка;
Ь вЂ” промежуточное значение ман1
ТИССЫ
F = (sinA)/А и 1 ъ F > 0,6366197 на интервале (1), причем
Я; =о
Ь, = а ° F, sinA =р b, 45
min(F) o min().
Величина F в предлагаемом устройстве вычисляется в два этапа. На первом этапе число А в первом сдви(9) А* - X; + Y - Х;,, Проведя окончательную нормализацию результата промежуточных вычислений, получаем результат 35 где Я вЂ” порядок результата после нормализации, 40
Ъ вЂ” мантисса результата после нор1 мализации, т.е. — — < b 1. р
Эти рассуждения справедливы для любых р, так как гдер=2, к=1,7,34. 50
Из (6) следует, что яновной частью процесса вычисления величины
sinA является процесс вычисления промежуточной величины F (sinA) /А, где А =р ° а. 55 где F(X) — значение функции в точках, определяемых числами> формирующимися на выходе старших разрядов первого сдвигателя
F (Х) — значение производной функции в точках, определяемых числами, формирующимися на выходе старших разрядов первого сдвигателя;
Y — число, формирующееся на выходе младших разрядов первого сдвигателя
Х вЂ” число, формирующееся на выходе старших разрядов первого сдвигателя.
Таблица величин F(X ) хранится в первом блоке постоянной памяти, табI лица величин F (Х,) — во втором блоке постоянной памяти. Умножение веI личины F (Х,) на величину Y происхо.— дит в первом умножителе, сложение величин F(X ) и F (Х ) ° Y происходит в сумматоре, на выходе которого. формируется величина F. Умножение величины F íà а происходит во втором умножителе, а окончательная нормализация результата осуществляется во втором сдвигателе и блоке преобразования порядка.
Формирующееся на выходах первого сдвигателя число представляет собой сумму чисел Х и У, где Х вЂ” число, формирующееся на выходе 18 старших разрядов первого сдвигателя 4; Y— число, формирующееся на выходе 21 старшего разряда первого сдвигателя 4.
В предлагаемом устройстве весь диапазон изменения числа Х разбит на отрезков. При этом для вычисления величины производится замена кривой (sinA/А), изображенной на фиг. 4, набором прямолинейных отрезков.
Для любых Y . выполняется соотноni шение
5 1319025
Вычисление величины на i-м интервале производится в соответствии с равенством
b = F(A*) а (16) sinA*
F(А*)
A* где А* — число, формирующееся на выходах первого сдвигате10 ля 4.
Первый сдвигатель 4 производит сдвиг мантиссы исходного числа А на к разрядов, причем, если еС положительное, сдвиг производится влево, если отрицательное, сдвиг производится вправо, если О, сдвиг отсутствует. При сдвиге влево в младших разрядах сдвигателя образуются нули, а при сдвигах вправо в старших
20 разрядах сдвигателя формируются нули.
Второй сдвигатель производит нормализацию результата, формирующегося на выходах второго умножителя 9.
Второй умножитель 9 производит умножение мантиссы а исходного числа
А на величину F(A*) в соответствии с (16) °
Первый блок 5 постоянной памяти хранит таблицу величин F(X1), 0,1,... (2" -1), а второй блок 6 постоянной памяти — таблицу величин
LF(X, ) — F(X;)3
При помощи первои го умножителя 7 производится опера35 ция
jF(X, ) — F(X;)3
Ш (Х;, — Х,) -3
h-=Х вЂ” Х=2
1+1 1 (12) и величина (F(x„, ) — г(х,)3 (Х,, — Х,) может быть записана в виде 2 Р(Х;,)- 45
Г(Х )) .
Устройство (фиг. 1) работает следующим образом.
Блок 3 преобразования порядка вычисляет порядок Л результата в со- 50 ответствии с правилом .В =- оi — V (15) F (А*) F (X ) + -- — - - --1------ — У, (1О) (F(x;, )-г(Х;Я ! (Х -Х.) причем величина F(X ) выдается из первого блока 5 постоянной памяти, величина выдается из второго блока 6 постоянной памяти, умножение величины (г(х;, )-г(х,)) /(х,, -х;) на величину Y производится в первом умножителе 7,. сложение величин
5 (х „ )-г(х;)1 — и F(X ) осуществля(х;„ -х;) ется в сумматоре 8, умножение величины на величину Р— во втором умножителе 9, а окончательная нормализация результата вычисления — в сумматоре 3 порядка и во втором сдвигателе 10.
Для простоты реализации предлагаемог 1 устройства весь диапазон изменения величины разбивается на одинаковых отрезков, причем i 2, (11) где j — разрядного... выхода 18 старших разрядов первого сдвигателя 4.
Тогда где са — порядок исходного числа;
V — старший разряд второго умножителя 9, а остальные узлы вычисляют (с некоторой погрешностью) мантиссу результата где а — мантисса исходного числа, LF(X;Ä ) — F(X„)J
3, у и а при помощи сумматора 8 — вычисление величины F(A*).
Формула изобретения
Ус тр ойс тв о для вычисл ения синуса, содержащее два блока памяти, сумматор, первый умножитель, два регистра, сумматор порядка, о т л и ч а ю щ е— е с я тем, что, с целью расширения диапазона входных чисел, в него введены два сдвигателя и второй умножитель, информационные входы первого и второго регистров являются входами порядка и мантиссы аргумента устройства соответственно, выход первого регистра соединен с входом первого слагаемого сумматора порядка и с входом управления величиной сдвига первого сдвигателя, выход второго ре1319025
Г гистра соединен с информационным входом первого сдвигателя и с входом первого сомножителя второго умножителя, выход старших разрядов первого сдвигателя соединены с адресными входами первого и второго блоков памяти, выходы младших разрядов первого сдвигателя соединены с входом первого сомножителя первого умножителя, .выходы первого и второго блоков памяти соединены с входами первого слагаемого сумматора и второго сомножителя первого умножителя соответст,венно, выход которого соединен с входом второго слагаемого сумматора, выход которого соединен с входом второго сомножителя второго умножителя,, выход которого соединен с инфор- мационным входом второго сдвигателя, выход старшего разряда второго множителя соединен с инверсными входами разрядов второго слагаемого сумматора порядка и с входом управления
10 .величиной сдвига второго сдвигателя, выход которого является выходом мантиссы устройства, выход сумматора порядка является выходом порядка устройства.
ЭлА
Составитель З.Шершнева
Редактор О.Бугир Техред М.Коданич КорректорГ.Решетник
Заказ 2513/43 Тираж 672 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Производственно-полиграфическое предприятие, г. Ужгород, ул. Проектная, 4