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

 

Изобретение относится к вычислительной технике и предназначено для использования в микропроцессорных системах. В устройстве вьшолняется вычисление функции двух переменных путем реализации алгоритма интерполяции по ше сти узловым точкам аппаратными средствами с совмещением во времени отдельных вычислительных операций , что позволяет повысить точность вычислений. Вычисление функции Z проводится по формуле Z f(x,+ ph,y. + як) (1-р)

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

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

РЕСПУБЛИН (59 4 G 06 F 15/353 7/544

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

К А BTOPCHOMV СВИДЕТЕЛЬСТВУ

У

Г

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

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (21) 3909615/24-24 (22) 18.03.85 (46) 30.12.86. Бюл, № 48 (71) Ленинградский электротехнический институт им. В.И. Ульянова (Ленина) (72) А.В. Анисимов, А.В. Крайников, Б.А. Курдиков и В.Б. Смолов (53) 681.325(088.8) (56) Авторское свидетельство СССР № 942040, кл. G 06 F 15/353, 1980.

Авторское свидетельство СССР № 1107136, кл. С 06 F 15/353, 1983. (54) УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ ФУНКЦИЙ (57) Изобретение относится к вычислительной технике и предназначено для использования в микропроцессорных системах. В устройстве выполняется вычисление функции двух переменных путем реализации алгоритма интерполяции по шести узловым точкам аппаратными средствами с совмещением во времени отдельных вычислительных опера„SUÄÄ 1280391 А1 ций, что позволяет повысить точность вычислений. Вычисление функции Z проводится по формуле

Z = f(x + р1.у; + qr) = (1-p ) (1 Ч) f.,+ (1 г) qf +, eXZ+l2 (1 ), + ай 1)

qf +3 (1q) f, + (-l)

1+1 3 - Э, eEe-12,у, ) чения функции, соответствующие парам значений узловых точек аргументов, которые хранятся в блоке памяти зна- Я чений функции; и и k — шаг размещения узловых точек по оси Х и Y соответственно;

0 < р, q 1 - переменные, определяющие положение аргументов Х и Y соответственно в пределах шага квантования. Вычисление значения функции производится за шесть тактов. 8 ил.

1280391

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

Цель изобретения — повышение точности интерполяции функций за счет увеличения количества используемых узловых точек.

На фиг. 1-3 приведена функциональная схема устройства; на фиг. 4 и 5 — пример реализации блока синхронизации; на фиг. 6-8 — временные диа-15 граммы сигналов, формируемых блоком синхронизации по шинам управления и адреса соответственно.

Устройство содержит (фиг. 1-3) первый и второй входные регистры 1 и 2, первый и второй реверсивные счетчики 3 и 4, буферные регистры 58, регистр 9 результата, мультинлексоры 10-14, первый и второй преобразователи прямого кода в дополнительный, выполненные на группе сумматоров 15 по модулю два и группах сумматоров 16 по модулю два и элементов НЕ 17 соответственно, блок 18 памяти значений функции, второй умно30 житель-сумматор 19, умножитель 20, первый умножитель-сумматор 21,блок 22 синхронизации.

Блок 22 синхронизации (фиг. 4 и 5) содержит элементы ИЛИ 23 и 24, генератор 25 импульсов, триггеры 26-41, элементы И 42-52, элементы ИЛИ 5358, элемент НЕ 59.

Позициями 60-73 обозначены соответствующие связи, посредством которых блок 22 подключен в устройстве.

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

При занесении аргументов X u Y во входные регистры 1 и 2 и счетчики 3 и 4 аргументы Х и 7 разделяются на группы младших разрядов Х. и

Y, которые заносятся в регистры 1 и 2 соответственно, и группы стар х 50 разрядов Х и У, которые заносятся в счетчики 3 и 4 соответственно. Вычисление функции двух переменных осуществляется по интерполяционной формуле 55

f(x; + ph, y + qk) (! Я) (1, ) + (! т), + ,. ай+12 (! „), Ей+12 qf

2 1+яi 2 +1 и

ЕР 2 (! ) f PР 1 (— !1 (-11

2 " 1,! 2 í,1.1 где f . f, f. f.. f, f.

11"! 1>J+ 1 1+1 1" 1+1,1+1 1 11" 1-1 & значения функции, соответствующие парам значений узловых точек элементов х.у,х.у х, у. х у х

° у . у, 7 у„„ у. х., y, ближайшим к х; + ph, у„+ qk;

h — постоянный шаг размещения узловых точек по оси Х; постоянный шаг размещения узловых точек по оси У;

О < p с 1 — переменная, определяющая положение аргумента Х в пределах шага квантования;

0 c q c 1 — переменная, определяющая положение аргумента У в пределах шага квантования; х; — ближайшее значение узловой тачки по оси Х, меньшее аргумента Х; у„ — ближайшее значение узловой точки по оси Y меньшее аргумента Y.

В устройстве для интерполяции х.; и у„ представляют собой значения старших разрядов аргументов Х и Y, заносимые в счетчики 3 и 4 соответственно. Коды, считываемые с этих счетчиков, выступают в роли адреса блока 18 памяти, адресное слово которого формируется путем конкатенации (объединения) значений (х; и у ), считываемых со счетчиков. Значения р и q представляют собой младшие разряды кодов аргументов Хм и, считываемые

С со входных регистров 1 и 2 соответственно.

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

Управление процессом вычисления осуществляет блок 22 синхронизацьп4. Ðàбота блока 22 начинается по сигналу

"Пуск". При этом предполагается, что все триггеры блока 22 к моменту выдачи сигнала Пуск находятся в нулевом состоянии, которое обеспечива» .ется по завершении цикла вычислений, а также может быть установлено специальным сигналом "Сброс". Управляю.щие сигналы, поступающие в устройство при активном уровне на выходе генератора 25 импульсов, объединены на шину "Управление 1".

Управляющие сигналы, поступающие в устройство,при пассивном уровне на выходе генератора 25 импульсов, объединены в шину "Управление 2". Управляющие сигналы на мультиплексоры 10-14 снимаются с выходов тригге1280391

Сомножитель (1-q) f вычисляется следующим образом.

Значение (1-q) формируется путем прибавления к инверсии кода q единицы младшего разряда, что осуществляется при помощи группы сумматоров 15 по модулю два. Код 1-q подается на вход сомножителя Х умножителя 20 через мультиплексор 13, который включается на вход А. Значение f, „ счи1 тывается из блока.18 памяти.

50 ров 39-41 и объединены в шину "Адрес!!. Признаком завершения процесса вычисления является нулевое состояние триггера 26. В связи с этим выходной сигнал, снимаемый с инверсного плеча этого триггера, используется в качестве сигнала "Готов .

Первый такт вычислений начинается при поступлении сигнала "Пуск" на вход устройства. По переднему фронту 10 сигнала "Пуск" производится занесение аргументов Х и Y во входные регистры 1 и 2 и счетчики 3 и 4. Кроме того, сигнал "Пуск" запускает блок 22 управления. В первом также производится вычисление слагаемого (1-р )„

2 (1-q) f, „. Сомножитель (1-р ) вычис 2 f ляется при помощи умножителя-сумматора 19, сомножитель (1 — q) f; — при помощи умножителя 20, а полное произ-20 ведение (1-р ) (1-q) f „— при помощи умножителя-сумматора 21.

Сомножитель (1-р ) вычисляется следующим образом.

Буферный регистр 5 обнуляется.

Мультиплексор 11 включается на вход А. В буферный регистр 7 заносится код р из входного регистра 1, тот же код заносится и в регистр 9 через мультиплексор 10, который включается на вход А. Мультиплексор 12 включается на вход А. При этом умножитель-сумматор 19 формирует произведение р, а инверсия кода р поступает на группу сумматоров 16 по моду-35 лю два, где к инв ер сии р приб авляется единица младшего разряда, что обеспечивает формирование кода 1-р

Этот код поступает на вход X умножителя-сумматора 21. Кроме того, ука- 4 занный код запоминается в буферном регистре 8 по сигналу, входящему в шину "Управление 2". Синхронизация в буферном регистре 8 динамическая, по положительному фронту синхросиг-. нала.

Адресом для блока памяти является конкатенация старших разрядов Х с и Y аргументов Х, Y считываемых с со счетчиков 3 и 4 и поступающих на адресный вход блока 18 памяти. Выход блока 18 памяти соединен с входом сомножителя Y умножителя 20.

Таким образом, с выхода матричного умножителя 20 считывается искомое произведение, которое поступает на вход сомножителя Y умножителя-сумматора 21. Полное произведение (1-р ) (1-q)f формируется на умножителесумматоре 21, на вход сомножителя Х которого подается (1-р ), на вход сомножителя Y — (1-q)f,„, а на вход слагаемого К вЂ” "0 устройства с выхода регистра 9 результата, который обнуляется сигналом, входящим в шину

"Управление 1".

Полученный результат заносится в регистр 9 по сигналу, входящему в шину "Управление 2". Синхронизация в регистре 9 динамическая, по положительному фронту.

Во втором такте вычисляется сумма (1-р )(1-q)f;;+ (1-р )qf . Слагаемое (1-р ) (1-q) f „. поступает на вход слагаемого К умножителя-сумматора 21 с выхода регистра 9 результата. Сомножитель (1-р ) сохраняется в буфер ном регистре 8 после первого такта.

Для передачи его на вход Х умножите ля-сумматора 21 мультиплексор 14 пе

I реключается на вход В. Сомножитель

qf,.;,, вычисляется умножителем 20.

При этом значение q считывается с входного регистра 2 и поступает на вход сомножителя Х умножителя 20.

Для этого мультиплексор 13 переключается на вход В. Значение f. счиi, + 1 тывается из блока 18 памяти, для чего адресное слово блока 18 памяти во втором такте меняется путем увеличения кода в счетчике 4 на единицу по сигналу, входящему в шину Управление 1 ". Полученный во втором такте результат заносится в регистр 9 результата по сигналу, входящему в шину "Управление 2". Кроме того, во втором такте по сигналу входящему в шину "Управление 1", в буферный регистр 5 заносится код р, что необходимо для вычислений в третьем такте.

В третьем такте вычисляется сумма (1 р ) (1-q) f, „+ (1-V )q f;,+ р (р+1)

+ - -- (1-q)f,,„.. Первых два слага1 емых этой суммы поступают на вход

1280391 слагаемого К умножителн-сумматора 21 с выхода регистра 9 результата..

Третье слагаемое формируется следующим образом, Сомножитель р(р+1)/2 вычисляется умножителем-сумматором 19. Для этой цели код р в буферных регистрах 5 и

6, занесенный в предшествующих тактах, по сигналу, входящему в шину

"Управление 1", сдвигается на один 10 разряд в сторону младших разрндов;

Б освобождающийся при сдвиге разряд заносится ноль через последовательный вход L. В буферном регистре 7 сохраняется код р, занесенный в неrо в первом такте, Коды буферных ре- гистров 5, 6 и 7 подаютсн на входы х, Y умножителя-сумматора 19. Мультиплексоры 11 и 12 при этом включены на входы A. Искомое произведение через мультиплексор 14, переключаемый на вход С, поступает па вход Х умножителя-сумматора 21, кроме того, по сигналу, входящему в шину пуправление 2", оно заносится в буферный ре25 ,гистр 8. Сомножитель (1-с1)f „ „.вычисляется в умножителе 20. Код 1-q как и в первом такте поступает с группы сумматоров 15 по модулю два через мультиплексор 13 на вход сомножителя Х умножителя 20. Мультиплексор 13 при этом включен на вход А, Ордината

Е считывается из блока 18 памяти

1+\,J путем увеличения кода в счетчике 3

,на единицу и уменьшения кода в счет- 35 чике 4 на единицу по сигналам, входящим в шину "Управление 1", Полученный в третьем такте результат заносится в регистр результата 9 по сигналу, входящему в шину "Управление 2".

Б четвертом такте производятся следующие действия.

Во-первых, к ранее полученной сум- 45 р (у+1) ме прибавляется слагаемое -- — - - Я ° " а во-вторых, вычисляется значение, которое входит в пятое слагаемое интерполяционного выражения, Первая часть вычислений осуще твляется следующим образом. Код p(р+1)/2 сохраняется в буферном регистре 8 после третьего такта вычислений и подается на вход Х умножителя-сумматора 21 через мультиплексор 14, включаежй на вход В. Код ранее полученной суммы поступает на вход К умножителясумматора 21 с выхода регистра 9 результата.Сомножитель @К,,„, вычисляется умножителем 20, для чего значение q подается через мультиплексор 13 на вход сомножителн Х матричного умножителн 20. Коммутатор для этого пе"ь реключается на вход В. Ордината й,,„, f считывается из блока 18 памяти. Адрес блока 18 памяти формируется в четвертом такте следующим образом.

Код в счетчике 3 не изменяется, а код в счетчике 4 увеличивается на единицу по сигналу, входящему в шину

"Управление 1".

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

"Управление 2".

Формирование кода р-1 производится следующим образом. На вход слагаемого К умножителя-сумматора 19 подается код "-1" через мультиплексор 11, длн чего он переключается на вход В, а на вход сомножителя 7 умножителя- сумматора 19 подается код "1" через мультиплексор 12, который переключается на вход В. На вход сомножителя

Х у-множителя-сумматора 19 подается код р, записанный в буферном регистре 7. Таким образом, на выходе умножителя-сумматора 19 формируется искомый код р-1, Этот код через мультиплексор 10, который переключается на вход В, записывается в буферный регистр 6 по сигналу. входящему в шину

"Управление 2". Кроме того, по сигналам, входящим в шину "Управление 2", сдвигается код в буферном регистре 7 и уменьшается на единицу код в счетчике 3, что необходимо для вычислений в пятом такте.

В пятом такте к ранее полученной сумме прибавляется слагаемое (1-q)Х,.,„-. Сомножитель р(р-1)/ (-1)

1-1,4

/2 формируется умножителем-сумматором 19. Для этой цели код р-1, записанный в буферном регистре 6, подается через мультиплексор 12, который переключается на вход А, на вход сомножителя 7 умножителя-сумматора 19, на вход сомножителя Х которого поступает код р/2, записанный в буфер1280391 ном регистре 7. Ьуферньпt регистр 5 обнуляется по сигналу, входящему в шину "Управление 1", и на вход слагаемого К умножителя-сумматора 19 поступает "0" устройства через муль— типлексор 11, который переключается на вход А. Результат через мульти.,плексор 14, который переключается на вход С, поступает на вход сомножи теля Х умножителя-сумматора 21. Кро- !О ме того, сомножитель р(р-1)/2 записывается в буферный регистр 8 по сигналу, входящему в шину "Управление 2".

На вход слагаемого К умножителя-сумматора 21 поступает с регистра 9 результата ранее полученная сумма, а на вход сомножителя Y — сомножитель (1-q)f;,„. Этот сомножитель формиру1 ь" ется умножителем 20. На вход сомножителя Х умножителя 20 поступает че- 20 рез мультиплексор 13, включенный на вход А, значение 1-q формируемое группой сумматоров 15 по модулю два, а на вход сомножителя Y — ордината

f, из блока 18 памяти. Адрес ординаты f,,„ вычисляется путем вычитания единиц из кодов счетчиков 3 и. 4 по сигналам, входящим в шину "Управление 1". Отметим, что во втором полупериоде четвертого такта было также осуществлено вычитание единицы из кода счетчика 3. Эти действия обеспечивают переход от ординаты f ..., использовавшейся в четвертом

1+ !+! такте, к ординате f, „;, используе- 35 мой в пятом такте. Результат пятого такта записывается в регистр 9 результата по сигналу, входящему в шину Управление 2".

В шестом такте к ранее полученной сумме прибавляется слагаемое

qf; . Код сомножителя (,-!)

2 1-ч! 1 р(р — 1) /2 сохраняется в буферном регистре 8 после пятого такта и подается на вход сомножителя Х умножителясумматора 21 через мультиплексор 14, который переключается на вход В. На

ВХОД слагаемОГО К Умножителя сумма тора 21 поступает ранее .полученная сумма с выхода регистра 9 результата.

Сомножитель qf; ...,формируется умножителем 20 и поступает на вход сомножитеня У умножителя-сумматора 21, в котором и формируется искомый результат. Сомножитель q поступает на вход сомножителя Х умножителя 20 с прямого выхода входного регистра 2 через мультиплексор 13, который переключается на вход В, а ордината f;,ñ÷èтывается иэ блока 18 памяти и поступает на вход Y умножителя 20, Для формирования адреса искомой ординаты код в счетчике 4 увеличивается на единицу по сигналу, входящему в шину

"Управление 1". Результат шестого такта записывается в регистр 9 результата по сигналу, входящему в шину "Управление 2" ° Результат шестого такта является искомым результатом вычисления функции двух переменных.

Он поступает на выход устройства в

11 целоя и сопровождается признаком Готов", вырабатываемым в блоке 22. формула изобретения

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

10 ного и второго реверсивных счетчиков и к входу задания режима вычитания второго реверсивного счетчика, входы синхронизации первого и второго входных регистров и первого и второго ре5 версивных счетчиков объединены, о тл и ч а ю щ е е с я тем, что, с целью повышения точности интерполяции функций за счет увеличения количества используемых узловых точек, в не- fo го введены четвертый буферный регистр, второй умножитель-сумматор, умножитель и с третьего по пятый мультиплексоры, выход первого входного регистра подключен к информаци- f5 онным входам второго и четвертого буферных регистров и к первому информационному входу второго мультиплексора, выход которого подключен к информационному входу третьего буфер- 20 ного регистра, выход которого подключен к первому информационному входу четвертого мультиплексора, второй. информационный вход и выход которого подключены к входу первой константы устройства и к входу первого сомножителя второго. умножителя-сумматора соответственно, выход которого подключен к вторым информационным входам первого и второго мультиплексоров и ЗО

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

1280391

1280391

1280391 (1)

7f

7Z

128039) Составитель А. Ушаков

Техред М. Ходаиич

Корректор М. Максимишинец

Редактор N. Дылын

Заказ 7052/43 Тираж б71 Подписное

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

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

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

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

 

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

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

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

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

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

Изобретение относится к вычислительной технике и может быть использовано для вычисления выражений вида F а, Ь, +

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

Изобретение относится к области вычислительной техники и позволяет осуществлять одновременное вычисление функций вида сб Ь/(с - ау) и 6 (f+a(f) / (c+av)

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

Изобретение относится к автоматике и вычислительной технике

Изобретение относится к области вычислительной техники и может быть использовано в цифровых вычислитель ных машинах и системах для получения значений полиномов 3..(А„+В)Х +А (A..i - -- - - f, f

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

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

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

Изобретение относится к средствам обработки экспериментальной информации

Изобретение относится к области радиотехники и техники связи и может быть

Изобретение относится к ойласти специализированных средств вы-

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

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

Изобретение относится к области вьгчислительной техники

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