Устройство для вычисления функций синуса и косинуса
Иллюстрации
Показать всеРеферат
ОП NCAHHE
ИЗОБРЕТЕНИЯ
Ссйоз Советских
Социалистических
Республик .
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (61) Дополнктельное к авт. свид-ву(22) Заявлено 180280 (21) 2884948/18-24 )51) M. Кп.з с присоединением заявки №
G 06 F 7/548
Государственный комитет
СССР по делам изобретений и открытий (23) Приоритет
Опубликовано 230482. Бк)ллетень ¹ 15
Дата опубликования описания 23.04.82
f 53) УДК б81 3 (088.8) (72) Авторы изобретения
) ! (.« «
I
«1
A.A ÌåëüHèê и Н.В.Черкасский (71) Заявитель
Львовский ордена Ленина политехнический и им. Ленинского комсомола (54) УСТРОЙСТВО ДЛЯ. ВЫЧИСЛЕНИЯ ФУНКЦИЙ
СИНУСА И КОСИНУСА
Изобретение относится к вычислительной технике и предназначено для использования в высокоскоростных специализированнызс вычислительных устройствах, например в устройствах для вычисления быстрого преобразования Фурье.
Известно устройство для вычисления тригонометрических функций sin x и cosx, содержащее блок управления, блок умножения, блок памяти и два регистра сдвига (1).
Недостатком известного устройства является его низкое быстродействие, поскольку устройство работает по, итерационному принципу и для вычисле ния функций sin х и cos х с тре.-. буемой точностью в нем затрачивается 18 тактов, причем в каждом такте выполняется операция умножения °
Наиболее близким по технической сущности к изобретению является цифровой генератор функций, содержащий регистры старших и младших разрядов аргумента, четыре блока постоянной памяти, два коммутатора, сумматор, :двигатель, дешифратор и выходной регистр. Время вычисления значения функции в данном цифровом генераторе определяется как
2t выВ + 2tc><+ t cog где ВЬВ- время выборки из блока постоянной памяти; время суммирования двух чисти сел на сумматоре;
- время сдвига в сдвигате-сйВ.
10 JIe (2) .
Недостатком данного устройства является низкое быстродействие.
Цель изобретения — повышение быстродействия устройства.
Указанная цель достигается тем, что в устройство для вычисления. функций синуса и косинуса, содержащее регистры старших и младших разрядов аргумента, четыре блока памяти, сумматор, сдвигатель, дешифратор, выходной регистр, причем выход регистра старших разрядов аргумента связан с выходом первого блока памяти, выход регистра младших разрядов аргумента связан. с входом второго блока памяти, выход сумматора связан с входом выходного регистра, дополнительно введены десять промежуточных. регистров и второй сумматор, Причем вход первого промежуточного регистра соединен с выходом регистра
922734 старших разрядов аргумента, выход первого промежуточного регистра сое" динен с входом второго промежуточного регистра, подключенного через третий блок памяти к входу третьего промежуточного регистра, выходом 5 соединенного с входом четвертого промежуточного регистра, выход которого подключен к первому входу первогс сумматора, второй вход которого через пятый промежуточный регистр сое- 10 динен с выходом сдвигателя, первый вход которого соединен с выходом шестого промежуточного регистра, подключенного через четвертый блок памяти к выходу седьмого промежуточного регистра, вход которого соединен с выходом второго сумматора, второй вход сдвигателя соединен с выходом восьмого промежуточного регистра, вход которого подключен к вы-20 ходу дешифратора, вход которого соединен с выходом седьмого промежуточного регистра, выход второго блока памяти соединен с входом девятого промежуточного регистра, выход которого соединен с первым .входом второго сумматора, второй вход которого соединен с выходом десятого промежуточного регистра, вход которого соединен с выходом первого блока памяти, управляющие входы регистров старших и младших разрядов соединены с первым тактовым входом устройства, управляющие входы первого, девятого и десятого промежуточных регистров соедичены с вторым тактовым 35 входом устройства, управляющие входы второго и седьмого промежуточных регистров соединены с третьим тактовым входом устройства, управляющие входы третьего, шестого и восьмого проме- 40 жуточных регистров соединены с четвертым тактовым входом устройства, пятый тактовый вход которого соединен с управляющими входами четвертоГо и пятого промежуточных Регистров, 45 управляющий вход выходного регистра соединен с шестым тактовым входом устроиства.
На чертеже представлена блок-схе-. ма устройства. 50
Устройство содержит регистр 1 старших разрядов аргумента, регистр
2 младших разрядов аргумента, промежуточные регистры 3 — 12, блоки 13
1б постоянной памяти су "аторы 17 и 55
18, дешифратор 19, сдвигатель 20, выходной регистр 21, тактовые входы
22 — 27 устройства.
Тактовые импульсы, поступающие на регистры устройства, вырабатываются в генераторе тактовых импульсов (не
60 показан) . Изменение содержимого регистров происходит по переднему фронту каждого импульса записи. Для исключения гонок импульсы смещены с помощью элементов задержки в каж- 65 дой ступени на время & . Разбивка устройства регистрами позволяет работать всем ступеням независимо, поэтому сразу после освобождения первой ступени в нее загружается новый операнд, а во второй ступени уже обрабатывается операнд, прошедший первую ступень и т.д. Последовательность операций, выполняемых над операндами при прохождении всех ступеней, определяет выполнение операции вычисления синуса или косинуса. Производительность конвейерных устройств .при условии обработки массивов, в которых коли ество операндов существенно больше числа ступеней конвейера, характеризуется длительностью такта Т продвижения данных по конвейеру.
Длительность такта Т определяется максимальной задержкой распространения сигнала, которой обладают комбинационные схемы некоторой ступени конвейера, в данном случае ступени, содержащей сумматор.
Блок 13 памяти, предназначен для хранения таблицы значений hogg созх) в случае вычисления. функции синуса и таблицы значений Fog sin x< в случае вычисления функции косинуса, блок 14 памяти обеспечивает табличное преобразование величины &х в значение fog & х; блок 15 памяти хранит таблицу значений sin х в случае вычисления синуса и cos x в случае .вычисления косинуса, блок
1б памяти выполняет преобразование вида z - 2 .
Промежуточные регистры 3 — 12 предназначены для хранения результатов промежуточных вычислений и для обеспечения конвейерного способа обработки..
Устройство Производит вычисления на основе таблично-алгоритмического метода. Значение функций синуса и, косинуса достаточно находить в пределах изменения аргумента от 0 до —, так как значения этих функций для произвольного значения .аргумента в силу их периодичности можно получить из значений .функций в интервале (О, -) путем дополнительной операции типа сложения или изменения знака, .Вычисление функций sin х и cos x от аргумента х (О 4 х < †) произвоЛ дится в устройстве на основе следующих соотношений.
Пусть х - число, образованное старшими разрядами аргумента, & х— число, образованное младшими разрядами аргумента.То есть разбиваем аргумент х=О,х„,х,...х„ на сумму узловой точки х =о,х1,х,...x„и при922734 соотношение
cos x0 = дх дх
= -2 sin s in (х О+ — —,)- -дх. s in х О
Л1 +4) выполняемые с погрешностью Е с 2 которая может быть сделана выходящей за пределы разрядной сетки надлежащим выбором параметра k.
Для нычисления значений синуса и )5 косинуса получаем ныражения
Sin X=8(a X<+bS(ax= ЫаХ фон,и+(!oq; cosx )
4) (80<(b ОО рм)
ООЗ Х =СОВ ХО+ШООВ Х = COS ХО- где параметр k должен удовлетворять условию k )
Устройство работает следующим образом.
Значение хО хранится в регистре старших разрядов аргумента 1, значение дх — в регистре младших разрядов аргумента 2. В первом такте работы устройства в блоке 13 памяти 30 по значению хО, поступающему из регистра 1,, формируется значение
hogg cos хО при вычислении синуса и hogg sin х при вычислении косинуса. В блоке 14 по значению д х формируется значение 3og bx. Во втором такте эти значения записываются соответственно в промежуточные регистры 4 и 5, а значение хО из регистра 1 записывается в проме- 40 жуточный регистр 3. На сумматоре
17 формируется выражение, равное сумме содержимого регистров 4 и 5, которое в третьем такте записывается в промежуточный регистр, 7, а в .промежуточный регистр 6 записывается значение регистра 3. По значению хО, поступающему из регистра 6, в блоке
15 памяти. формируется значение sin xz при вычислении синуса и cos х О при вычислении косинуса, а по содержимому регистра 7 в блоке 16 постоянной памяти формируется значение Юо дх+Яа созХ„), при вычислении синуса и значение
55 ВО<, ЬХ+ВОС(МОХ )
g в обратном коде при вычислении косинуса, то есть в блоке 16 60
C производится преобразование г — 2
Поскольку при потенцировании появляется характеристика, то и устройство введен дешифратор 19, который, анализируя содержимое регистра 7, выраба25 — 5 (раз) . т формула изобретения
Устройство для вычисления функций синуса и косинуса, содержащее регистры старших и младших разрядов аргумента, четыре блока памяти, сумматор, сдвигатель, дешифратор, ныходной регистр, причем выход регистра старших разрядов аргумента соединен с выходом первого блока памяти, выход сумматора соединен с входом выходного регистра, о т л и ч а к. ращение дх = х — хО. тогда для функдии синуса имеем соотношение
as1n x = sin(x + bx) — sin x 0 ах
2 sin os (x О+ )=дх- cos x а для функции косинуса
bcos х = cos (х О + дх)— тывает код, который указывает, на .колько необходимо сдвинуть значение с выхода блока 16, чтобы учесть характеристику. В четвертом такте со держимое блоков 15 и 16 и дешифратора 19 записывается соответственно в промежуточные регистры 8 — 10.В сдвигателе 20 осуществляется указанный сдвиг, и с его выхода полученное значение записывается в пятом такте в промежуточный регистр 12, а в регистр 11 записывается содержимое регистра 8. На сумматоре 18 суммируются содержимое промежуточного регистра ll и содержимое промежуточного регистра 12, т.е. формируется результат вычисления, который в шестом такте записывается в выходной регистр.
Суммарный объем постоянной памяти для синуса и косинуса определяется выражением
Q=(4n-2n+6+S) 2" + (3 (n-k+1) +r) 2" " где S .= Ooggk, r = Fog (n-k+1) .
Используя это выражение, можно соответствующим выбором параметра
k получить устройство, обеспечивающее требуемую точность вычислений с минимальным суммарным объемом постоянной памяти. Для. n=24 имеем
Q = 329 k..
Устройство работает по конвейерному принципу. В каждом такте в него можно вводить новый операнд. По истечении первых шести тактов на выходе устройства получим первый результат, и дальше с каждым тактом на выходе устройства появляется новый результат, то есть быстродействие устройства Определяется длительностью такта.
Длительность же .такта н предлагаемом устройстве определяется задержкой в наиболее времяемком узле, которым является сумматор, поэтому
T = t . Быстродействие же известСум ного устройства не превышает ОЫБ + Оум + tCp,S
ПОскОльку ОбычнО t g ;5 tCóì tCä, то быстродействие предлагаемого устройства выше, чем известного в
922734 щ е е с я тем, что, с целью повышения быстродействия, в устройство введены десять промежуточных, регистров и второй сумматор, причем вход первого промежуточного регистра соединен с выходом регистра старших 5 разрядов аргумента, выход первого промежуточного регистра соединен с входом второго промежуточного регистра, подключенного через третий блок памяти к входу третьего промежуточ- 10 ного регистра, выходом соединенного с входом четвертого промежуточного регистра, выход которого подключен к первому входу первого сумматора, второй вход которого через пятый 5 промежуточный регистр соединен с выходом сдвигателя, первый вход которого соединен с выходом шестого промежуточного регистра, подключенного через четвертый блок памяти к выходу седьмого промежуточного регистра, вход которого соединен с выходом второго сумматора, второй вход сдвигателя соединен с выходом восьмого промежуточного регистра, вход которого подключен к выходу дешифратора, вход которого соединен с выходом седьмого промежуточного регистра, выход второго блока памяти соединен с входом девятого промежуточного регистра, выход которого соединен с первым входом второго сумматора, второй вход которого соеди. нен с выходом десятого промежуточного регистра, вход которого соединен с выходом первого блока памяти, управляющие входы регистров старших и младших разрядов соединены с первым тактовым входом устройства, управляющие входы первого, девятого и десятого промежуточных регистров соединены с вторым тактовым входом устройства, управляющие входы второго и седьмого промежуточных регистров соединены с третьим тактовым входом устройства, управляющие входы третьего, шестого и восьмого промежуточных регистров соединены с четвертым тактовым входом устройства, пятый тактовый вход которого соединен с управляющими входами четвертого и пятого промежуточных регистров, управляющий вход выходного регистра соединен с шестым тактовым входом устройства.
Источники информации, принятые во внимание при экспертизе
1. Авторское свидетельство СССР
9 591857,.кл. G 06 F 7/38, 1978.
2. Потапов В.И., Нестерук В.Р., Флоренсов А.Н. Быстродействующие арифметико-логические устройства
ЦВМ. Новосибирск, 1978, с. 29 — 32 (прототип).
922734
Составитель A.Çîðèí
Техред Ж.Кастелевич Корректор Л.Бокшан
Редактор В.Данко
Закаэ 2581/б3 Тираж 732 Подписное
ВНИИПИ Государственного комитета СССР по делам иэобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Филиал ППП Патент, г. Ужгород, ул. Проектная, 4