Устройство для вычисления тригонометрического тангенса
Иллюстрации
Показать всеРеферат
(11) 537344
ОПИСАНИЕ
ИЗОБРЕТЕН ИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
Союз Советских
Социалистических
Республик (б1) Дополнительное к авт. свид-ву (22) Заявлено 04.10.73 (21) 1963144/24 с присоединением заявки № (23) Приоритет
Опубликовано 30.11.76. Бюллетень № 44
Дата опубликования описания 10,12.7б (51) М. Кл.з 6 06F 7/38
Государственный комитет
Совета Министров СССР
1 ло делам изобретений (53) УДК 681.325.5 (088.8) н открытий (72) Авторы изобретения
А. Л. Рейхенберг и Р. Я. Шевченко (71) Заявитель (54) УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ
ТРИГОНОМЕТРИЧЕСКОГО ТАН ГЕН СА
Изобретение относится к области цифровой вычислительной техники и может использоваться при аппаратном вычислении элементарных функций, в частности в специализированных двоичных цифровых вычислительных машинах с фиксированной запятой.
Известно устройство для вычисления математических функций, содержащее блок управления, выходы которого соединены с накопительными и сдвигающими регистрами и блоком памяти, а выходы накопительных регистров — с первыми входами одноразрядных сумматоров-вычитателей, выходами подключенных к входам накопительных регистров, блок определения цифры псевдочастного, блок анализа сходимости и блок сброса, выход которого подключен к блоку управления.
Цель изобретения — расширение класса решаемых задач путем вычисления функции тригонометрического тангенса.
Для этого в устройство введены второй блок анализа сходимости, две коммутационные логические схемы и вентиль, через который блок управления подключен к второму накопительному регистру. Управляющие входы вентиля, коммутационных логических схем и блока определения цифры псевдочастного подсоединены к общему выходу блока управления, выходы второго и третьего накопительных регистров — к входам соответственно второго и третьего сдвигающих регистров, выходы которых перекрестно соединены с вторыми входами второго и третьего сумматороввычитателей. Выход блока памяти через первую коммутационную логическую схему подключен к второму входу первого сумматоравычитателя, блоки анализа сходимости входами — к разрядным выходам соответственно первого и третьего накопительных регистров, 10 а выходами — к второй коммутационной логической схеме, выход которой соединен с блоком сброса. Входы блока определения цифры псевдочастного подсоединены к выходам знаковых разрядов первого и третьего накопи15 тельных регистров, а выходы — соответственно к третьему входу первого и объединенным третьим входам второго и третьего одноразрядных сумматоров-вычитателей.
Блок-схема устройства представлена на
20 чертеже.
Устройство включает в себя одноразрядные сумматоры-вычитатели 1 — 3 комбинационного типа, накопительный регистр 4, коммутационную логическую схему 5, блок б памяти, вы25 полненный в виде односторонней памяти с поразрядной выборкой двух слов одновременно, накопительные регистры 7, 8, сдвигающие регистры 9, 10, блок 11 определения цифры псевдочастного, блоки 12, 13 анализа сходимости (схемы сравнения), коммутацион
537344 б0 б5 н ую логическую схему 14, блок 15 сброса (остановки процесса), блок 16 управления, вентиль 17.
Устройство содержит три рециркуляционные ячейки, состоящие из соединенных в кольцо сумматоров-вычитателей и накопительных регистров, Блок 6 памяти хранит константы вида arctg2 — >+ > и 2 >+ >, которые выбираются одновременно по одному адресу каждым тактовым импульсом с выхода
18 блока 16 управления. Знаковые разряды
19 накопительных регистров 4 и 8 соединены с входами блока 11 определения цифры псевдочастного. С выхода 20 блока 11 выдается либо цифра псевдочастного, либо ее инверсия, с выхода 21 — цифра псевдочастного.
Значение очередной цифры псевдочастного определяет режим сложения — вычитания одноразрядных сумматоров-вычитателей 1 — 3.
Вентиль 17, коммутационная логическая схема 5, блоки 11 и 14 управляются сигналом управления для перестройки связей в структуре устройства.
Цикл вычисления тригонометрического тангенса состоит из двух этапов. На первом этапе вычисляются значения тригонометрических синуса и косинуса. Интервал изменения аргумента, определяемый современными практическими требования, следующий: 0(0(45 .
Принцип вычисления основан на операциях псевдоделения и псевдоумножения с параллельным решением разностных рекуррентных соотношений в итерационном процессе:
z,=ez„, =e — e„„„=z,.—
— q, arctg 2- <1+ > Z„О
+1 при Z )О д;=зфпг = — 1 при Z,.(0
/ = О, 1, ..., и
Х, = Х,, — — Х; — q>Y>2 < + >
1 п
A„)P, = cos 6
Y — 0 Ygp< = Yg + (/>Ху2 Y„—» .Y„, =sine
/ — П (1+2 2(J-,I>) у=о
В начальном состоянии в регистр 4 заносится значение аргумента О, в регистр 7 — нулевое значение, в регистр 8 — значение обратной величины коэффициента удлинения вектора. Каждое рекуррентное соотношение вычисляется последовательно за (и+т) тактов, где и — количество разрядов аргумента, т— число дополнительных разрядов для компенсации погрешности округления при сдвиге.
На первом этапе вычислений импульс управления с выхода 22 блока 16 управления открывает вентиль 17, коммутирует выход блока
12 на вход блока 15 и знаковый разряд 19 накопительного регистра первой рециркуля5
55 цнонной ячейки, содержимое которой является в этом этапе псевдоделителем, на вход блока 11. При этом на выходах 20 и 21 бло«а 11 после каждой итерации появляется очередное значение цифры (разряда) псевдочастного для следующей итерации. Схема 5 пропускает на вход 23 сумматора-вычитателя значение констант arctg 2 0+1>. В любой итерации с выходов 18 блока 16 управления в регистры и на вход блока 6 памяти поступает серия тактовых сдвигающих импульсов.
При этом из содержания регистра 4 вычитается значение arctg 2 + > при q,=+1 (либо проводится суммирование при q — 1).
Содержимое регистров 7 и 8 ячеек псевдоумножителей перекрестно суммируется — вычитается со сдвинутыми переадресованными координатными составляющими тригонометрического вектора, который вращается на сходящуюся последовательность угловых приращений (констант).
Полученный в каждой итерации результат последовательно, начиная с младших разрядов, заносится в освобождающиеся старшие разряды накопительных регистров и сдвигается до конца регистра.
После выполнения и+ 1 итераций в регистре 4 находится нулевое значение, в регистре
7 — значение синуса, в регистре 8 — значение косинуса. Однако для большинства значений аргумента 0 итерационный процесс сходится на итерации, номер которой меньше и. При этом в регистре 4 содержимое равно нулю и блок 12 анализа сходимости (цифровая схема сравнения с логическим нулем) выдает сигнал в блок 15 сброса, а блок 16 управления прекращает выдавать тактовые сдвигающие импульсы на следующей итерации.
После остановки процесса вычисления блок
16 управления снимает сигнал с выхода 22.
Второй этап вычисления тригонометрического тангенса — операция деления полученных синуса на косинус — также основан на принципе псевдоделения и псевдоумножения в итерационном процессе с параллельным решением разностных рекуррентных соотношений. Каждое соотношение вычисляется последовательно за (и+т) тактов. Алгоритм деления записывается в виде:
, = Х„, Х > y = Х, — q. Y,2 — 1 > Х„О
+1 при Х )О
qJ — з1дпХ = /=О, 1,..., и — 1 при Х (О г, = о г„, = г,. + р-U-">
> и, z„—" =tg e.
Х„
После снятия импульса управления, что соответствует началу второго этапа вычисления, вентиль 17 закрывается, схема 14 соединяет выход блока 13 анализа сходимости с входом блока 15, а схема 5 — второй выход блока 6 памяти с константами вида 2 0 > на вход
537344
23 сумматора-вычитателя 1; знаковый разряд
19 накопительного регистра 8 подключается к входу блока 11. На выход 20 блока 11 в конце каждой итерации выдается инверсия очередной цифры псевдочастного, на выход
21 — цифра псевдочастного.
Далее работа протекает аналогично, за исключением того, что в накопительном регистре 7 и сдвигающем регистре 10 информация не продвигается. На этом этапе рециркуляционная ячейка с накопительным регистром
8 и сумматором-вычитателем 3 служит псевдоделителем, ячейка с регистром 4 и сумматором-вычитателем 1 — псевдоумножителем.
Регистр 7 является пассивным и информативно соединен только со сдвигающим регистром
9.
После выполнения и+1 итераций (или меньше при срабатывании блока 13) в накопительном регистре 4 находится значение частного отделения синуса на косинус, т. е. тангенс заданного аргумента.
Максимальное время двухэтапного процесса вычисления тангенса равно Т<2п +10п+
+8 та ктов.
Формула изобретения
Устройство для вычисления тригонометрического тангенса, содержащее блок управления, выходы которого соединены с накопительными и сдвигающими регистрами и блоком памяти, причем выходы накопительных регистров соединены с первыми входами одноразрядных сумматоров-вычитателей, выходы которых соединены с входами накопительных регистров, блок определения цифры псеидочастного, блок анализа сходимости, блок сброса, выход которого подключен к блоку управления, отлич ающеес я тем, что, с
5 целью расширения класса решаемых задач путем вычисления функции тригонометрического тангенса, в него введены второй блок анализа сходимости, две коммутационные логические схемы и вентиль, через который
10 блок управления подключен к второму накопительному регистру, управляющие входы вентиля, коммутационных логических схем и блока определения цифры псевдочастного подключены к общему выходу блока управле15 ния, выходы второго и третьего накопительных регистров подключены к входам соответственно второго и третьего сдвигающих ре гистров, выходы которых перекрестно соединены с вторыми входами второго и третьего
20 сумматоров-вычитателей, выход блока памяти через первую коммутационную логическую схему подключен к второму входу первого сумматора-вычитателя, блоки анализа сходимости соединены входами с разрядными вы25 ходами соответственно первого и третьего накопительных регистров, а выходами подключены к второй коммутационной логической схеме, выход которой соединен с блоком сброса, входы блока определения цифры псевдо30 частного подключены к выходам знаковых разрядов первого и третьего накопительных регистров, а выходы подключены соответственно к третьему входу первого и объединенным третьим входам второго и третьего одно35 разрядных сумматоров-вычитателей.