Цифровой функциональный преобразователь

Иллюстрации

Показать все

Реферат

 

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

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

РЕСПУБЛИК

3Ш 06 F 7/544

%d . I j g уъ г5

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

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

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

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21 ) 33736 71/18-24 (22) 25. 12. 81 (46 ) 30.07. 84. Бюл. Р 28 (72 ) A. С. Альховик, В.Д. Байков, В.Б.Долгодров и В. В. Кабанов (71) Ленинградский ордена Ленина электротехнический институт им. В. И. Ульянова (Ленина } (53) 681. 3(088. 8) (56 ) 1. Байков В.Д. и Смолов В. Б.

Аппаратурная реализация элементарных функций в ЦВМ. Ji., изд;во ЛГу, 1975.

2.. Andrew М., Eqqerding: D.À pipelured computer architecture for uni—

put elementary function evaluation.—

0omput.Electr.Enging; 1978, vol 5, рр.189-202(прототип). (54)(57) 1 ЦИФРОВОЙ ФУНКЦИОНАЛЬНЫЙ

ПРЕОБРАЗОВАТЕЛЬ, содержащий тактовый генератор и п-1(где и -разрядность операндов)последовательно соединенных каскадов, причем каждый из каскадов содержит с первого по четвертый регистры, блок памяти, первый, второй и третий коммутаторы, первый, второй и третий сумматоры-вычитатели, тактовые входы регистров с первого по четвертый соединены между собой и подключены к выходу тактового генератора, адресная шина блока памяти соединена с первым информационным входом четвертого регистра, разрядный выход первого регистра соединен с первым информационным входом первого сумматора-вычитателя и вторым информационным входом второго сумматора-вычитателя со сдвигом вправо на число разрядов, равное номеру каскада, первый инфор-: мационный вход второго сумматоравычитателя соединен с вторым информационным входом первого сумматоравычитателя, разрядный выход второго регистра соединен с вторым информационным входом первого сумматоравычитателя со сдвигом вправо на

„„SU„„1105888 A число разрядов, равное номеру каскада, разрядный выход третьего регистра соединен с первым информационным входом третьего сумматора-вычитателя, второй информационный вход которого соединен с информационной шиной данных блока памяти, знаковый разряд .второго регистра соединен с первыми информационными входами первого, второго и третьего коммутаторов, вторые информационные входы которых соединены с выходом знакового разряда третьего регистра, первый информационный выход четвертого регистра со-, единен с первыми управляющиМи вхо" дами первого, второго и третьего коммутаторов, вторые управляющие 3 входы которых соединены с вторым информационным выходом четвертого регистра, причем в каждом vç первых

11 каскадов преобразователя- первые

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

1105888 каскада, выходы первого, второго и третьего сумматоров-вычитателей последнего каскада преобразователя соединены соответственно с первым, вторым и третьим ныходами результата преобразователя, о т л и ч а ю щ е е с я тем, что, с целью повышения точности .вычислений, каждый из каскадов преобразователя c (- + 1)-го и

2 по(п-1)-й содержит первый, второй и третий блоки запрета итераций, первые и вторые входы которых соединены соответственно с первыми и вторыми выходами соответственно первого, второго и третьего коммутаторов, первые и вторые управляющие входы которых соединены соответственно с третьими и четвертыми входами соответственно первого, второго и третьего блоков запрета итераций, пятые входы которых соединены с разрядными выходами соответственно первого, второго и третьего регистров, номера которых равны номеру соответствующего каскада, знаковые разряды первого, второго и третьего регистров соединены с шестыми входами соответственно первого, второго и третьего блоков запрета итераций, перные и вторые выходы первого, второго и третьего блоков запрета итераций соединены соответственно с первыми и вторыми управляющими входами соответственно первого, второго и третьего сумматоров †нычитател.

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

Известно устройство, использующее для вычисления элементарных функций (х/у,1х,sir. x cos х, е", 1п х, arct,g х,...) йтерационкые алгоритмы цифра за цифрой" и содержащее регистры, сдвигатели, сумматоры, постоянные запоминающие устройства (1 ).

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

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

2. Преобразователь по и. 1, о тл и ч а ю шийся тем, что каждый блок запрета итераций содержит с первого по восьмой элементы И-НЕ, причем первые информационные входы первого, второго, пятого и шестого элементов И-НЕ соединены с первым входом блока запрета итераций, второй вход которого соединен с вторыми. информационными входами второго, четвертого, шестого и восьмого элементов И-НЕ, вторые информационные входы первого, третьего, пятого и седьмого элементов И-НЕ соединены с третьим входом блока запрета итераций, -..етвертый вход которого соедичек с первыми и вторыми информационными входами третьего, четвертого, седьмою и восьмого элементов И-НЕ, третьи информационные входы четвертого, шестого и восьмого элементов И-HE соединены с пятым входом блока запрета итераций, шестой вход которого соединен с третьими информационными входами первого, третьего, пятого и седьмого элементов И-НЕ, информационные инверсные выходы с первого по четвертый элементов И-НЕ соединены с первым информационным выводом блока запрета итераций, второй информационный выход которого соединен с информационными инверсными выходами с шестого по восьмой элементов И-НЕ блока запрета итераций.

2 параллельных сумматора-вычитателя,постоянное запоминающее устройство, коммутационное устройство, тактовый генератор Е2 3.

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

Цель изобретения — повышение точности вычислений преобразователя.

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

1105888

40 информационным входом четвертого регистра, разрядный выход первого регистра соединен с первым информационным входом первого сумматоравычитателя и вторым информационным входом второго сумматора-вычитателя со сдвигом вправо на число разрядов, равное номеру. каскада, первый информационный вход второго сумматоравычитателя соединен с вторым информационным входом первого сумматоравычитателя, разрядный выход второго регистра соединен с вторым информационным входом первого сумматоравычитателя со сдвигом вправо на число разрядов, равное номеру каскада, разрядный выход третьего регистра 15 соединен с первым информационным входом третьего сумматора-вычитателя, второй информационный вход которого соединен с информационной шиной данных блока памяти, знаковый разряд 2щ второго регистра соединен с первыми информационными входами первого, второго и третьего коммутаторов, вторые информационные входы которых соединены с выходом знакового разряда25 третьего регистра, первый информационный выход четвертого регистра соединен с первыми управляющими входами первого, второго и третьего коммутаторов, вторые управляющие входы которых соединены с вторым информацион-ЗО ным выходом четвертого регистра, причем в каждом из первых и/2 каскадов преобразователя первые и вторые информационные выходы первого, втог рого и третьего коммутаторов соеди- 35 иены соответственно с первыми и ВТо рыми управляющими входами соответственно первого, второго и третьего сумматоров-вычитателей, причем разрядные входы первого, второго и третьего регистров первого каскада соединены соответственно с первым, вторым и третьим информационными входами преобразователя, четвертый и пятый информационные входы которого соединены соответственно с первым и вторым информационными входами четвертого регистра, выходы первого, второго и третьего сумматоров-вычитателей каждого каскада преобразователя соединены с разрядными входами соответственно первого, второго и третьего регистров последующего каскада, первый и второй выходы четвертого регистра каждого каскада соединены соответственно с первым 55 и вторым информационными входами четвертого регистра последующего каскада, выходы первого, второго и третьего сумматоров-вычитателей последнего каскада преобразователя

OJ соединены соответственно с первым, вторым и третьим выходами результата преобразователя, в каждый из каскадов преобразователя с (— +1 -го

2 по (и -1) -й дополнительно введены 65 первый, второй и третий блоки, запрета итераций, первые и вторые вхокоторых соединены соответственно с первыми и: вторыми выходами соответственно первого, второго и третьего коммутаторов, первые и вторые управляющие входы которых соединены соответственно с третьими и четвертыми входами соответственно первого, второго и третьего блоков запрета итераций, пятые входы которых соединены с разрядными выходами соответственно первого, второго и третьего регистров, номера которых равны номеру соответствующего каскада, знаковые разряды первого, второго и третьего регистров соединены с шестыми входами соответственно первого, второго и третьего блоков запрета итераций, первые и вторые выходы первого, второго и третьего блоков запрета итераций соединены соответственно с первыми и вторыми управляющими входами соответственно первого, второй и третьего сумматоров-вычитателей.

Кроме того, каждый блок запрета итераций содержит с первого по вось)мой элементы И-НЕ, причем первые информационные входы первого, второго, пятого и шестоro элементов И-HE

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

И-HE соединены с третьим входом блока запрета итераций, четве тый вход которого соединен с первыми и вторыми информационными входами третьего, четвертого, седьмого и восьмого элементов И-НЕ, третьи информационные входы четвертого, шестого и восьмого элементов И-HE соединены с пятым входом блока запрета итераций, шестой вход которого соединен с третьими информационными входами первого, третьего, пятого и седьмого элементов И-НЕ, информационные инверсные выходы с первого по четвертый элементов И-HE соединены с первым информационным выходом блока запрета итераций, второй информационный выход которого соединен с информационными инверсными ьыходами с шестого по восьмой элементов И-HE блока запрета итераций.

На фиг. 1 представлена функциональная схема преобразователя; на . фиг. 2 — функциональная схема блока запрета итераций.

Преобразователь(фиг. 1)содержит последовательно соединенные каскады, каждый из которых содержит первый четвертый регистры 1;, 2;, З,и 4> (где — номер каскада ), блок памяти

5>, первый — третий коммутаторы

1105888

11

К =)) 1+1

{=о с (1) ro шага. и

6;, 7;и 8{, первый — третий сумматорй — вычитатели 94, 10; и 11{, начиная с (n/2+1) -ro каскада первыйтретий блоки запрета итераций 12

13.и 14;, тактовый генератор 15.

Блокй запрета итераций 12{- 14{ 5 (фиг. 2)содержат с первого по восьмой элементы И-НЕ 1б; — 23

Преобразователь работает следующим образом.

В регистры 1,2 и 3 через парал- 1О лельные информационные входы заносятся исходные операнды, в регистр 4„управляющее слово в соответствии с заданным режимом работы преобразователя (операции поворот, вектор, умножение, деление ). Обработка информации производится в соответст. вии со следующими выражениями f1).

Операция вектор(вычисление функций типа srctg,src sin — и

У, ° У

"{11 "1+ 3 2 Ъ

sigil {) = sigh $f

6; = 6{+ ; archy 2

0,1,2,... n 1.

Операция поворот (вычисление

41ункций sin ч, cos ч, Wx и др) .

Ч =3 -Е.2 х °

1+1 { )1 1

8. = 6.- . arcked 2

sion (. = sfgn Q.

Операция умножения х у

"{+1 "1+ 4 2 .i YO

sign f. = sign8;

Операция деления у/х

signing ° = sigil М;

0,1,2,...,{1-1Оператор принимает значение либо

+1, либо -1; х, - у и 6с- входные 45 операнды, значения которйх определяются входом вычисляемой функции, номер итерации, соответствующий номеру каскада преобразователя.

Обозначим первый и второй входные 5О управляющие сигналы, поступающие по

ШИНаМ В рЕГИСтр 4,, с1 И Ь СООтВЕтСтвенно, тогда сигналы на управляющих шинах с и д сумматоров — вычитателей

9, 10,, 111 при выполнении различных . арифметических операций должны соответствовать приводимой таблице управляющих сигналов сумматоров-вычитателей, в которой сигналы 1 11 1и sigh8 соответствуют знаковым разрядам регистров 2.и 3 . При этом режим сложе-60

"1 1 ния сумматоров-вычитателей имеет место при с=1; c}=0, вычитания — с=О, 8=1g пропуски операнда(сложения с нулем )-с =О, д=О. Приведенная таблица реализуется в коммутаторах. 65

Устройство коммутации управляющих сигналов, соответствующих шинам с и

d объединены и составлякт блоки 6,7 и 8.

При знакоцеременных шагах коэффициент деформации вектора в ходе итерационного процесса определяется как т. е. при { = — -1 можно считать K и

2 постоянным в пределах используемой разрядной сетки, что позволяет осуществлять пропуск итераций, начиная

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

2-1 т} -2 2, с К 2

-21 2 1 -2n

2 -1 К=1 где К вЂ” возможная величина остатка.

Погрешность увеличивается с ростом-1, поэтому прекращение итерационного

h процесса на (— — 1)-м шаге поэволя2 ет существенно(приблизительно в 2 раза)снизить погрешность преобразователя.

Блок запрета итераций (фиг. 2) реализует функцию запрета следующим образом.

Пусть содержимое регистра угла 9 представляет собой двоичное число

01+ )(С,, 1 „, причем

{, †" + 1. Иэ таблицы следует, что прй Ъ=О выполнян1тся операции "Поворот" и "Умножение", а при Ь=1 выпол- ня{отся операции "Вектор" и "Деление".

При Ь=О функция запрета формируется на основе анализа двоичного числа

Так как на следующей (i + 2j-й итерации константы, поступающие в регистр 3, равны Z, то условие пропуска итераций беэ нарушения сходимости итерационного процесса может быть записано следующим образом; sigh 8d,; 1 6; (при 830); я ОХ

1 о(, Ь =1 (при б сО ) аналогично " может быть определено условие пропус +1 ка итераций при выполнении операций

"Вектор" и "Деление" (b=1)signed Ь=, =1, (при У О), sfgh s g.,1 (при У(0 ), гдето{„-соответствующие разряды двоичного числа у.

Таким образом, функция запрета итераций имеет вид

Е=Ырбс(. Ь+црЭЫ. 6+sign>at,. Ь+

+ 51 и l О .

1105888

-1, 0<0

О, 0=0

+1, 0>0

Сумматор-вычитатель

Сумматор-вычитатель

Сумматор-вычитатель

Операция а J ь

sign 6

sign У

sign 9 51 п 6

Sign О б1фп У эы е

sign y

sion l

Sign У умножение 1 0

sign 9

sign e

Sign 0

Sign у

sign 9

Sigh S деление 1 1

Sign у Stqn y. 0 где F — оператор прекращения итерационного процесса, расходуемый в блоках 12, 13 и 14, с ;+„— (j+ 1! — е разряды операндов регист Ъв 1 и 2 и 3.

Для доказательства воэможности повышения точности рассмотрим в

5 качестве примера выполнение операции

"Поворот". При выполнении вычислений

e; „ = О.-f arctg 2 возможны ситуации, при которых 6,-- (. ц,с 2 =o где .к< в -1ЛО

1-0

При этом считаем, что a ctg 2 представлен в виде двоичного числа с разрядностью h . Вероятность возникновения такой ситуации определяется соотноше-15 нием и-2 h1

Р= — g 2 =

2"

-6

2 для пъ7, Р

При отсутствии запрета итераций следующий(К + 1) -й шаг будет выполнен при f. =sigh0---1, что приводит к снижению точности. В этом случае погрешность определяется выражением п-1

a=-acct 2 " " +.Е archy 2

i=K+2 поворот 0 0 s

Вектор 0 1 sign s

При л /2+1 можно считать, чтое сс 2 =

2 . Тогда а =-2 " .

Приведенный пример соответствует наихудшей, в смысле погрешностей, ситуации. Нетрудно показать, что при любых других ситуациях a.=-2 ; 0;

+2 ". Предложенное устройство исключает рассмотренную ситуацию.

С этой целью ю. для i) â +1. Это позволяет уменьшить методическую погрешность устройства в два раза. Инструментальная погрешность устройства тоже уменьшается, так как при (. — 0 итерации не выполня1 ются, т.е. искжчается погрешность от умножения текущего значения операнда на 2 . По команде F сумматорывычитатели переводятся в режим пропуска операнда(сложения с нулем ).

Эффективность предложенного изобретения заключается в повышении точности вычислений эа счет уменьшения методической и инструментальной погрешностей.

1105888

1105888

К упрабияющии

Внодон схемы 9 фцъ.,/

Составитель B.Âåíöåëü

Редактор К.Воломук Техред С.Мигунова Корректор О.Тигор

Заказ 5602/38 Тираж 699 Подписное

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

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

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