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

Иллюстрации

Показать все

Реферат

 

Изобретение относится к вычислительной технике, в частности к способам и устройствам обработки математических функций. Цель изобретения - повышение быстродействия. Поставленная цель достигается тем, что устройство содержит блок 1 управления, блок 2 распределения данных, блок 3 выделения простых операндов, блок 4 распределения простых операндов, K блоков 5 вычисления, где K - уровень сложного оператора, и (K - 1) элемент И 6. 2 ил.

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

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

РЕСПУБЛИК

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

ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ

ПРИ ГКНТ СССР ЯГ i Щ,,(Д <

ОПИСАНИЕ ИЗОБРЕТЕНИЯ, К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

mapm аегульлат (21) 4628163/24 (22) 11.01.89 (46) 23.07.91. Бюл. Nã 27 (71) Институт космических исследований АН

СССР (72) И.В.Петров, В.А,Тарасов, M.È. Teëьпиз и

В.И.Шевченко (53) 681,325 (088.8) (56) Паоаллельная обработка информации..

Т.4: Высокопроизводительные системы параллельной обработки информации. — Киев:

Наукова думка, 1988, с. 17.

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

М 840883, кл. G 06 F 7/00, 1979.

„„SU „„1665382 А1 (я)5 G 06 F 15/16, 15/31. 7/00 (54) УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ МАТЕМАТИЧЕСКИХ ФУНКЦИЙ

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

4 распределения простых операндов, k блоков 5 вычисления, где k — уровень сложного оператора и (k — 1) элементов И 6, 2 ил.

1665382

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

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

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

Устройство содержит блок 1 управления, блок 2 распределения данных, блок 3

, выделения простых операндов. блок 4 распределения простых операндов, k блоков 5, вычисления, где k — уровень сложного оператора, и (k — 1) элементов И 6. Каждый из блоков 5 вычисления содержит первый регистр 7, узел 8, вычисления суммы единиц, второй регистр 9, коммутатор 10 и узел 11 синхронизации.

В устройстве осуществляется позиционные эквивалентные преобразования входных сигналов и вычисляются значения, позиционных операторов от этих входных сигналов для любой функции алгебры логики (ФАЛ). Позиционные эквивалентные преобразования производятся путем перестановки входных сигналов согласно формуле

У = Q(X). где Х вЂ” вектор входных сигналов; . У вЂ” вектор входных сигналов, переставленных согласно q;

q — позиционное эквивалентное преоб разование.

Позиционный оператор определяют на основании зависимости

Si = S(Y), и где 1 = Yi — сумма единиц набора У;

S = (So, $ь ..., So) — набор, задающий позиционный оператор, причем длина набора S на единицу больше длины набора Х.

Позиционный оператор представляют следующим образом;, где К вЂ” размерk ность набора, к которому применяется оператор п

j =, ), 2 31, l=o

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

S Sfm ф2 ф1 Sfo который также примем к входному набору, . но его свойство заключается в том, что Sf применяется к первым К координатам набора У, для Sf 1первой координатой будет

Уо результат применения S1, а следующиЕ К1 КООрдИНатЫ вЂ” ЭтО УК<И-1,..., УК,, 5

20

10

Для формального определения и-арной позиционной операции будем рассматривать двоичный набор длины и, обозначаемой Х, т,е. Х = (Х1, Хг, ..., Хд). Позиционную операцию на этом наборе определим следующим образом: и-арная позиционная операция задается двоичным набором длины и+1, т.е. S=(So, ..., S<).Каждый элемент набора S соответствует определенной позиции в наборе Х таким. образом, что элемент So предшествует Х1, элемент Si находится между Х1 и Х1+1, а элемент So следует за элементом Хл. Наличие операции в f-й позиции означает, что Si-1, а отсутствие — S> = О.

Определенная и-арная позиционная операция задает действия над аргументами, Чтобы выделить само действие, вводится понятие простого позиционного оператора.

Набор из операций называется простым позиционным оператором. Число символов этого оператора должно быть на единицу больше числа символов в наборе, к которому применяется этот оператор. Действие оператора S на набор определяется следующим образом: если в операторе S в позиции i (I 5 О... и) находится единица, то результат применения оператора S к набору

Х будет равен единице в том, и только в том случае, когда набор Х содержит i единиц.

Для записи простых позиционных операторов будем использовать следующее обозначение:

5к где К вЂ” разномерность набора Х, к которому применяется оператор и.

2 S1 .

1 = о

С помощью простых операторов мы можем представлять только симметричные

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

S фп Sj<1 Sfo который также применим к набору Х, но его свойство заключается в том, что Sf применяется к первым К координатам набора Х, для Хф первой координатой будет У вЂ” результат применения Sf, а следующие К1 координаты — это Хко + 1 Хко + 2... Хко + к1

Аналогичным образом для Sf/ первой координатой будет У1 — результат применения

$ 11 S)oo, а следующие Кг координаты — это

Хк, + к+1, Хк, Хк, + к1+г,, .. Хк, + к1+ кг итак далее. Размерность набора Х связана со сложным оператором следующим образом:

1665382 и = Ко+К1+К2+...+K.

С помощью сложного позиционного оператора можно представить хотя бы одну

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

Каждое конкретное преобразование задается кодом этого преобразования. С помощью позиционного. оператора и преобразования мы можем представить любую ФАЛ следующим образом:

f(x) = S(q(x)) = z, zg. (0,1), где S — позиционный оператор;

q — преобразование из полной сметы эквивалентных преобразователей.

Если мы используем один и тот же алфавит для представления операторов и данных, то мы можем выполнять, не только операторы и преобразования над данными, но и операторы и преобразования над операторами и преобразованиями. Например, вычислим значения формулы (X% Xz)

V(X> Х ) с помощью операторного подхода.

В операторном подходе переводим в операторный вид формулу (XN Xg) V (X)

Xz) — это будет (0(010)1(001)1), и выполняем оператор 011 над операторами 010 и 001— это будет

010 011 = 011

001

Вычисляя результирующий оператор, мы используем правило, данное в его определении, т.е, находим сумму нулевых разрядов операторов 010 и 001, она равна О, на нулевой позиции в операторе 011 находится нуль, значит, в результирующем операторе на нулевой позиции будет нуль, Далее находим сумму первых разрядов, она равна единице и в операторе 011 на первой позиции стоит единица, значит, на первой позиции результирующего оператора бедет единица. Третий разряд результирующего опера тора вычисляется аналогично второму;

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

На информационный вход блока 2 рас-. пределения данных подается входной набор данных, на его второй управляющий вход подается число аргументов простого оператора иэ блока 3 выделения простых

15 операторов, а на первый управляющий вход подается номер оператора из блока 1 управления. На информационный вход блока 3 выделения простых операторов поступает сложный позиционный оператор, с выхода

20 простого позиционного оператора блока 3 на второй информационный вход блока 4 распределения продрых.оrlepsтоpов поступает простой позицИа1 Нрй оператор, а с выхода числа аргументов простого опера25 тора — число используемых аргументов в данном простом операторе, которое поступает в блок 2 распределения данных.

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

30 в блоке 1 управления, который выдает серию из четырех импульсов r> lz, тз, r4 а также единый синхросигнал т частотой fn.

Одновременно с подачей стартового импульса в блок 1 управления в блоки 2 и 3 .

35 подаются соответствующие входные сигналы, которые стробируются тактовым импульсом. то . Одновременно с тактовым импульсом блок 1 управления выдает номер оператора (в момент запуска равно нулю) в блоки 2 и 4. Через время, равное 2 тЪ, на блок 3 выделения простых операторов подается следующий тактовый импульс, по которому в блок 2 распределения данных подается число аргументов К, а в блок 4—

45 простой позиционный оператор ), который выделен из сложного оператора в блоке 3 выделения простых операторов на предыдущем такте. Блок 2 распределения данных передает К элементов входного набора Х на выход с номером i (в момент пуска нуля), а блок 4 распределения операторов передает простой оператор на выход с тем же самым номером, В момент времени 3 го блок 1 управления, выдает импульс т1, который

55 запускает первый блок 5 вычисления и одновременно по тактовому импульсу 3 ;> происходит передача данных и простого оператора в соответствующий блок 5. По этому же импульсу в блоке 3 выделения простых операторов происходит определение числа аргументов и выделение характеристичес«ого числа следующего простого оператора, которые будут переданы в соответствующие блоки при приходе синхроимпульса 4 т . Одновременно по синхроимпульсу 3 t< в блоки 2 и 4 операторов поступит номер следующего блока 5 вычисления.

Для увеличения помехоустойчивости между блоками 5 вычисления включены элементы И 6, которые позволяют запуск соответствующего блока 5 только в том случае, когда пришел соответствующий синхроим1665382 пульс ti и предыдущий блок 5 выработал результат. Устройство завершает работу, когда последний блок 5 выдает результат.

Блок 5 вычисления работает следующим образом.

По переднему фронту стартового импульса запускается многофазный генератор узла 11 синхронизации, который вырабатывает серию из четырех импульсов длительностью t>, tg, tz, и r4 . Одновременно со стартовым импульсом на входы регистра 9 подается номер сигналов, и редставля ющих собой значения разрядов оператора. Далее на входы записи считывания регистров 7 и 9 подается импульс, по которому происхо дит запись входных сигналов в эти регист ры.

После загрузки входных сигналов в ре гистр 7 íà его выходах появляется набор из нулей и единиц, который поступает на.вхо ды узла 8 вычисления суммы единиц. Далее, происходит выдача числа, содержащего сум, му единиц, входного набора на управляющие входы коммутатора 10. Далее на вход синхройизации коммутатора 10 подается управляющий сигнал, с этого момента выходной сигнал принимает истинное значение. По четвертому импульсу синхронизатора происходит.останов этого синхронизатора.

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

Устройство для выЧисления математи. ческих функций, содержащее блок управле, ния и k блоков вычисления (где k — уровень сложного оператора), причем информаци онный выход а-го блока вычисления (где а=1, ..., k-1) подключен к первому информационному входу (а+1)-го блока вычислений, информационный выход k-ro блока вычислений подключен к выходу результата устройства. о т л и ч а ю щ е е с я тем, что, с целью увеличения быстродействия, оно содержит блок распределения данных, блок

40 выделения простых операторов, блок распределения простых операторов и (k-1) элементов И, причем вход запуска, вход вектора двоичных сигналов и вход сложного позиционного оператора устройства подключены соответственно к входу. запуска блока управления, к информационному входу блока распределения данных и к информационному входу блока выделения простых операндов, с первого по k-й выходы блока управления подключены соответственно к входу запуска первого блока вычисления и к первым входам элементов И с первого no(k-1;-й, выход а-го элемента И подключен к входу запуска (а+1)-ro блока вычисления, выход признака готовности аго блока вычисления подключен к второму входу а-го элемента И, выход признака готовности к-го блока вычисления подключен к входу сброса блока управления, (k+1)-i, выход которого подключен к входам синхро= низации блока распределения данных, блока выделения простых операторов и блока распределения простых операторов, (k+2)-й выход блока управления подключен к первому управляющему входу блока распределения данных и к первому информационному входу блока распределения простых операторов, второй информационный вход которого подключен к выходу простОго позиционного оператора блока выделения простых операторов, выход числа аргументов простого оператора которого подключен к второму управляющему входу блока распределенйя данных, выходы с первого

no k-й которого подключены соответственно к вторым информационным входам блоков вычисления с первого по k-й, выходы с первого по k-й блока распределения простых операторов подключены соответственно к входам кода простых операторов блоков вычислений с первого по k-й.

1665382

Составитель В.Смирнов

Техред М.Моргентал г /,-"

Корректор M.Màêñèìèøèíåö

Редактор С.Пекарь

Производственно-издательский комбинат "Патент", г. Ужгород, ул. Гагарина, 101

Заказ 2393 Тираж 421 Подписное

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

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