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

 

УСТРОЙСТВО ДЛЯ ВЬИИСЛЕНИЯ ЭЛЕМЕНТАРНЫХ ФУНЮЩЙ, содержащее счетчик порядка, входной регистр, сдвигатель, первый и второй блоки памяти и блок управления, причем выход счетчика порядка соединен с первой группой входов, сдвигателя, вторая группа входов которого соединена с выходами входного регистра, адресными входами первого блока памяти и первым входом блока управления первый выход которого соединен со счетным входом счетчика по-: рядка, выход сдвигателя соединен с адресным входом второго блока памяти , отличающееся тем, что, с целью повьшения быстродействия , в него введены первый и второй входные коммутаторы, блок определения степени многочлена и блок вычисления многочлена, причем выходы первого и второго входных коммутаторов соединены с информационными входами соответственно счетчика порядка и входного регистра. .первые информационные входы первого и второго входных коммутаторов соединены с информационным входом устройства, вход пуска которого соединен с вторым входом блока управления , выходы с третьего по одиннадцатый которого соединены соответственно с управляющими входами первого входного коммутатора, второго входного коммутатора, входного регистра , сдвигателя, блока определения степени многочлена, блока вычисления многочлена первого блока памяти , второго блока памяти и выо S ходом устройства, третий и четвертый входы блока управления соеди (Л нены соответственно с выходом сдвигателя и выходом блока определения степени многочлена, содержащего три шифратора и три элемента ИШ, выходы с первого по Третий разрядов с первого по третий шифраторов соединены соответственно с первого по третий :входами каждого элемента ИЛИ, выхо- . ел .ды которых являются выходом блока определения степени многочлена, информационные и управляющие входы каждого шифратора соединены соответственно с выходом сдвигателя и управляющим входом блока определения степени многочлена, блок вычисления многочлена содержит четыре коммутатора , узел умножения, сумматор и регистр результата, причем первый и второй информационные входы первого коммутатора соединены с выходами соответственно счетчика порядка и входного регистра, информационные входы с первого по пятый второго коммутатора соединены соответственно с

СОЮЗ СОВЕТСНИХ

СОЦИАЛИСТИЧЕСКИХ

РЕСПУБЛИН (5 I) 4

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

К ABTOPCHOMV СВИДЕТЕЛЬСТВV ю,У /

- /

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

flO ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (21) 3738036/24-24 (22) 04.05,84 (46) 15. 10.85. Бюл. Р 38 (72) А.И.Водяхо, В.В.Грушин, В.Б.Смолов, Д.В. Пуэанков и В.В. Шаляпин (71) Ленинградский ордена Ленина электротехнический институт им. В.И.Ульянова (Ленина) (53) 681.325(088,8) (56) Оранский А.M. Аппаратные методы в цифровой вычислительной технике. — Минск, БГУ, 1977, с.207.

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

Р 723581, кл, G 06 F 7/544. 1978. (54)(57) УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ

ЭЛЕМЕНТАРНЫХ ФУНИ ИЙ, содержащее счетчик порядка, входной регистр, сдвигатель, первый и второй блоки памяти и блок управления, причем выход счетчика порядка соединен с первой. группой входов. сдвигателя, вторая группа входов которого соединена с выходами входного регистра, адресными входами первого блока памяти и первым входом блока управления, первый выход которого соединен со счетным входом счетчика порядка, выход сдвигателя соединен с адресным входом второго блока памяти, о т л и ч а ю щ е е с я тем, что, с целью повышения быстродействия, в него введены первый и второй входные коммутаторы, блок определения степени многочлена и блок вычисления многочлена, причем выходы первого и второго входных коммутаторов соединены с информационными входами соответственно счетчика порядка и входного регистра, „„Я0„„1 5329 первые информационные входы первого и второго входных коммутаторов соединены с информационным входом устройства, вход пуска которого соединен с вторым входом блока управления, выходы с третьего по одиннадцатый которого соединены соответственно с управляющими входами первого входного коммутатора, второго входного коммутатора, входного регистра, сдвигателя, блока определения степени многочлена, блока вычисления многочлена первого блока памяти, второго блока памяти и выходом устройства, третий и четвертый входы блока управления соединены соответственно с выходом сдвигателя и выходом блока определения степени многочлена, содержащего три шифратора и три элемента ИЛИ, выходы с первого по третий разрядов с первого по третий шифраторов соединены соответственно с первого по третий

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

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

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

На фиг. 1 приведена блок-схема устройства; на фиг. 2 — функциональная схема блока вычисления многочлена; на фиг. 3 — функциональная схема блока определения степени многочлена; на фиг. 4 — 6 приведены блок-схемы алгоритмов вычисления функций е", Pn x, Sin x; на фиг. 7 функциональная схема программируемой логической матрицы; на фиг. 8 и 9 функциональная схема блока управления. разрешения узла умножения, сумматора и регистра результата, блок управления содержит схему сравнения аргумента, регистр, счетчик, шифратор и узел памяти, выход которого соединен с информационным входом регистра, выход первой группы разрядов которого соединен с первым входом шифратора, второй вход которого соединен с четвертым входом блока, выход шифратора соединен с установочным входом счетчика адреса, вход разрешения записи которого соединен с вторым входом блока, выход счетчика адреса соединен с адресным входом узла памяти, первый и второй информационные входы схемы сравнения аргумента соединены соответственно с первым и третьим входами блока, управляющий вход и выход схемы сравнения аргумента соедине}Hbl соответственнб с выходом шифратора и седьмым и одиннадцатым выходами блока, выходы с первого по шестой которого соединены с выходами с второй по седьмую групп разрядов регистра, выходы с восьмой по десятую групп разрядов которого соединены с соответствующими выходами блока управления.

Устройство состоит из входных коммутаторов I и 2, счетчика 3 порядка, входного регистра 4, сдвигателя

5, блоков 6 и 7 памяти, блока 8 вычисления многочлена, блока 9 определения степени многочлена и блока

10 управления.

Блок вычисления многочлена содержит коммутаторы 11 и 12, узел 13 умножения, коммутатор 14, сумматор 15, коммутатор 16 и регистр 17 результата, Блок определения степени многочлена состоит из шифраторов, выполненных на программируемых логических матрицах (ПЛМ) 18 — 20, и элементов ИЛИ

21 — 23 °

Блок управления содержит узел 24 памяти, регистр 25, счетчик 26 адреса 27 шифратор и схему 28 сравнения аргумента, Каждая программируемая логическая матрица имеет элементы ИЛИ 29 з 1

35, элементы И 36„- 36„ и элементы

ИЛИ 37„— 37„.

Шифратор 27 содержит счетчик 38, дешифратор 39,элементы И 40-59,элементы ИЛИ 60-66 и элементы НЕ 67 и 68.

Схема сравнения аргумента 28 состоит из дешифратора 69, элементов И 70-83, элементов НЕ 84 — 101, элемента И 102, элементов ИЛИ 103 и

104 и мультиплексоров 105 и 106.

Вычисление функции в устройстве разделяется на два этапа.

На l этапе диапазон изменения аргумента функции .сводится к интервалу 0; 11. На 1Т этапе происходит собственно вычисление функции.

Рассмотрим приведение аргумента к интервалу (О; 1) в отдельности для каждой из функций е, Гпх, sin x.

Для вычисления функций е"(фиг.5) необходимо выделить целую часть аргумента, вычислить функции от обеих частей аргумента и затем перемножить полученные. значения: х ent x x-ent x е=а е где e — функция от целой части

С аргумен х- вС„ — функция от дробной части аргумента, При этом, как показали расчеты, диапазон изменения порядка аргумента составляет от (-7) до (+7).

На вход устройства поступают мантисса аргумента (на коммутатор 2) порядок аргумента (на коммутатор 1), признак функции e"и сигнал "Пуск" (в блок 10 управления). По сигналу

11 н

Пуск блок 10 управления записывает аргумент на входной. регистр 4 и счетчик 3 порядка. Затем начинается анализ .величины порядка в блоке

10 управления. Если порядок аргумента не равен нулю, то, в зависимости от знака порядка, алгоритм приведения к интервалу разделяется на две ветви. Пусть знак порядка аргумента больше О, тогда при P ) 7 х фоРмиРУетсЯ сигнал е с, если Рх(7, то мантисса аргумента сдвигается влево с вычитанием единицы из величины порядка. Сдвиг мантиссы продолжается до равенства порядка аргумента нулю. При сдвиге влево старшие разряды мантиссы заносятся в 1-8 разряды входного регистра 4.

Эти разряды в дальнейшем служат адресом для блока 6 памяти, где хранятся величины e . При Рх<0

185329 4 необходимого сдвига всей мантиссы аргумента вправо не происходит, а с помощью сдвигателя 5 вправо сдвигаются лишь разряды, составляющие старшую часть мантиссы х„(5 разрядов). Величина сдвига зависит от величины порядка аргумента, но не больше 7.

Табл. 1 поясняет работу сдвига-!

О теля 5 для 5 = 10 управляемого тремя последними разрядами счетчика

3 порядка.

Если P„ (-7, то формируется сигнал е" = О. Код, получаемый на выходах сдвигателя 5, поступает на адресные входы блока памяти 7 и на входы всех IIJIM 18 — 20.

Для программирования ПЛИ были щ определены диапазоны значений стар1 шей части аргумента, при которых функция аппроксимируется многочленом 5, 4 или 3-й степени (табл. 2).

В табл. 3 приведены значения

2S аргумента и состояния соответствующих им выводов (Y 1, У 2, У 3) блока 9.

Признак вычисления функции х из блока 10 управления поступает на вход "Разрешение выборки" ПЛИ 18.

При этом остальные ПЛМ 19 и 20 не работают. Сигнал с соответствующего выхода ПЛИ 18 поступает на вход блока

10 управления и определяет какой степени (третьей, четвертой, пятой)

35 должен в данном случае вычисляться многочлен. Иногочлен вычисляется в блоке 8 вычисления многочлена (фиг. 3) по схеме Горнера:

p <" >=.,-. ..., ... «(s ° "c +,".)73)

Коэффициенты а, .-, а хранятся в блоке 7 памяти.

Адресом блока 7 памяти служат старшие разряды аргумента (X„>

4 находящегося во входном регистре 4.

Адрес, через сдвигатель 5, поступает на адресные входы блока 7 памяти. Аргумент через коммутатор 1 1 поступает в узел 13 умножения. Вначале выбирается коэффициент а, кото5 э рый через коммутатор 12 поступает в узел 13 умножения. Параллельно с умножением происходит выборка коэффициента а, который суммируется с произведением a5 . Сумма а +а перех ° 4 5Х дается через коммутатор 11 на вход узла 13 умножения. Далее выполняются остальные действия необходимые

1185329

Ьх= Е.М„+Р„Ь2.

Имеет место равенство:

30 (n Ч„= ln (i+Z), где О (Z(1

2 = Mx-1, М„- мантисса, сдвинутая таким образом, что может быть представлена кодом:

1,2 „,Z 2,...)

40 где 2; — двоичная цифра числа.

Сдвиг выполняется до первой ситуации, при которой перед запятой устанавливается единица, т.е. можно записать:

М„= М„2 где k — число сдвигов до получения кода (1)

Таким образом:

3п х» Ь (Ф„-2 ) Рх Гп2=Ü Ìx- n2+

50

+ Р„ i h 2 = (1 г) Р„-ЦЬ 2= <и (1 г) 1ЯЬ2, где (Р„-. g) — код, содержащийся на счетчике порядка 3.

Как и в предыдущем случае на вход поступают аргумент, признак вычисляемой функции, сигнал "Пуск". По сигналу "Пуск" блок 10 управления для вычисления многочлена. Значение многочлена фиксируется на входном регистре 4 и регистре 17 результата.

По окончании вычисления многочлена в блоке 10 управления анализируется содержимое 1-8 разрядов входного регистра 4 (условие о на фиг. 5). Если все 1-8 разряды равны нулю (о(, = 1), то значением функ- 10 ции будет значение многочлена. Если

1-8 разряды не равны нулю, то иэ блока 6 памяти выбирается значение е и передается в узел 13 умножения еМх вместе со значением многочлена. Произ 1g ведение Р(„,e "+" через коммутатор 16 и регистр результата 17 передается на выход. На этом процессор заканчивает свою работу. о

Функция Ь х.

Приведение к интервалу (О; 11 аргумента Ь х основано на следующем.

Пусть аргумент задается выражением, х =М„гг где Mx — мантисса аргумента Х, 25

Рх — порядок аргумента Х.

Логарифмируя, получают: записывает аргумент во входной регистр 4 и счетчик 3 порядка. После этого происходит анализ знака мантиссы аргумента в блоке 10 управления (фиг. 6). Если знак отрицательный, то формируется сигнал "Вычисление невозможно". Если знак положительный, то начинаются сдвиги аргумента влево на входном регистре 4. Сдвиги продолжаются до появления в старшем разряде входного регистра 4 единицы. Затем производится еще один сдвиг влево, чтобы получить переменную согласно (1). Для вычисления многочлена приведенный аргумент со счетчика 3 порядка и входного регистра 4 передается в узел 13 умножения. Адрес на блок 7 памяти (10 — 19-й разряды входного регистра 4) передается через сдвигатель 5 беэ сдвига благодаря блокировке выходов счетчика

3 порядка признаком функции, на адресные входы блока 6 памяти и на вход второй ПЛМ 19. После определе— ния степени многочлена начинаются действия по вычислению значения многочлена аналогично описанному выше. Значение с выхода сумматора 15 передается на входной регистр 4, Затем величина, хранимая на счетчике, 3 порядка Q, передается в узел

13 умножения, где умножается на кон= станту Ь 2 . Константа Ь2 реализуется путем установки в четвертой группе входов коммутатора 12, необходимых потенциалов. С входного регистра 4 на сумматор 15 поступает значение многочлена, а с выхода узла 13 умножения через коммутатор

14 произведение Q(п2 . Результат суммирования (значение функции) через коммутатор 16 и регистр 17 результата поступает на выход.

Функция э п х, Сведение аргумента функции к интервалу (О; 11 (фиг. 7) основано на соотношении:

Б1п Х = Si n (27/ f< + 9 J = Sin 9 где 1 — целое число;

Y — переменная в интервале (0,2Т )

2i (x+en4ier x) х

Х

Ч=

2!i (entice

27

Обозначают

Х, Х

7= =- ЕпОЕг

2я где 0(2 (1.

1185329

Два старших разряда величины указывают номер квадранта, в котором находится угол (.

Представляют величину sinV как ((sing=sin 2й 2= sin — Ч

2 где 0 (Ча 1.

Вычисление sin-Ч в зависимости от

Ю

Ъ квадранта, в котором находится аргумент, выполняется по формулам:

После выполнения сдвигов, или при Рх О в блоке 10 управления анализируются 10 и 11-разряды входного регистра 4. В зависимости от номера квадранта и вида функции (s(n х или cps х ) принимается

4 решение о вычитании вЂ Ì„ из единицы согласно (2) и (3). Для этого

20 аргумент передается на вход сумматора 15. Полученная разность снова записывается во входной регистр 4.

Затем содержимое входного регйстра

4 сдвигается на два разряда влево.

25 Если не было необходимости получать разность, то подобные сдвиги выполняются сразу же после определения квадранта. После этих действий содержимое входного регистра 4 перещ дается на вход узла 13 умножения

Код с выхода сдвигателя 5 поступает на вход третьей ПЛМ 20 и на адресные входы блока 7 памяти. На вход

"Разрешение выборки" третьей ПЛИ 20 поступает признак функции из блока !

10 управления. з(ь " V для ? Квадранта

2 (2)

- sin — ((q V) для Ы квадранта;

Sin -V = и

П

-sin — Y для III квадранта.

Ф

Ю

Sin (1-V) для .IV квадранта., И

2! (sin — (1-Ч) для квадранта,;

2 (3)

-з(п — Ч для II квадранта

Ь ((cats — Ч =

2 ((Sin — (1-Ч ) для III квадранта;

-sin (Ч для ТЧ квадранта.

По сигналу "Пуск" блок 10 управления записывает поступающий аргу Таблица 1

Разряды входного регистра 4 на выходе сдвигателя 5

Значения трех последних разрядов счетчика 3 порядка

) Г11 I I

1 2 3 4 5 6 7 8 9 10

000

+ +

+ + +

001

010

+ + . + + + + + +

011

100

+ +

+ +

101

+ +

Формулы вычисления соз -" y имеют

Т вид: мент во входной регистр 4 и счетчик

3 порядка. Затем аргумент умножается íà 1(2.((в узле 13 умножения. Произведение вновь записывается на входной регистр 4. Если порядок произведения р„4 0 и p„>0, то сдвигая влево содержимое входного регистра 4, добиваются равенства

1р порядка нулю (получают переменную 7), + + + + + + +

1185329

Продолжение табл 1.

Разряды входного регистра 4 на выходе сдвигателя 5

6 1 )Н

1 2 3 4 5 9 (IO

110

+ + + +

+ + +

П р и м е ч а н и е. + означает наличие на выходе сдвигателя 5 значения

К-ro разрядного входного регистра 4.

Т а б л и ц а 2 в

Диапазон значений старшей части аргумента

Функция

Степень многочлена щ= 3 (М 1) 0000000000—

000100000

1001110111

1111111111 рпх

sin x

Значение трех последных разрядов счетчика 3 порядка

0000000000—

0001111000

1000001001

1111111111

Степень многочлена в= 4 (у 2) 0001000001

1011100011

0001 1 1 1001

1001110011

0100001010—

10000010000

Степень многочлена m= 5 (у3) 1011100100

1111111111

0000000000—

0100001001

1) 85329

О

О О О

О О О

o o o

o o o

О Î О

О О

О О О

О О О

О О

О

o o

Э

Е % ой

СЧ С 1 . Л W СО Ф

1 з

1 а

Э

v

1 Ж

Ъ»С с х

1 Э

1 Ь

i Ж

1 с ) o o

О О О

o o o

clj

1 Э Я

Х (7 (ч г»1 -4 ю О л 00 О

О О О О

O O О О

o o o o

Ю

О

О

О

C) o o

o o o

o o o

Э

1 Е

I Э

I Г) v

Э 0

Й ф

Э

1 Р E

1 а3 О

1 Ж сб

1 М Р ж

E и

Э

Р с0

Е» 1

Ф Ж

Q) Q)

Н й

> 1

Q) cd

Н

Р Ж

Э Э

7, и

Э а

Ж <б

QI Ж

У а и

Ж Э

1 Р1

О

» »»

O O O Î О

o o o o o

o o î o o

О

О О О О О

О О О О О

О О О О О

О

О

CI

Ю

1185329

I

I

I « ъ ф

Э (6

И

О х

I «d dl

3 3 о

I 1 X

1 U

1 Э С!

1 Х Ф х э х

Р !»

«d И х щ о

О О О О о о о о о о o o о о о. о о o o о

1 11

1 х

X %

Ф х

1

»- т

1 м т

1

Q, L»

«d 0, ! «d

М о о о х х

1С I

o o о

1 1

I

I

1 ф

Ф «6

Н с х

1 «6 Э

1 !»X

1 !»

«ыа, 1 х I

»

»

I

1

Е» х

1 о с о

1

1 Х

1 Ф х v

1 х ««I

1 Э Ь «б

1 ОЗ Ф Х

1 х Ф Э

I

— I йм 1

1 (б

1 X

1 Э 9.

tl I ) (tl о 3 о о о о о о о

Π— «v м -- л чэ r cO,:" .-" 1

O O O О О

o — «! v - v о л со

О » Ч ° »

О О О О О о «ч м < л о л со

1- 7рмря ю аюЯю Л

AF-Ж,ж

ЬаЖ ж фИиат

1185329

Кл инмулцр.м 1,г

Ф(ниммутиторои /Я

1i85329!!85329

4Ьа4

1185329

1185329

Фиг 8

1185329 меУ Wpp e« м июм

1Ф, Фраэр,вам

АжЬюео репм трф 4

9розрмд Ь иР меер регагстра (нам мантиссчн) f-7 рсчер, Рю еюлтмили 3 лир,еРе о фиг Ю

Составитель А. Зорин

Редактор Л, Пчелинская Техред Т.Дубинчак

Корректор Л, Бескид

Заказ 6366/45 Тираж 709 Подписное

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

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

f- d р мр,еА

АмА пео ргеис щнт 4 мгФ

etd яма еiп1 $

Филиал ППП "Патент", г. Ужгород, ул, Проектная, 4

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

 

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

Изобретение относится к области вычислительной техники и может быть использовано при разработке специализированной аппаратуры АСУ оперативного звена ВПВО при решении задачи распознавании оперативно-тактических ситуаций

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

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

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

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

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

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

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

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

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