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

Иллюстрации

Показать все

Реферат

 

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

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

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

РЕСПУБЛИК (gg 4 С 06 F 7/544, 7/72

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

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

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

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3911178/24-24 (22) 14.06.85 (46) 23.12.86. Бюл. Ф 47 (71) Научно-исследовательский институт прикладных физических, проблем им. А.Н. Сенченко (72) А.А. Коляда, В.В. Ревинский, М.Ю. Селянинов и Н.А. Смирнов (53) 681.3 (088.8) (56) Авторское свидетельство СССР

В 1103225, кл. G 06 F 7/544, 1980.

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

У 983707, кл. G 06 F 7/544, 1981. (54) УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ ФУНКЦИЙ В МОДУЛЯРНОМ КОДЕ (57) Изобретение относится к вычислительной технике и ориентировано на использование в быстродействующих

„,Я0„, 1278839 А1 специализированных системах цифровой обработки сигналов для вычисления различных элементарных функций (тригонометрических, логарифмических, экспоненциального вида и других) от аргументов, представленных в модулярной системе счисления. Цель изобретения состоит в повышении быстродействия. Поставленная цель достигается тем, что устройство, содержащее сдвиговый регистр, блок памяти для хранения констант, регистр констант, модульный умножитель, модульный сумматор, группу коммутаторов, счетчик по модулю, два триггера и буферный регистр, содержит счетчик, две группы мультиплексоров и блок деления на константу с соответствующими связями. 1 ил.

1278839

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

f-1,1t и представленных в модулярной системе счисления.

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

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

Устройство для вычисления функций в модулярном коде содержит установочный вход 1 устройства, тактовый вход 2 устройства, вход 3 кода функции устройства9 вход 4 аргумента устройства, вход 5 константы устройстIIа„счет-111к 6 IIo модул(о, сдвиговы(."1 регистр 7, первую группу мулыиппексоров 8, пер)зый вспомогательный регистр 9, счетчик 10, блок 11 памяти для хранения констант, второй вспомогательный регистр 12, вторую группу мультиплексоров 13, первый триггер 14, группу коммутаторов 15, мопульный умножитель 16, буферный регистр 17, второй триггер 18, регистр 19 констант, модульный сумматор 20, блок 21 деления IicL конс.танту и выход 22 устройства.

Разрядность cpi III oI;oi n регистра г7 составляет 4 )log, 11 б IT где

И вЂ” число функций, вычисляемых устройством, через ) x(обозначается наименьшее целое число, не меньшее х. Регистр 7 выполняет циклический сдвиг содержимого IIà. ) 1оя ii (бит.

Счетчик 6 работает по модулно восемь. Счетчик 10 имеет три разряда.

Блок 11 памяти для храпения кон,) 4 1,о) 211 !. стант обла1тает емкость1о 2

Адрес ячейки

Хранимая константа

16 и

А

A „° М

16 и +8

16 п +9

16,п +10 16 п +11

16(n +12

A„М

Агю ™

Л(п М

А о,)) обозначаетА (,и, пред50

К

-с 1 группе составляет с 1log, m; 1 (.= (слоев разрядностью log2m би :, 1=(Ц1 m ь ° е 111 — O C Ii O II a I I I III МОДУЛЯР

9 29 9 К ной системы с 1ислен1111 k — число оснований, причем m)(. 2p+k-2 (р — фиксированное натуральное число), 4

Моцул1(рные кот11)! Констант 9 Отно сящихся к п-ой иэ вычисляемых уст- ройством функций (n å j0 1,,... p N- I I ) записыьаются в ячеике блока 11 памяти по адресу 1 +829 +16n, где lоинформация на выходе счетчика 10;

1 ., — информация на выходе.триггера 18.

5 Правило формирования содержимого блока 11 задается таблицей.

13 таблице через А;о

I с.я числитель дроби а; (ставляющей собой приближение i-ro коэффициента усеченного степенного ряда,аппрокс1(миру)о1цего .д -ую функц (о, (З (х) =. Z а х", а;, х ("=(— 1 911

1=0

А, F Т)= -1РМ 9 -рМ, +1,. ° *9 рМ„, -1J( к-( (1, = Г1 ш где М вЂ” натуральное число. определяющее точность вычисления и выбираемое из условия ох Р K--(9 - и) (х 1,))

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

4 13 в группах и коммутаторов 15 в

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

3 1278839

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

Эрмита и др. Из (1) вытекают расчетные соотношения для вычисления зна- 10 в регистра 7 (Ь =1).

Х чения f функции f (х) при x =— и Ц M

Fï = (Аон - M+ B ë Х) (2)

F„° 1 1 в,„= — (л,„м + в, „. х); (3) Для наиболее употребительных функций, включая тригонометрические (прямые и обратные), логарифмические,экспоненциального типа и другие аппроксимация первыми шестью членами степенных рядов рассматриваемого вида дает абсолютную погрешность от 10 до 10

Устройство для вычисления функций в модулярном коде работает следующим образом.

По сигналу, подаваемому на установочный вход 1 устройства, происходит обнуление счетчиков 6 и 10, триггеров 14 и 18 и сдвигового регистра 7. На каждом такте работы устройства сигнал Ь, сформированный на выходе триггера 14, подается на управляющий вход группы мульти— плексоров 8, сигнал Ь,, сформированный на инверсном выходе триггера 18, подается на вход управления сдвигом регистра 7, сигнал Ь, сформированный на прямом выходе триггера 18,поступает на управляющие входы группы мультиплексоров 13 и группы коммутаторов 15. В зависимости от значений этих управляющих сигналов производятся действия, обеспечивающие поступление на входы модульного умножителя 16 требуемых операндов в текущем такте. Модульный умножитель 16 выполняет операцию модульного умноения операндов, поступающих на перый и второй входы соответственно с

ыходов регистра t2 и группы мультилексоров 13, модулярный код произедения с выхода умножителя 16 переается в регистр 17, модульный суматор 20 суммирует модулярные коды, формированные на выходах регистров

7 и 19, и модулярный код суммы с

ыхода сумматора 20 поступает на вход блока 21. Одновременно с этим содержимое 1 счетчика 10 подается на адресный вход блока t1 памяти для хранения констант, на адресный вход которых также подаются содержимое

1 на прямом выходе триггера 18 и содержимое и группы младших разря дов сдвигового регистра 7. Из блока

11 памяти по адресу 16 n+8 1< +1 счи20 тывается модулярный код очередной константы, который подается на вход группы коммутаторов 15.

В соответствии с изложенным на предварительном (нулевом) такте ра25 боты устройства в регистр 12 через второй информационный вход с входа аргумента 4 устройства поступает модулярный код числителя Х значе( х, 30 ния — аргумента функции f„(x),подлежащей вычислению, при этом двоичный код номера r функции через вход

3 кода функции устройства записывается в младшие разряды сдвигового

В ходе первого такта на управляю" щий вход группы мультиплексоров 13 поступает сигнал Ь =1, вследствие чего на выход группы мультиплексоров

13 пройдет величина, поступающая на второй информационный вход с входа константы 5 устройства. Таким образом, на второй вход модульного умножителя 16 поступает величина M а на первый вход с выхода регистра 12величина Х,, которая также поступает .на вход регистра 9. Модульный умножитель 16 находит модулярный код числа M Х,, который запоминается в буферном регистре 17. В это же время на управляющие входы группы мультиплексоров 8 и группы коммутаторов

15 соответственно подаются сигналы

Ь,=О и Ь,=1, вследствие чего модулярный код константы A „, считываеl мый из блока 11 памяти для хранения констант, запишется в регистр 12, а в регистр 19 констант запишется

1278839

f0

На третьем такте по сигналу Ь =I, подающемуся на управляющий вход группы мультиплексоров 13, на выход данной группы пройдет величина М, поступающая на второй информационный вход с входа 5 константы устройсгва, с выхода регистра 12 величина

Х поступает на вход регистра 9 и г на первый вход модульного умножителя 16, на второй вход которого поступает величина М с выхода группы мультиплексоров 13. Модульный умножитель 16 находит модулярный код числа М Х, который запоминается в буферном регистре 17. !1редыдущее код нуля. Модульный сумматор 20 и блок 21 на данном такте полезной ра-. боты не выполняют.

На втором такте на вход управления сдвигом сдвигового регистра 7 подается сигнал Ь, =I, при этом осуществляется циклический сдвиг его содержимого. а. в группу младших разрядов через вход 3 кода функции устройства поступает двоичный код номера функции f (х). На управляющий вход группы мультиплексоров 13 поступает сигнал b, =-О, поэтому на выход группы мультиплексоров 13 пройдет содержимое регистра 9, которое поступит на второй вход модульного умножителя 16, на первый вход которого подается содержимое регистра 12. Модульный углножитель 16 получит модулярный код величины Л, Х,, который

I запоминается в буферном регистре 17.

Предыдущее содержимое регистра 17 в модульном сумматоре 20 складывается с содержимым (в данный момент нулевым) регистра !9 констант, модулярпый код величины М Х, с выхода модульного сумматора 20 передается I3, блок 21, где со следующего такта начнется операция пад этой величиной.Наряду с указанными действиями на втором такте на управляющие входы групп мультиплексоров 8 и коммута;оров 15 соотве" ñòâåííî поступают сигналы Ь, =-О и Ь, =О, поэтому в регистр

l9 констант поступает модулярный код величины М А,1, которая считывается, из блока 11 памяти для хранения констант по адресу 16 r+8, а в регистр

12 с входа 4 аргумента устройства поступает модулярпый код числителя

Х соответствующего значения аргу2

Xi ! лента—

N содержимое регистра 17 в модульном сумматоре 20 складывается с содержимьлм М. A „ регистра 19 констант, модулярный код величины А,,Х,+М А

I с выхода модульного сумматора 20 пе редается в блок 21, где со следующего такта начнется операция над этой величиной. В то же время на управляющие входы:.-рупп мультиплексоров

8 и коммутаторов 15 соответственно поступают сигналы Ь =О и b,=i,вследствие чего модулярный код константы

Л „ считываемый из блока 11 памяти для хранения I

16; 5, записывается в регистр 12, а в регистр !9 запишется код нуля.

На последующ лх шести тактах работы устройства (с четвертого по девятый) происходят следующие действия: на четвертом, пятом и шестом тактах для функции f (х) повторяются операции, выполненные на тактах с первого по третий для функции

f„(x), а с четвертого и шестого тактoB начинается зычисление соответ— ственно функции К (х) и К (х), для которых повторя.отея операции, аналогичные описанным. Б результате на тактах с четвер гого по девятый в блок 21 соответственпо поступят величины Х,, М. Лg ю- Х7 4 М А4 з Х3 Мф

А4 ь Х 1, А„Х„

+ 11, Л44 В отличие от второго такта (а также четвертого и шестого) на восьмом такте после циклического сдвига содержимого сдвигового регистра 7 в него через вход 3 кода функции устройства новая информация не поступает, соответственно прекращается поступление новой информации и через вход 4 аргумента устройства.

Наряду с этим на восьмом такте на выходе переноса счетчика б появится единичный сигнал, в соответствии с этим содержимое счетчика !О (в данном случае нулевое) наращивается на единицу и на его выходе формируется код числа "1", а триггер 14 устанавливается в единичное состояние, Так как выполнение в блоке 21 операции занимает шесть тактов, то, начиная с восьмого такта, с выхода блока 21 через второй информационный вход мультиплексора 8 в регистр 12 начнут поступать полученные значения в порядке поступления входных величин на вход блока 21. В частности, на

1278839

На последующих тактах с шестнадцатого по двадцать третий (5), с двадцать четвертого по тридцать первый (4), с тридцать второго по тридцать девятый (3) и с сорокового по сорок седьмой (2) для функции выполняются действия, аналогичные действиям, реализуемым на тактах с восьмого по пятнадцатый. При этом на сорок первом, сорок третьем, сорок пятом и сорок седьмом тактах блок 21 завершает формирование величиИ f»

f>, f+, f (2) соответственно, Модулярные коды искомых величин в указанных тактах снимаются с выхода 22 устройства и на этом процесс вычисления функций в заданных точках заканчивается. восьмом такте в регистр 12 поступит модулярный код величины Х,.

На девятом такте по сигналу Ь =1, подающемуся на селекторный вход группы мультиплексоров 13, на выход пройдет величина М, поступающая на второй информационный вход с входа 5 константы устройства, с выхода регистра 12 вепичина XI передается в регистр 9 и на первый вход модульно-. 10

;го умножителя 16, на второй вход которого с выхода группы мультиплексоров 13 поступает величина М. Модульный умножитель 16 находит модулярный код числа М Х, который запоминается в буферном регистре 17.

Одновременно с этим на селекторные входы групп мультиплексоров 8 и коммутаторов 15 поступают сигналы

Ь =1 и Ь,=!, вследствие чего в регистр 19 констант запишется код нуля, а в регистр 12 — модулярный код величины В ц, поступаюший с выхода блока 21 6 ()

На десятом такте на вход управления сдвигом сдвигового регистра 7 подается сигнал Ь, =1, при этом осуществляется циклический сдвиг его содержимого и на выходе младших раз- З7 рядов сдвигового регистра 7 появится двоичный код номера S функции. .На управляющий вход группы мультиплексоров 13 поступает сигнал Ь, =О,по— этому содержимое регистра 9, поступающее на второй информационный вход, пройдет на второй вход модульного умножителя 16, на первый вход которого поступает с выхода регистра

12 величина В „ . Модульный умножи- 40 тель 16 получит модулярный код вели— чины В, „ Х,, который запоминаeòñÿ в

I буферном регистре 1 7. Предыдущее содержимое регистра 17 в модульном сумматоре 20 складывается с содержимым регистра 19 констант, модулярный код величины М Х, с выхода модульного сумматора 20 подается в блок 21. Наряду с указанными действиями на десятом такте на селекторные входы групп мультиплексоров 8 и коммутаторов 15 соответственно поступают сигналы Ь, =1 и Ь =О, поэтому в регистр 19 констант поступает модулярный код величины М А „ считываемый из блока 11 памяти для хранения констант по адресу 16 г+9 (таблица), а в регистр 12 с выхода блока 21 поступает модулярный код величины Х .

На одиннадцатом такте по сигналу

Ь, =1, подающемуся на управляющий вход группы мультиплексоров 13, на выход данной группы пройдет величина М, поступающая на второй информационный вход с входа 5 константы устройства, содержимое регистра 12 поступает на вход регистра 9 и на первый вход модульного умножителя 16, на второй вход которого с выхода группы мультиплексоров 13 поступает величина M.

Модульный умножитель 16 находит модулярный код числа М Х, который запоминается в буферном регистре 17.

Предыдущее содержимое регистра 17 в модульном сумматоре 20 складывается с содержимым ре.гистра 19 констант, модулярный код величины М А,, +В „Х, с выхода модульного сумматора 20 передается в блок 21. Наряду с этим на управляющие входы групп мультиплексоров 8 и коммутаторов 15 соответственно поступают сигналы Ь< =1 и

Ь =1, вследствие чего в регистр 19 запишется код нуля, а модулярный код константы В с выхода блока 21 поступит в регистр 12.

На последующих шести тактах работы устройства (с двенадцатого по семнадцатый) происходят следующие действия: на двенадцатом и тринадцатом тактах для функции 1;(х) повторяются операции, выполненный на тактах десятом и одиннадцатом для функции.

Г„(х), а с двенадцатого и четырнадцатого тактов для функций f (х) и f U (õ) повторяются операции, аналогичные операциям, выполняемым с восьмого такта для функции Й„(х) (5).

1278839

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

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

25 управляющими входами коммутаторов группы и с управляющими входами мультиплексоров второй группы, инверсный выход второго триггера соединен с входом управления сдвигом сдвигового регистра, выход первого вспомогательного регистра. и вхоц константы устройства соединены соответственно с первыми и вторыми информационными

\ входами мультиплексоров второй груп35 пы, выходы которых соединены с соответствующими разрядами вхоца второго сомножителя модульного умножителя, выход которого соединен с входом буферного регистра„ выход которого =.îåäèíåí с входом второго слагаемого модульного сумматора, выход которого соединен с входом блока деления на

:константу.

1278839

Составитель А. Клюев

Техред В.Кадар Корректор А. Ильин

Редактор Л. Гратилло

Заказ 6839/47

Тираж 671 Подписное

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

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

Производственно-полиграфическое предприятие, г. Ужгород, ул. Проектная,4