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

 

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

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

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

РЕСПУБЛИК

„„SU„„1 5117

1Я) с G 06 Г 15/353

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

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И OTHPbITMA

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

H АВТОРСИОМУ СВИДЕТЕЛЬСТВУ (211 3692389/24-24 (22) 05 ° 11.83 (46) 28.02.86, Вюл. Ф 8 (72) В,А.Кривего, Л.А.П)абунина, Ю.N.Áîñèíçoí и H.Н.Прокопенко (53) 681.32 (088.8) (56) Авторское свидетельство СССР

У 247642, кл. G 06 15/353, 1968.

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

М - 549818, кл. G 06 F 15/353, 1973. (54? УСТРОЙСТВО ДЛЯ КУСОЧНО-ЛИНЕЙНОЙ ИНТЕРПОЛЯЦИИ ФУНКЦИЙ . (57) Изобретение относится к вычислительной технике и может быть использовано для выполнения функциональных преобразований в различных системах обработки информации. Устройство содержит регистр аргумента, регистр числа, сумматор, три регистра промежуточных значений, четыре коммутатора, блок памяти, блок микро» программного управления, три элемента

И и регистр признаков. Повышение быстродействия достигается за счет реализации алгоритма кусочно-линейной аппроксимации, предусматривающей постоянство шага аппроксимации по арГументу. 3 ил.

1215117 где а, (о,(о,„,„

o; = (21

Зо де

40

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

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

На фиг. 1 представлена блок-схема предлагаемого устройства; на фиг. 2 временная диаграмма, формируемая блоком микропрограммного управления; на фиг. 3 — формат команды блока микропрограммного управления.

Устройство содержит блок 1 памя-, l5 ти, сумматор 2, регистр 3 аргумента, первый 4 и второй 5 регистры промежуточных значений, регистр 6 признаков, третий регистр 7 промежуточных значений, регистр 8 числа, первый 9, 20 второй 10, третий 11 и четвертый 12 коммутаторы, первый 13, второй 14 и третий 15 элементы И, блок 16 микропрограммного управления, информа25 ционные входы 17 и 18 устройства— входы задания интерполируемой функции, управляющие выходы 19-41 блока микропрограммного управления.

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

Блок 16 микропрограммного управления предназначен для формирования последовательности сигналов V — 7 1 т (выходы 19-41), необходимых для организации вычислительного процесса в операционной части устройства, и может быть реализован на основе устройства микропрограммного управления.

Определенная совокупность подряд считываемых между начальным (Ан) и конечным (A )адресами микрокомандных слов образует подпрограммы.

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

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

Значение аппроксимированной функции j(а) устройство формирует в . соответствии с выражением

f(а„,+„) — ((а,„) (а) = 1 (о „,) + — (а - a -rn ap) = о

=f (а„.) h, f о („,+„)(а- „), Реализация алгоритма осуществляется в три этапа.

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

Q, еслц а„,; со сс ах

О1,,„„есл14 пс о w;r, G то,х, ес ëë < 3 w x где с\; — текущее значение аргумента;

О „ - минимальное значение аргумента; а,„,, - максимальное значение аргумента.

На втором этапе вычисляется порядок текущего значения аргумента функции интерполирования

<3) — порядок текущего значения аргумента функции интерполирования;

Q — текущее значение аргумента функции интерполирования, hQ — приращение значения аргумента на соседних шагах интерполирования;

h — количество шагов интерполирования.

На третьем mare производится соб-. ственно вычисление значения Аункции интерполирования, согасно выражению

Ф

f (a) = g(o, ) + " (а-а;„-мха); (4)

При выполнении первого этапа вычислений значение аргумента о вводится в регистр 3 аргумента. С этой целью код аргумента подается на магистрали на группу входов 17 устройства, а блок 16 микропрограммного управления согласно соответствующей микропрограмме вырабатывает микрокоманду

Y 14 (34).

Как уже отмечалось, первый этап вычислений проводится согласно выражению (2) и временной диаграмме

1215117 и. где, — время передачи информации через коммутаторы

10 и 11; л. ь — время сквозного пробега 10 в сумматоре 2; л

Lg- 1время записи информации в регистр 7.

Результат операции фиксируется на регистре 7 по переднему фронту микрокоманды Ч 4 (24 ).

Так как обе константы в исходном положении могут быть только положительными, то отрицательное (рав ное единице) значение знакового разряда сумматора 2 означает, что аргумент O по абсолютной величине больше с „,, а положительное значение (равное нулю) знакового разряда сумматора 3 означает, что по абсолютной величине меньше 0 щщ, Значение знакового раэряца сум- матора поступает на регистр 6 приз50 (фиг,2). После того как .по управляющей магистрали на блок микропрограммного управления поступил адрес выполняемой подпрограммы, в регистр 3 аргумента с числовой магистрали 17 по сигналам Ó14 (34) и У1 (19)через коммутатор 9 заносится численное значение аргумента.

Одновременно стробируемым сигналом У!6 (40)в регистр 4 по переднему фронту сигнала Ч 2 (20) заносится первая вычислительная константа 0, В следующем такте производится сравнение содержимого регистра 3 аргумента и регистра 4, т,е. а и а,„ „

С этой целью через коммутатор 11, управляемый сигналом Y 10 (21), инверсное значение аргумента с выхода регистра 3 аргумента подается на первый вход сумматора 2, а на второй 20

его вход через коммутатор 10 подается прямой код g „(содержимое регистра 4). Передача этого кода происходит по микрокоманде Ч 8 (22j.

Таким образом, на сумматоре 2 производится сложение (а +A,,)или (+ + ак) °

Для получения дополнительного кода аргумента на вход младшего разряда сумматора 2 с блока 16 микропрог- 30 раммного управления подается сигнал Y 17 (23). Минимальная длительность микрокоманд Y 10; g 8; Ч 17 определяется суммарным временем

g=i +1., v>

35 яаков, где фиксируется на его первом разряде сигналом Y 22 (25), поступающим с блока микропрограммного управления в фазе с микрокоман" дой У 4.

Второй этап вычислений выражения (2 ) заключается в сравнении значения аргумента о\ (содержимое регистра 3) с содержимым регистра

5, куда заносится вычислительная константа О „,, „ Код этой константы поступает из блока микропрограммного управления через коммутатор 12, стробируемый сигналом Ч16 (401, и фиксируется на регистре 5 по перед,нему фронту сигнала Ч 3 (76) .

Аналогично описанному содержимые регистров 3 и 5 через коммутатор 11 по сигналу Y10(21) и коммутатор 10 по сигналу Y 9 (27) поступают на первый и второй входы сумматора 2, а на младший разряд сумматора с целью обращения кода с поступает сигнал У 17(23).

Знак полученной разности фиксируется на регистре 6 признаков по сигналу Y23(28) Причем, еслибы>с,„;„ то второй разряд регистра признаков примет значение единицы, если же а а „, то — значение нуля.

Исходя из конкретного значения регистра признаков, принявшего значение в результате проведенного анализа аргумента и вычислительных констант o, „ и < ;„, выражение(2) можно переписать следующим образом. (РЗ), если Pg(1) = О, РП(2)- "1 (Р4 >, если РП (1) = 1 (5)

° ° ° (Р5 ), если РП (2) 0 . где РП(1) и РП(2)- соответственно содержимое перaoro и второго разрядов регистра признаков; ()- знак содержимого соответствующего регистра.

Таким рбразом, на регистре 3 ар гумента зафиксировано < - - значение аргумента функции интерполирования, в регистрах 4 и 5 соответственно

4 зафиксированы вычислительные константы С,„о,„и о,„. ъФ

Для определейия разности(б-а - 1

ИОЗЕФ в блоке микропрограммного управления (фиг.2) формируются управлявщие сигналы > 12(29), Ч 17(23) и Ч21(301

1215117 и со сдвигом по фазе относительно них ) 4(24), По сигналу 112 через коммута" .тор 11 передается инверсное значение содержимого регистра 5 на пер- 5 вый вход сумматора 2, Второе слагае мое выбирается из учета состояния регистра 6 признаков. С этой целью сигналом Y21(30) опрашиваются элемен- . ты И 13 — 15., на первые входы которых поступает содержимое соответствующих разрядов регистра признаков.

На вход элемента И 13 подается инверсное значение второго разряда признака, на вход элемента È 14— прямой код значения первого разряда признака, а на элементе И 15 собирается прямое и инверсное значения соответственно второго и первого разрядов, 20

При опросе этих элементов микрокомандой т"21 на одном из них выделяется сигнал, который коммутирует передачу значения аргумента функции интерполяции согласно выражению (3) на второй вход сумматора 2 через коммутатор 10.

Разность, образованная значением кодов (с и с„„;„), поступивших на первый и второй входы сумматора 2, 30 и Y17 — значение сигнала, поступившего на младший разряд сумматора, фиксируются сигналом 4(24)в регистре 7 °

Анализ текущего значения аргумента согласно временной диаграмме, (фиг.2) занимает время 7 .

Вычисление порядка (целочисленной части) текущего значения аргумента функции интерполирования про- 40 чзводится согласно выражению (3). раммного управления.

MGTopa 2 подается единица по сигна45 лу У17, Значение сумматора записы-:

Регистрация кода, идентифицирующего частное, на регистре 8 числа производится по сигналу 7 5(32) . 55

Регистр числа является сдвиговым регистром. Сдвиг его содержимого производится сигналами 118(33), поступаю

Значение разности 4 — й,„, в совокупности с кодом A G, поступившим с группы выходов блока lб микропрограммного управления, а также сигналом у19 вЂ,обозначения операции деления служит адресом для блока l, где запрограммированы идентифицирующие табличным способом коды чйстного шими на вход 18 сдвига регистра числа и на вход сдвига регистра 4. Выход старшего разряда регистра 8 числа соединен с входом младшего разряда регистра 4, в результате чего вместе они составляют единый регистр сдвига, Таким образом, после выполнения h операций сдвига на вход регистров 8 и 4 поступит 4 сигналов У 18. Количество(Н)импульсов определяется соответствующей подпрограммой и жестко программируется в блоке микропрогПо окончании вычисления порядка текущего значения аргумента функции интерполирования последний (коц порядка 1т)фиксируется на первом регистре .4, а младшая часть значения и находится на регистре 8 числа. Длительность вычисления целочисленной части текущего значения аргумента функции интерполирования занимает 10 1 .

Вычисление функции интерполирования f(G) производится согласно выражению (4).

Значение регистра 4, являющееся адресом записанного в ЗУ значения функции f (w), через коммутатор 10 по сигналу Ч8(22)через сумматор 2 записывается в регистр 7 сигналом Y 4(24). Выбранное из ЗУ значение функции сигналом Y5(32) .Фиксируется на регистре 8 числа.

Одновременно значение регистра 8 числа через коммутатор 12 по сигна-. лу 715(39) и коммутатор 9 по сигналу 913(35) заносится в регистр 3 аргумента по сигналу 1(19). Затем формируется адрес следующей ячейки: для. этого код регистра 4 по сигналу 1 8 проходит через коммутатор 10 на сумматор 2. На младший разряд сумвается в регистр 7 по сигналу 14.

Значение регистра числа через коммутатор 12, открываемый сигналом )15, сигналом У 3 записывается в регистр 5, а в регистр числа по сигналу 5 записывается информация из блока l.

Затем инверсный код второго регистра 5 через коммутатор 11 подается на первый вход сумматора, на второй вход которого через коммутатор 10 сигналом t7 подается код регистра 8 числа. На младший разряд сумматора подается сигнал $1 7... 1215117

Результат вычитания записывается в регистр 7 сигналом У4. Значение этой разности в совокупности с ко дом h a, поступившим из накопителя блока микропрограммного управления по сигналу Y16, служит адресом для блока 1. На выходе блока 1 полу.чаем частное от деления разности на б о, частное записывается в ре- 10 гистр 8 числа по сигналу У5.

Значение регистра 3 аргумента через коммутатор 10 по сигналу Y 15 через сумматор 2 записывается в регистр 7 сигналом Y 4. ° t5

Таким образом, на адресный вход блока 1 поступает код регистра 7, код регистра числа через коммутатор

12 и признак операции умножения— сигнал 920. Результат записывается 20 в регистр 8 числа.

Проводится последний этап — суммирование содержимого регистра 5, которое через коммутатор 11 по сиг.налу » . 11 подается на первый вход сумматора 2, и содержимого регистра числа, которое через коммутатор 10 по сигналу Q 7 подается на второй вход сумматора. Результат фиксируется в регистре 7. Этот результат 30 представляет собой функцию f(a).

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

Устройство для кусочно-линейной интерполяции функций, содержащее регистр аргумента, регистр числа и сумматор, о т л и ч а ю щ е е с я тем, что, с цельн1 повышения быстродействия за счет интерпопирования с произвольной точки, оно содержит три gp регистра промежуточных значений, четыре коммутатора, блок памяти, блок микропрограммного управления, три элемента И и регистр признаков, I причем информационные входы устройст-45 ва соединены с первой группой информационных входов первого коммутатора, выходы которого соединены с. информационными входами регистра аргумента, прямые выходы которого 50 соединены с первой группой информационных. входов второго коммутатора, а инверсные — с первой группой информационных входов третьего коммутатора, вторая группа информацион- 55 ных входов коммутатора соединена с выходами первого регистра промежу точного результата, прямые выходы второго регистра промежуточного результата подключены к третьей группе информационных входов второго коммутатора и второй группе информационных входов третьего коммутатора, третья группа информационных входов которого подключена к инверсным выходам второго регистра промежуточного результата, выходы второго и третьего коммутаторов соединены соответственно с входами первого и второго слагаемых, сумматоров, выходы которых соединены с информационными входами третьего:регистра промежуточного результата, выходы которого соединены с выходами устройства и с вхолами младших разрядов адреса блока памяти, выходы которого соединены с информационными входами регистра числа, выходы которого соединены с четвертой группой информационных входов второго коммутатора и первой группы информационных входов четвертого коммутатора, выходы которого соединены с второй группой информационных входов первого коммутатора, информационными входами первого и второго регистров,промежуточных результатов и входами старших разрядов адреса блока памяти, входы задания интерполируемой функции устройства соединены с входами начального адреса блока микропрограммного управления, выходы шага аргумента которого соединены с второй группой информационных входов четвертого коммутатора, выход переноса сумматора соединен с информационными входами регистра признаков, выходы первого, второго и третьего элементов И соединены соответственно с первым, вторым и третьим управляющими входами второго коммутатора, прямой выход первого разряда регистра признаков соединен с первым входом второго элемента И, инверсный выход второго разряда регистра призиаков соединен с первым входом первого элемента И, прямой выход второго разряда и инверсный выход первого разряда регистра признаков coe"" динены соответственно с первым и вторым входами третьего элемента И, первый и второй управляющие выходы блока микропрограммного управления соединены с входами управления параллельной записью регистра аргчмен1215! 17 та и первого регистра промежуточных значений соответственно, третий и четвертый управляющие выходы блока микропрограммного управления соединены с первым управляющим входом третьего коммутатора и четвертым управляющим входом второго коммутатора соответственно, с пятого по восьмой управляющие выходы блока микропрограммного управления соединены соответственно с входом переноса сумматора;и выходами синхронизации третьего регистра промежуточных результатов, первого разряда регистра признаков и второго регистра промежуточных результатов соответственно, девятый управляющий выход блока микропрограммного управления соединен с пятым управляющим входом второго коммутатора, десятый управляющий выход блока микропрограммного управления соединен с входом синхрончзации второго раз" ряда регистра признаков, одиннадцатый управляющий выход блока микропрограммного управления соединен с вторым управляющим входом третьего коммутатора, двенадцатый управляющий выход блока микропрограммного управления соединен с вторыми входами первого и второго элементов И и третьим входом третьего элемента И, тринадцатый управляющий выход блока микропрограммного управления соединен с шестым управляющим входом второго коммутатора, четырнадцатый управляющий выход блока микропрограммного управления соединен с входом управления параллельной записью регистра числа, а пятнадцатый — с входом управления сдвигом регистра числа и первого регистра промежуточных результатов, шестнадцатый и семнадцатый управляющие

10 выходы блока микропрограммного управления соединены с первым и вторым соответственно управляющими входами первого коммутатора, восем-: надцатый управляющий выход блока

15 микропрограммного управления соединен с третьим управляющим входом третьего коммутатора, девятнадцатый управляющий выход блока микропрограммного управления соединен с седь20 мым управляющим входом второго коммутатора, двадцатый управляющий выход блока микропрограммного управления соединен с первым входом базового адреса блока памяти, двадцать первый и двадцать второй управляющие выходы блока микропрограммного управления соединены с первым и вто» рым. соответственно управляющими входами четвертого коммутатора, 30 двадцать третий управляющий выход блока микропрограммного управления соединен с вторым входом базового адреса блока памяти, выход переноса регистра числа соеди35 нен с входом переноса первого регистра промежуточных результатов.

i 215117

17 ЗФ 35

Фиа,7

1215) 17

Ý2

Уй

И

УИ

И

ly10

УУ

У17

Уи

И

И

Ю

ЮЯ

УИ

И

ИУ

5(f1

Ю

У7

ИХ

УИ

Ю

Ф7

Рис. Ю

КОЛ-- ка6 ОпЕрацио

A - адрес на ала пс8лро рцкиы

Рие. 3

Составитель А.Чеканов

Редактор А.Лежнина Техред С.Мигунова Корректор Т.Колб

Заказ 908/57 Тираж 673 Подписное

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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