Устройство для вычисления элементарных функций в модулярной системе счисления Советский патент 1987 года по МПК G06F7/544 G06F7/72 

Описание патента на изобретение SU1291977A1

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

Цель изобретения - повышение быстродействия.

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

Устройство для вычисления элементарных функций в модулярной системе счисления содержит тактовый вход 1 устройства, вход 2 кода задания функции устройства, установочный вход 3 устройства, вход 4 константы устройства, вход 5 аргумента

устройства, сдвиговый регистр 6, блок 7 памяти для хранения констант первый и второй буферные регистры 8 и 9, счетчик 10, регистр 11 констант, первую и вторую группы мультиплексоров 12 и 13, блок 14 постояной памяти, третью группу мультиплексоров 15, блок 16 умножения,третий буферный регистр 17, управляющий регистр 18, накопительный ре- гис лр 19, блок 20 сложения, блок 21 деления на константу и выход 22 устройства.

Разрядность сдвигового регистра 6 составляет 2 Hlog N бит,где N - число функций, вычисляемых устройством, через х обозначается наименьшее целое число, не меньшее х. Регистр 6 выполняет циклический сдвиг содержимого на Jlog N бит, осуществляя тем самым перестановку местами содержимых младших и старших разрядов. Модуль счета счетчика 10 равен тридцати двум.

Блок 7 памяти для хранения констант обладает емкостью 2

к.

слов разрядностью та бит

га,, т, ,...,т - основания модулярно

системы счисления, k - число оснований, причем m , 2p+k-2 (р - фиксированное натуральное число) ,. ,В ячейки блока 7 памяти с адресами

8-п, 8-п+1,...,8п+7 записываются модулярные коды констант, относящихся к п-й из вычисляемых устройством функций (п CJO, 1 ,... ,N-1J). Правило формирования содержимого блока 7 задается табл.1.

Таблица 1

В табл.1 через А .

f,n

ся числитель дроби а.

предобозначает А,.,. М ставляющей собой приближение i-ro 5 коэффициента усеченного степенного ряда, аппроксимирующего п-ю функцию

40

f,(x)- tl

i;0

,aj, ,lfi

A;, 6 D { -pM ,-pM ,+1,..., PM., - 1/,(1)

K-i

45 где M I m 1.

к - L. J t -J

M - натуральное число, определяющее точность вычисления и выбираемое из условия

р -М,А маке

К-1 макс.

/А.

1.И

55

Блок 14 постоянной памяти управления имеет leMKocTb восьмиразрядных слов и служит для формирования в соответствии с табл.2 наборов значе- нкй управляющих сигналов. Ь , Ь ,. ..,

О О О 1

О О О 1 О

о ,

о

о

4 О О

О

О

О

О

1

1

1

1

1

1

О

1

о о

Разрядность регистров 8,9,11,17 и 19 и количество мультиплексоров в группах 12,13 и 15 составляет

к

,d log m, бит. 1 1

Блоки 16,20 умножения и сложения реализуют соответствующие операции над целыми числами из диапазона модулярной системы счисления. Блок 21 осуществляет деление входного числа А, заданного модулярным кодом, на константу М.

В основу вычисления злементар- ных функций положена аппроксимация функций рядами вида (1), не обязательно тейлоровскими. В частности, могут быть использованы степенные ряды, получаемые из разложений функций по ортогональным базисам Лежан- дра, Чебышева, Эрмита и другим.Из

Таблица 2

3

о 1 о

2

1 о

2 О 2 О

1 о

о

1 1 1 1 о о о 1

о 1

о о о о

о

о

о

о

о

о

о

1

о

о

1

1

о

о

1

о 1

о 1 1 о

0.

о 1

о о о о

(1) вытекают следующие расчетные соотношения для вычисления значения

у

f функций f(х) при X -.

f. lf-. РЬ ,+в,.г,)й2)

С, Bo,n -ь В,.УШЗ) В. М А, , + А,,„ X . (4) ,. ,. ь,. Х)Г; (5)

чь

.А - А,„.х): (6)

Х2

Y2

,

(7)

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

5

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

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

По сигналу, подаваемому на установочный вход 3 устройства, сдвиговой регистр 6 обнуляется, а в счетчик 10 записывается двоичный код числа 31, после чего из блока 14 постоянной памяти управления по адресу 31, поступающего с выходов нулевого, первого, третьего и четвертого разрядов счетчика 10 на адресный вход блока 14, считывается нчальной набор управляющих сигналов b ,...,b (табл.2), который с выхода блока 14 постоянной памяти передается в управляющий регистр 18.На каждом такте работы устройства управляющие сигналы,сформированные в регистре 18 с первого по седьмой ег выходов, подаются соответственно на вход управления сдвигом сдвигового регистра 6, управляющий вход выдачи кода регистра 17, управляющий вход приема кода регистра 9, управляющие входы групп мультиплексоров 12, 13 и 15 и вход обнуления 1акопительно регистра 19, и в зависимости от знчений управляющих сигналов производятся действия, обеспечивающие поступление на входы блока 16 умножения требуемых операндов в текущем такте и формирование содержимых регистров 6,8,9,17 и 19 для очередного такта. Блок 16 умножения выполнет операцию модульного умножения операндов, поступающих на первый и второй входы соответственно с выходов групп мультиплексоров 12 и 13, модулярный код произведения с выхода блока 16 передается в регистр 8 Блок 20 сложения суммирует модулярные коды, сформированные на выходах регистров 8 и 19 и модулярный код суммы с выхода блока 20 поступает на информационный вход группы мультиплексоров 15 и входной регистр блока 21. Одновременно с эти содержимое -й группы разрядов с нмерами 0,1,3 счетчика 10 подается на адресные входы блока 7 памяти и блока 14, на адресные входы которы также подаются соответственно соде

5

0

5

жимое п группы младших разрядов сдвигового регистра 6 и содержимое старшего разряда счетчика.10. Из блока 7 памяти по адресу считываП

ется модулярный код очередной константы в регистр 11, а также подается на первый информационный вход группы мультиплексоров 15. Из блока 14 в регистр 18 считывается набор значений управляющих сигналов для очередного такта. При этом по сигналу, подаваемому с тактового входа 1 устройства на счетный вход счетчика 10, его содержимое увеличивается на единицу, в результате чего на выхо- дах счетчика 10 формируется адрес следующего управляющего слова.

На предварительном (нулевом) такте работы устройства на управляющий вход приема кода регистра 9 подается сигнал и так как в данный момент на управляющем входе выдачи кода регистра 17 единичный сигнал отсутствует, то в регистр 9 через вход 5 аргумента устройства поступает модулярный код числителя X значения

5

0

0

аргумента функции f (х),

4

подлежа5

5

Xj

м

щей вычислению, при этом двоичный код номера г функции через вход 2 кода функции устройства записывается в младшие разряды сдвигового регистра 6. Параллельно с этим в регистр 18 из блока 14 считывается управляющее слово с нулевым адресом (табл.2), а в счетчике 10 получается адрес следующего управляющего слова.

В ходе первого такта на управляющие входы групп мультиплексоров 12 и 13 подаются сигналы (табл.2),вследствие чего на выходы групп мультиплексоров 12 и 13 пройдут величины, поступающие соответственно на их информационные входы с выхода буферного регистра 9. Блок 16 умножения находит модулярный код числа Х,который запоминается в буферном регистре В. В это время в регистр 11 из блока 7 памяти по адресу (8-г+1) считывается модулярный код константы , накопительный регистр 19 обнуляется. В управляющий регистр 18 из блока 14 поступает управляющее слово для второго такта, а содержимое счетчика 10 наращивается.Блоки 20 сложения и деления на кон

станту 21 на данном такте полезной работы не выполняют.

На втором такте на выходы групп мультиплексоров 12 и 13 пройдут соответственно содержимые регистра 11 к, регистра 9, блок 16 умножения получит модулярный код величины А . ,j, Х, который запоминается в регистре 8. Предыдущее содержимое регистра 8 в блоке 20 складывается с содержимым (в данный момент нулевым) регистра 19, модулярный код величины X с выхода блока 20 сложения передается в блок 21. Наряду с указанными действиями на втором такте из блока 7 памяти по адресу (8 Г+2) считывается модулярный код величины М-А , который через информационный вход группы мульти- плексоров 15 поступает в регистр 19.

На третьем такте блок 20, складывая содержимое регистров В и 19,находит величину + А р X ,поступающую во входной регистр блока 21 На первый и второй входы блока 16 умножения с выходов групп мультиплексоров 12 и 13 поступают соответственно величины М и X , подаваемые на информационный вход группы мультиплек- зо группы мультиплексоров 15 передает- соров 12 через вход 4 константы устройства и информационный вход группы мультиплексоров 13 с выхода регистра 19, блок 16 умножения находит модулярный код величины М-Х, запоминаемой в регистре 8. Из блока 7

35

памяти поступает константа А з,г в управляющем регистре 18 формируется управляющее слово с адресом 3, а регистр 19 обнуляется.

На четвертом такте блок 20 сложения формирует величину М Х,, передаваемую в блок 21, блок 16 умножения получает модулярный код числа

40

45

ся в регистр 19, из блока 14 в регистр 18 поступает управляющее слово с адресом 4, а на первом выходе счетчика 10 после наращивания его со держимого на единицу формируется код числа 5. Так как выполнение в блоке 21 операции занимает шесть тактов, то, начиная с восьмого такта, с выхода блока 21 в буферный регистр 17 начинают поступать обработанные значения входных величин блока 21 в порядке их поступления на вход. В частности, на восьмом такте в регистр 17 поступает модулярный код величины Y в соответствии с формулой (7) .

З.Г- су 8Х, из блока 7 памяти по адре- г считывается константа М- А ,

11 и

которая записывается в регистр через информационный вход группы мультиплексоров 15 проходит на его выход и записывается в регистр 19, а в регистр 18 из блока 14 передается управляющее слово с адресом О. В регистре 6 осуществляется обмен содержимым групп младших и старших разрядов, при этом в группу младших разрядов через вход 2 кода функции устройства поступает двоичный код номера S функции f (х),вычисление

которой совмещается с вычислением функции f (х), а в регистр 9 через вход 5 аргумента устройства принимает-- ся модулярный код числителя X, соответствующего

Ха

значения аргумента -.

М

зл В отНа последующих четырех тактах работы устройства (с пятого по восьмой) для функции ff (х) повторяются операции, выполненные на тактах с первого по четвертый для функции f|v(x).В результате на тактах с пятого по восьмой в блок 21 соответственно поступают величины М-А + А Х,, х , М-А, J + А,.,-Хг , МХ. личие от четвертого такта на восьмом такте после перестановки местами содержимых групп младших и старших разрядов сдвигового регистра 6 в него через вход 2 кода функции устройства новая информация не поступает, соответственно прекращается поступление новой информации и через вход 5-аргумента устройства. На восьмом такте из блока 7 памяти по адресу 8 S+4 считывается константа М-А которая через информационный вход

г.з

о группы мультиплексоров 15 передает-

5

0

5

0

5

ся в регистр 19, из блока 14 в регистр 18 поступает управляющее слово с адресом 4, а на первом выходе счетчика 10 после наращивания его содержимого на единицу формируется код числа 5. Так как выполнение в блоке 21 операции занимает шесть тактов, то, начиная с восьмого такта, с выхода блока 21 в буферный регистр 17 начинают поступать обработанные значения входных величин блока 21 в порядке их поступления на вход. В частности, на восьмом такте в регистр 17 поступает модулярный код величины Y в соответствии с формулой (7) .

На девятом такте модулярный код числа Y I из регистра Т7 пересылается в регистр 9 и через информацион- .ный вход группы мультиплексоров 12 и через информационный вход группы мультиплексоров 13 поступает на входы блока 16 умножения, который находит величину Y,, запоминаемую в регистре 8, предыдущее содержимое регистра 8 в блоке 20 складывается с содержимым накопительного регистра 19 и полученная сумма Х передается в блок 21. В регистре 18

формируется управляющее слово с адресом 5, регистр 19 обнуляется, а в буферный регистр 9 с выхода блока 21 поступает модулярный код числа

В

2,г

В соответствии с формулой (6). 5 На десятом такте с выхода блока

20 сложения в блок 21 поступает величина Y, блок 16 умножения находит произведение чисел М, Б, , поданных на информационный вход группы мультиплексоров 12 и информационный вход группы мультиплексоров 13 соответственно. Из блока 7 памяти по адресу 8г+6 считывается константа А I , запоминаемая в регистре 11, в регистр 18 записывается шестое управляющее слово, регистр 19 обнуляется, а в буферный регистр 17 с выхода блока 21 поступает модулярный код числа Х .

На одиннадцатом такте в блок 21 поступает величина М-В, , в регистр 8 формируется модулярный код произведения А , J. X,j, получаемый блоком 16, из блока 7 памяти по адресу (8 г+7) считывается константа М-А которая через информационный вход группы мультиплексоров 15 передается в регистр 19, а в регистр 18 записывается управляющее слово с адресом 7. При этом после увеличения на единицу содержимого счетчика 10 на первом его выходе формируется двоичный код числа 4.

На двенадцатом такте блок 20 сложения определяет модулярный код числа БОГ в соответствии с формулой (4), который с выхода блока 20 через информационный вход группы мультиплексоров 15 поступает в накопительный регистр 19. На первый и второй входы блока 16 умножения через информационный вход группы мультиплексоров 12 и информационный вход группы мультиплексоров 18 с выходов буферных регистров 17 и 9 подаются соответственно величины Б , и Y , в результате чего их произведение получают в регистре 8. Б регистр 17 поступает модулярный код числа У в соответствии с формулой (7), в сдвиговом регистру 6 осуществляется обмен содержимыми групп младших и старших разрядов, в регистр 18 из блока 14 считывается управляющее слово с адресом 4.

На последующих четырех тактах действия, выполненные на тактах с

5

0

5

0

5

0

45

50

девятого по двенадцатый, повторяются, в результате чего в блок 21 постуi2

пают величины В f. + Б Y| , Y,j , MB ij 5 3 по истечение шестнадцатого такта в буферный регистр 17 с выхода блока 21 поступает модулярный код числа Z , в соответствии с формулой (7). Кроме того, на шестнадцатом такте в регистре 18 сформируется- управляющее СЛОВО с адресом 8.

На семнадцатом такте блок 20 сложения заканчивает вычисление величины БО + Б ,5 Y,j поступающей в блок 21, модулярный код числа Z из регистра 17 пересылается в регистр 9, а в регистр 17 поступают величины Б . .

На восемнадцатом тактеблок 16 умножения получает произведение Б ,},г Z| , запоминаемые в регистре 8,

а регистр 19 обнуляется. )

Б ходе девятнадцатого такта в накопительный регистр 19 при помощи блока 20 сложения и группы мультиплексоров 15 пересылается содержимое регистра 8. При этом в регистр 17 с выхода блока.21 поступает величина С г в соответствии с формулой (3).

На двенадцатом такте величина Сг умножается на константу М, а на двадцать первом такте полученное произведение блоком 20 сложения суммируется с содержимым накопительного регистра 19. Б результате в блок 21 поступает величина М-С + Б . Z. После выполнения указанных действ ий для функции f gCx) по истечение двадцать пятого такта в блок 21 поступает величина МС , + Б , Z .

На двадцать седьмом и тридцать первом тактс1х блок 21 завершает формирование величин fr и fj в соответствии с формулой (2). Модулярные коды искомых величин в указанных тактах снимаются с выхода 22 устройства, и на этом процесс вычисления функций в заданных точках заканчивается.

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

55

Формула изобретения

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

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

5

0

5

0

5

0

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

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

название год авторы номер документа
Устройство для вычисления функций в модулярном коде 1985
  • Коляда Андрей Алексеевич
  • Ревинский Виктор Викентьевич
  • Селянинов Михаил Юрьевич
  • Смирнов Николай Алексеевич
SU1278839A1
Устройство для вычисления функций в модулярной системе счисления 1985
  • Коляда Андрей Алексеевич
SU1322268A1
Устройство для вычисления экспоненциальной функции в модулярной системе счисления 1985
  • Коляда Андрей Алексеевич
  • Кравцов Виктор Константинович
  • Селянинов Михаил Юрьевич
  • Чернявский Александр Федорович
SU1317433A1
Устройство для вычисления квадратного корня числа в модулярной системе счисления 1985
  • Коляда Андрей Алексеевич
  • Амербаев Вильжан Мавлютинович
  • Кравцов Виктор Константинович
  • Селянинов Михаил Юрьевич
SU1317434A1
Арифметическое устройство в модулярной системе счисления 1987
  • Коляда Андрей Алексеевич
  • Селянинов Михаил Юрьевич
  • Чернявский Александр Федорович
SU1432517A1
Устройство для деления чисел в интервально-модулярном коде 1984
  • Коляда Андрей Алексеевич
SU1241240A1
Устройство для деления чисел в модулярной системе счисления 1990
  • Коляда Андрей Алексеевич
  • Селянинов Михаил Юрьевич
  • Чернявский Александр Федорович
  • Ахременко Валерий Николаевич
SU1756887A1
Устройство для масштабирования числа в интервально-модулярном коде 1986
  • Коляда Андрей Алексеевич
SU1305678A1
Устройство для умножения чисел в модулярной системе счисления 1986
  • Коляда Андрей Алексеевич
  • Ревинский Виктор Викентьевич
  • Селянинов Михаил Юрьевич
  • Чернявский Александр Федорович
SU1352483A1
Устройство для умножения чисел в модулярной системе счисления 1989
  • Коляда Андрей Алексеевич
  • Кукель Игорь Николаевич
  • Ревинский Виктор Викентьевич
  • Селянинов Михаил Юрьевич
SU1667065A1

Иллюстрации к изобретению SU 1 291 977 A1

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

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

Формула изобретения SU 1 291 977 A1

Документы, цитированные в отчете о поиске Патент 1987 года SU1291977A1

Устройство для вычисления элементарных функций 1980
  • Аристов Василий Васильевич
SU1103225A1
Приспособление для точного наложения листов бумаги при снятии оттисков 1922
  • Асафов Н.И.
SU6A1
Устройство для вычисления элементарных функций 1981
  • Журавлев Юлий Павлович
  • Давыдов Иван Степанович
  • Куракин Сергей Зосимович
SU983707A1
Приспособление для точного наложения листов бумаги при снятии оттисков 1922
  • Асафов Н.И.
SU6A1

SU 1 291 977 A1

Авторы

Коляда Андрей Алексеевич

Селянинов Михаил Юрьевич

Даты

1987-02-23Публикация

1985-06-14Подача