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

Иллюстрации

Показать все

Реферат

 

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