Устройство для вычисления функций в модулярной системе счисления
Изобретение отиосится к вычислительной технике и предназначено для вычисления функций из заданного набора от массивов значений аргументов, представленных в модулярной системе счисления. Цель изобретения - повышение быстродействия устройства. Поставленная цель достигается тем, что в устройство, содержащее счетчик 5, кольцевой сдвигатель 10, группу бло
СООЭ СОВЕТСНИХ
СОЦИА ЛИСТЬНЕСНИХ
РЕСПУБЛИН ()% (I I) А1 (50 4 G 06 F 7 544 7/72
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Н АВТОРСКОМУ(СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3938737/24-24 (22) 01.08.85 (46) 07.07.87. Бюл. У 25 (71) Научно-исследовательский институт прикладных физических проблем
ыи. А.Н.Севченко (72) А,А.Коляда (53) 681.3(088.8) (56) Авторское свидетельство СССР
У 983707, кл. С 06 Г 7/544, 1980.
Авторское свидетельство СССР
Р 1278839, кл. G 06 F 7/544, 1985. (54) УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ ФУНКЦИЙ В МОДУЛЯРНОЙ СИСТЕМЕ СЧИСЛЕНИЯ (57) Изобретение относится к вычислительной технике и предназначено для вычисления функций из заданного набора от массивов значений аргументов, представленных в модулярной системе счисления. Цель изобретения — повышение быстродействия устройства. IIocтавленная цель достигается тем, что в устройство, содержащее счетчик 5, кольцевой сдвнгатель 10, группу бло1322268 (3) ков ll хранения констант, сумматор 12, умножитель 13, блок 17 масштабирования чисел, две группы мультиплексоров
14 и 16, два регистра 8 и 9, введены
Изобретение относится к вычислительной технике и предназначено для вычисления функций иэ заданного набора от массивов значений аргументов, представленных в модулярной системе 5 счисления.
Цель изобретения — повышение быстродействия.
На чертеже приведена структурная f0 схема устройства для вычисления функций в модулярной системе счисления. устройство для вычисления функций в модулярной системе счисления содержит тактовый вход 1, вход 2 кода функ.>5 ции, установочный вход 3 и вход 4 аргумента устройства, счетчик 5, регистр 6 аргумента, блок 7 элементов
ИЛИ, регистры 8 и 9 множителя, кольцевой сдвигатель 10, группу блоков 11 20 хранения констант, сумматор 12, умножитель 13, первую группу мультиплексоров 14, элемент HJIH 15, вторую группу мультиплексоров 16, блок 17 масштабирования чисел, буферный регистр I 8,,элемент НЕ 19, выход 20 устройства, промежуточные регистры 2124.
Сумматор 12 и умножитель 13 реализуют соответственно операции сложе- 30 ния и умножения целых чисел по модулям системы счисления, а блок 17 масштабирования осуществляет деление входного числа А на константу М. В предлагаемом устройстве для вычисления функций используется упрощенный вариант известного масштабирующего устройства конвейерного типа по авт, св. СССР У 1140)14, ориентированный нв один масштаб. 40
В ячейку блока Il.i с адресом
) $(q, 1X1; (1+4п+2 Х; записывается вычет 1В,, „(Х;)1 т; для всех 1=0,1, m; — 1; i i,2,...,k; элемент ИЛИ 15, блок 7 элементов ИЛИ, четыре промежуточных регистра 21 24 и элемент НЕ 19 с соответствующими связями. 1 ил.
А1м X+Aа и пРи Б=О, где В (Х)= А „Х+А „при S= 1, (1)
Asм Х+А4,м при S=2, Х при 5 3, m — z.-å основание модулярной системы
I счисления;
N — - общее число функций, вычисляемых устройством;
А, — числитель дроби А /М, являющийJ,n,п ся приближением j-ro коэффициента А (j 0,1,...,5) степенного ряда аппроксимирующего и-ю из вычисляемых функций
f„(X) 2 а Х, Хь Р-1, 1) (2) л1„е z - (- р м„,,...,р м„;1 где р — фиксированное натуральное число (параметр системы счисления) такое, К-1 что mÄ 2p+k-2, M„, = 1 1 m,М вЂ” полое е1 жительный целый масштаб, определяющий точность вычислений и выбираемый из условия
МА-., р м - A,.„,-÷ " РА1„(3
Ме ° МС 3 П
В предлагаемом устройстве вычисляемые функции аппроксимируются усеченными степенными рядами вида (2), которые могут быть необязательно тейлоровскими. Для наиболее употребительных функций, включая тригонометрические (прямые и обратные), логарифмические, экспоненциального типа и другие, аппроксимация их первыми шестью членами соответствующих степенных рядов дает абсолютную погрешность от
10 до 10
fë(M) N (1-„1 (Ban
Х I Г1, (Сде1Х т) „ ) где x=- (х е l-м,...,м-!1)
1322268
С i Х) =- -- -" — ) С (Х) = — -"- — ) В,„(y)1 В „(Х) 1 г1 (2л 11
Y =- — (4) Устройство для вычисления функ- 5 ц»й я модуля р»ой сис теме счисления работаег следуюп.им образом.
Для приведения устройства в исходное состоя»ие н кольцевой сдвигатель
10 посредством установочного входа 3 >0 устройства записывается двоичный код единицы и после этого начинается циклический процесс формирования требуемой последовательности функциональных значений. В пределах каждого цик-15 ла длиной в пять тактов выполняется один и тот же набор действий.
На всех тактах сумматор 12 осуществляет сложение по основаниям системы счисления величин, поступающих с выхода блока 7 элементов ИЛИ и буферного регистра 18, а умножитель 13 находит модулярный код произведения чисел, поступающих с выходов блока 17 масштабирования и группы мультиплек- 5 соров 14. При этом модулярный код суммы с выхода сумматора 12 подается в первый промежуточный регистр 21 и на нторой информационный вход группы
1мультиплексорон 16, а модулярный код 30 произведения запоминается в буферном регистре 18.
Полезную работу сумматор 12 выполняет на нулевом, первом и четвертом, а умножитель 13 — на нулевом, втором и четвертом тактах циклов (такты циклов нумеруются, начиная с нуля).
На каждом такте работы устройства содержимое счетчика 5, подается на младшие разряды адресного входа блоков 40
11 хранения константы, а на старшие разряды их адресных входов с выхода регистра 6 аргумента подается записанный в нем модулярный код некоторого числа Х 1ги из блока 11. i счи-4 тывается 1.-я цифра модулярного кода числа В (Х) . Модулярный код это 3,-1, и
ro числа с выхода блоков 11 поступает на информационный вход второго промежуточного регистра 22 и перный 50 информационный вход группы мультиплексоров 16.
На всех тактах управляющие сигналы гу — (7, сформированные н разрядах с нулевого по четвертый кольцево-з5 го сдвига теля 10, непосредственно или через логические элементы 15 и 19 подаются на управляющие входы соотнетстнующих блоков: Г>, — »а управляющие
»хоггы приема кода счетчика 5, регистра 6 и первый вход элемента ИЛИ 15
»а входы разреше»ил приема регистров 21 и 23 и выдачи регистрг 24; о — на селекторный вход группы муль1 типлексоров 14; — на управляющие входы приема кода регистров 8 и 9 и вход элемента HE 19; б — на входы разрешения приема регистров 22 и 24 и выдачи регистра 23 и второй вход элемента ИЛИ 15. После этого по сигналу, подаваемому через тактовый вход 1 устройства на счетные входы счетчика 5 и сдвигателя 10, содержимое первого из них увеличивается на единицу, а второго — сдвигается на один разряд в сторону старших разрядон.
Согласно изложенному выше на начальном (нулевом) такте работы устройства в счетчик 5 посредством входа 2 кода функции устройства записывается двоичный код числа 4п, а в регистр 6 через вход 4 аргумента устройства принимается модулярный код (Х,,Х,...,Х„) числа Х, определяющего требуемое значение Х/М аргумента
Х функции. На последующих трех тактах (с первого по четвертый) блоки 11 хранения констант формируют соответственно модулярные коды величин Х в, „(х), в,„(Х) и В,„(Х) (cM.(l)) H, так как на селекторный вход группы мультиплексоров 16 с выхода элемента
ИЛИ 15 в первом, втором и третьем тактах поступает нулевой сигнал, то модулярные коды первых трех из указанных величин через первый информационный вход группы мультиплексоров
16 пройдут на ее выход и поступят во входной регистр блока 17 масштабирования.
На четвертом такте 5 =1, поэтому модулярный код величины В (Х) с выходов блоков ll хранения констант поступит в регистр 22, при этом прежнее содержимое регистра 22 пересылается в регистр 24, а содержимое регистра 23 через первый вход элементов ИЛИ 7 подается на второй вход сумматора 12, на перный вход которого подается содержимое буферного регистра 18. Результат суммирования (его значение н данный момент несущественно) с выхода сумматора 12 через второй информационный вход груп13222
В ходе тРетьего цикла (такты с де- 45 сятого по четырнадцатый) наряду с выполнением описанных действий в связи с выполнением третьего функционального значения в десятом такте сумматор 12, складывая содержимое регист50 ра 8 с выходной величиной блока 7 элементов ИЛИ (на нулевом такте каждого цикла она равна нулю), получает модулярный код числа С (Х) У, который через второй информационный вход
55 группы мультиплексоров 16 передается в блок 17 масштабирования (ввидуб = о
=0), умножитель 13 находит модулярный код произведения чисел С, „(Х) пы мультиплексоров 16 передается в блок 17 масштабирования чисел.
В ходе тактов с пятого по девятьп, составляющих второй цикл работы устройства, описанные действия повторяются для второго элемента последовательности функциональных значений, подлежащих вычислению. Начиная с восьмого такта, с выхода блока 17 масштабирования чисел начнут поступать про- !О масштабированные значения входных величин блока в порядке поступления последних на вход. В частности на восьмом такте на выходе блока 17 сформируется модулярный код величины У 15 (см. (4)), который подается на второй вход умножителя 13 и ввиду G =1 запиэ сывается в регистр 8 с одновременной пересылкой прежнего его содержимого в регистр 8. 20
В девятом такте на второй вход умножителя 13 с выхода блока 17 поступает величина С „(Х) (см. (4)) и, так как в данный момент на селекторный 25 вход группы мультиплексоров 14 подается сигнал 5 =О, то на первый вход умножителя 13 через информационный вход группы мультиплексоров 14 поступит содержимое регистра 8. 30
Умножитель 13 получает модулярный код произведения С „(X)Y, который. за 3, ь поминается в буферном регистре 18 (на упРавляющий вход приема кода регистра 18 с выхода элемента НЕ 19 подает- 35 ся сигнал б =1). Одновременно с этим на д вятом такте в регистр 22 с выхода блоков ll хранения констант передается величина вида (1) при S =3, необходимая для вычисления второго 40 функционального значения, а прежнее
1 содержимое регистра 22 пересылается в регистр 24.
6 (см. (4) ) и У, запоминаемый в ре— гистре 18.
В одиннадцатом такте сигнал (, =1, в результате чего величина Во (Х) нз
О,п регистра 2 4 через второй вход эле менто в ИЛИ 7 пройдет на выход и п о с т упи т на вход сумматора 1 2, на другой в ход которого с выхода буферного регистра
1 8 подается величина С, (Х ) У, сумматор 1 2 находит модуля рный к од числа
В (Х ) + С, „ (X ) Y, который поступает в ю,п регистр 2 1 с одновременной и ер е сылкой е го пр ежн е го содержимого в регис тр 2 3 . На тринадцатом такте в регис тр 8 с выхода блока 1 7 передается прома сштаби ро в ан н ое значение квадрата аргумента второй функции, а к од числа
У регнс т р 9 (O = 1 ) .
В ходе четвертого цикла работы устройства (так ты с пятнадцатого по девятнадцатый) наряду с действиями, выполняемыми в св я зн с выполнением второго, третьего и четвертого функциональных значений осуществляется следующее . На семнадцатом такте с выхода блока 1 7 на вход умножителя 1 3 поступает модуля рный код величины
С,,„ (Х) У
М ) на другой вход умножителя 13 -через информационный вход группы мультиплексоров 14 (б =1) подается содержимое регистра 9, умножитель 13 получает модулярный код произведения .C» „(X) Y.1
á — ††У, который запоминается в буферном регистре 18, где он хранится в теченне следующего такта (на восемнадцатом такте запись в регистр
18 ввиду G =О запрещена).
На девятнадцатом такте при записи в регистр 22 новой информации содержимое регистра 23 через первый вход элементов ИЛИ 7 подается на вход сумматора 12, а на друго" его вход подается содержимое буферного регистра
l8, Код, получаемый сумматором 12 через второй информационный вход группы мультиплексоров 16, передается в блок 17 масштабирования чисел, который по истечении двадцать пятого такта завершит вычисление первого элемента заданной последовательности функциональных значений (см. (3)), при этом модулярный код искомого значения числителя дроби (3) снимается с выхода 22 устройства, модулярный
l3?2268
Состанитель А.Клюев
Техред Л.Олийнык Корректор Л. Пилипенко
Редактор П.Гереши
Заказ 2865/45 Тираж 672 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб.,д.4/5
Производственно-полиграфическое предприятие,г.ужгород,ул.Проектная,4 кол 1 I о фУ?(к1111о?1;<Г1ь11(1 о э?1;1че?111Я ! 1 1) снимается с ных(да 22 v(грой— ст?<а по истечении (15+5)-?о так га.
Ф о р м у л а и з о б р е т е и и я
Устро?атство для Выч?1С.Г!ения фъ нк11ий в модулярной системе счисления, содержащее счетчик, кол! ценой сдвигатель, группу блоков хранения констант, сумматор, умножитель, блок мас- 10 штабиронания чисел, дне группы мультиплексоров, дна регистра множителя, регистр аргумента и буферный регистр, причем тактовый вход устройства сое— динен со счетным входом счетчика,раз- 15 ряды выхода которого соединены с младшими разрядами адресного входа блоков хранения констант группы, выход первого регистра множителя соединен с информационным входом второго регистра множителя, выход которого соединен с первыми информационными входами мультиплексоров первой группы, выходы которых соединены с входом первого сомножителя умножителя, 25 выход которого соединен с информационным входом буферного регистра, выход которого соединен с входом первого слагаемого сумматора, выходы блоков хранения констант группы сое- 30 динены с первыми информационными входами соответствующих мультиплексоров второй группы, выход блока масштабирования чисел является выходом устройства, о т л и ч а ю щ е е с я тем, что, с целью повышения быстродействия, оно содержит элемент ИЛИ, блок элементов ИЛИ, четыре промежуточных регистра и элемент НЕ, причем тактовый вход устройства соединен с входом 40 разрешения сдвига кольцевого сдвигателя, информационный вход которого соединен с установочным входом устройства, входы кода функции и аргумента которого соединены соотнетст- 45 венно с информационными входами счетчика и регистра аргумента, разряды выхода которого соединены соответственно со старшими разрядами адресного входа блоков хранения констант 50 группы, ных(д сумматора <-оединен (о вторыми информационными входами муль. типлексорон второй группы и с ??нформационным нходом первого Г?ромг жуточного регистра, выходы мульт??иле кс.оров второй группы соединены с входом блока масштабирования чисел, выход которого соединен с входом второго сомножителя умножителя и с информационным входом первого регистра множителя, выход которого соединен с вторыми информациои??ым?! входами мультиплексоров первой группы, выходы блоков хранения констант группы соединены с информационным входом второго промежуточного регистра, выходы первого и второго промежуточных регистров соединены соответственно с информационными входами( третьего и четвертого промежуточных регистров, выходы которых соединены соответственно с первым и вторым входами блока элементов ИЛИ, выход которого соединен с входом второго сла— гаемого сумматора, разряды выхода кольцевого сдвигателя соединены соответственно с первым входом элемента
ИЛИ, с входом разрешения приема первого промежуточного регистра, с уп— равляющим входом мультиплексоров перной группы, с входом элемента НЕ и с вторым входом элемента ИЛИ, выход которого соединен с управляющим входом мультиплексоров второй группы, входы разрешения приема регистра аргумента и счетчика соединены с первым входом элемента ИЛИ, второй вход которого соединен с входами разрешения приема второго и четвертого промежуточных регистров и с входом разрешения выдачи третьего промежуточного регистра, вход разрешения приема которого соединен с входом разрешения приема первого промежуточного регистра и с входом разрешения выдачи четвертого промежуточного регистра, вход элемента
НЕ соединен с нходами разрешения приема первого и второго регистров множи теля, выход элемента НЕ соединен с входом разрешения приема буферного регистра.