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

Иллюстрации

Показать все

Реферат

 

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

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

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

РЕСПУБЛИК (si)s G 06 F 7/548

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

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

ПРИ ГКНТ СССР

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

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (21) 4820469/24 (22) 26.04.90 (46) 07.05.92, Бюл, N. 17 (71) Московский лесотехнический институт (72) А.Д.Марковский, Г.Г.Меликов, Е,С,Лункин, В.В.Полянский и А,В.Боровицкий (53) 681.325(088,8) (56) Авторское свидетельство СССР

N. 1332313, кл. G 06 F 7/548, 1987.

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

М 1608651, кл. G 06 F 7/548, 1989. (54)УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ

ФУНКЦИЙ х=cos rp И y=sin р (57) Устройство относится к вычислительной технике и может быть использовано в уни-.

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

= sin рдля аргументов, представленных в прямом коде в форме с фиксированной запятой.

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

Недостатком этого устройства является низкое быстродействие.

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

=sin p, содержащее два мультиплексора, пять регистров, два сумматора, блок постоянной памяти, инвертор, элементы И, элементы ИЛИ, элемент НЕ и элемент ИЛИ-НЕ.. Ж„» 1732342 А1 версальных и специализированных вычислительных системах для аппаратной реализации функций х = cosy и у = sing, вычисляемых для положительного аргумента р, представленного в прямом коде е форме с фиксированной запятой. Цель изобретения — повышение быстродействия устройства. Поставленная цель достигается тем, что в устройство, содержащее два мультиплексора, пять регистров, два сумматора. блок памяти задания начальных условий, введены блок управления, три сдвигателя и три мультиплексора, 2 ил.

Недостатком известного устройства является низкое быстродействие, Цель изобретения — повышение быстродействия устройства.

В устройство для вычисления функций х= cos p и у = sin p, содержащее блок памяти задания начальных условий, два мультиплексора, пять регистров и два сумматора, причем выходы первого и второго сумматоров соединены с первыми информационными входами соответственно первого и второго мультиплексоров, вторые информационные входы которых соединены соответственно с первым и вторым выходами блока памяти, выходы первого и второго мультиплексоров соединены с информационными входами соответственно первого и второго регистров, выходы которых подключены к входам первого и второго слагаемых соответственно первого и второго сумматоров и выходом соответственно косинуса и синуса устройства, вход старших разрядов аргумента которого соединен с адресным

1732342 входом блока памяти, выходы вторых слагаемых первого и второго сумматоров соединены соответственно с выходом третьего регистра и инверсным выходом четвертого регистра, дополнительно введены с третьего по пятый мультиплексоры, блок управления и с первого по третий сдвигатели, выходы которых соединены с первыми информационными входами соответственно с третьего по пятый мультиплексоров, вторые информационные входы которых соединены соответственно с входом младших разрядов устройства, первым и вторым входами блока памяти, выходы с третьего по пятый мультиплексоров соединены с информационными входами соответственно с третьего по пятый регистров, выходы которых соединены с информационными входами соответственно с первого по третий сдвигателей, причем блок управления содержит элемент ИЛИ, элемент ИЛИ-НЕ и К элементов И (где К вЂ” количество младших разрядов аргумента), первый вход элемента

ИЛИ соединен с выходом первого элемента

И, инверсный вход которого соединен с выходом элемента ИЛИ-НЕ, входы которого соединены с выходами соответствующих разрядов пятого регистра, с первого по k-й инверсные входы (k+1)-го элемента И, (k =

=1,2„„,К-1) соединены с выходами с первого по k-й разрядов пятого регистра, (k+1)-й вход (k+1)-го элемента И соединен с выходом (k+1)-ro разряда пятого регистра, вторые входы элемента ИЛИ и первые элементы И соединены с входами соответственно запуска и тактовых импульсов устройства, выход конца преобразования которого соединен с выходом элемента

ИЛИ-НЕ и управляющими входами всех мультиплексоров, выходы элементов И со второго по k-й соединены с входами соответствующих разрядов всех сдвигателей, выход элемента ИЛИ соединен с входами записи всех регистров, Все элементы предлагаемого устройства могут быть выполнены на серийно выпускаемых микросхемах.

В основе работы устройства лежит следующий алгоритм вычисления функций х =

= cos rp и у = sin p. Значение положительного аргумента р, определяемого двоичным кодом a «a z ... а,, где а, — разряд целой части, а1а2 „, а, — разряды дробной части аргумента, представляются в виде

+=$1+/2 =а,at a2... Clq+00... Оа +1а +2...а,. где q n/2; q е(п/2„„,n); 0 p — 2 .

По значению величины р1 определяются начальные п-разрядные приближения вычисляемых функций хо=сов р1 и уо = sin р1. Последующие вычисления производятся с использованием рекуррентных соотношений;

r а, = а»-1 — d,-1;

b = b»-1+ с,1 к е(1,2.. t } с»= с»-t 2"; (1)

10 d» = б»-1 2

i, =(l,1 - 21") г ", где к — номер выполняемой итерации;

t б (1,2,.„,n-q) — количество итераций, необходимое для получения результата, Значение)» при выполнении к-й итерации выбирается равным номеру старшего единичного числового разряда кода I»-1 согласно выражению

j» = min(j E, (К/I»-1(j)=1). (2)

20 йэчальные значения переменных определяются соотношениями ао=хо,bo=yo, со=хо 2, do=yo 2-ч, lo=(rpz+2 " ) 2ч. (3)

Вычисления продолжаются до тех пор, 25 пока в результате Реализации очередной t-й итерации будет выполнено условие

tl-q

Ч ltt(i) =О. (4) Полученные в результате вычислений значений at u bt являются искомыми значениями функций х = cos p и у = sin p соответственно с абсолютной погрешностью, не превышающей 2 ".

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

Устройство содержит мультиплексоры

1 — 5, регистры 6 — 10, сдвигатели 11 — 13, сум40 маторы 14 — 15, блок 16 управления и блок 17 постоянной памяти, а также имеет вход 18 младших разрядов аргумента, вход 19 запуска, тактовый вход 20 и вход 21 старших разрядов аргумента, выход 22 признака конца операции, выход косинуса 23 и синуса

24.

Блок управления содержит элемент

ИЛИ 25, n-q элементов И 26, элемент ИЛИНЕ 27, а также имеет первый 19, второй 20 и третий 28 входы, первый 29, второй 22 и третий 30 выходы, Устройство работает следующим образом.

В исходном состоянии на вход 18 устройства и далее на второй информационный вход мультиплексора 1 поступает код младших разрядов аргумента p z, дополненный единицей в (n-q+1)-м разряде. На вход 21 устройства и далее на вход блока 17 посто1732342

15

35

45

55 янной памяти поступает код старших разрядов аргумента p g . На вход 20 устройства непрерывно поступают тактовые импульсы (ТИ). Все разряды кода, хранящегося в регистре 6, имеют нулевое значение, вследствие чего признак КОНЕЦ ОПЕРАЦИИ, поступающий с второго выхода блока 16 управления на управляющие входы мультиплексоров 1—

5 и выход 22 устройства, имеет единичное значение. По значению кода у из блока 17 постоянной памяти считываются (v+1)-разрядные (ч > п) значения хо и уо.

Значение хо с первого выхода блока 17 постоянной памяти поступает на вторые информационные входы мультиплексора 4, со смещением на q разрядов в сторону младших разрядов мультиплексора 2, значение уо второго выхода блока 17 постоянной памяти поступает на вторые информационные входы мультиплексора 5 и со смещением на

q разрядов в сторону младших разрядов мул ьтиплексора 3.

Изменение формата операндов проводится с целью обеспечения допустимой погрешности вычислений, возникающей за счет усечения чисел, сдвигаемых при вычислениях за пределы разрядной сетки. Кроме того, использование дополнительных разрядов позволяет реализовать перевод отрицательного числа в дополнительный код путем инвертирования числовых разрядов числа без подсуммирования единицы в младший разряд сформированного кода, На второй вход мультиплексора 1 поступает код pz, имеющий (n-q)-разряднй формат, Единичный уровень признака КОНЕЦ ОПЕРАЦИИ на управляющих входах мультиплексора 1 — 5 обеспечивает прохождение информации с вторых информационных входов мультиплексоров 1 — 5 на их выходы и далее на информационные входы регистров 6-10 соответствен но.

Для начала вычислений синхронно с одним из ТИ на вход 19 устройства поступает сигнал ПУСК. По сигналу ПУСК на первом выходе блока 16 управления формируется сигнал ЗАНЕСЕНИЕ, который поступает на управляющие входы регистров 6-10, обеспечивая занесение в эти регистры информации, присутствующей на их информационных входах, С выхода регистра 6 код Io*, содержащий старшие (п-q) разряды кода lo, поступает на третий вход блока 16 управления. Если все разряды кода lo* равны нулю, признак

КОНЕЦ ОПЕРАЦИИ сохраняет единичное значение и вычислений не производится.

На выходы 23 и 24 устройства в качестве значений результатов вычислений х и у поступают с выходов регистров 6 и 7 значения ао и Ьо соответственно.

При наличии хотя бы одной единицы в коде Io* признак КОНЕЦ ОПЕРАЦИИ, формируемый на втором выходе блока 16 управления, принимает нулевое значение и в устройстве выполняется итерационный процесс вычислений в соответствии с выражениями (1).

Очередная к-я итерация»c (1,2„...с) реализуется в устройстве следующим образом, На третьем выходе блока 16 управления формируется (и-q)-разрядный унитарный код !», содержащий единичное значение в j»-м разряде, определяемом согласно выражению (2), и нулевые значения в остальных разрядах, который поступает на вторые входы сдвигателей 11 — 13. Сдвигатель 11 реализует сдвиг влево, а сдвигатели

12 и 13 — сдвиг вправо кодов, поступающих на их первые входы, на j» разрядов, B результате на выходах сдвигателей 11 — 13 согласно (1) формируются значения I», с» и б» соответственно.

На вторые входы сумматоров 14 и 15 поступают коды с выхода регистра 8 и инверсного выхода регистра 7 соответственно, В результате на выходе сумматоров 14 и

15 формируются согласно (1) значения а, и

b» соответственно. Нулевое значение признака КОНЕЦ ОПЕРАЦИИ обеспечивает передачу на выходы мультиплексоров 1 — 5 и далее на входы регистров 6 — 10 информации, поступающей на первые входы мультиплексора 1-5, С приходом очередного ТИ на вход 20 устройства на первом выходе блока

16 управления формируется сигнал ЗАНЕСЕНИЕ, обеспечивающий занесение информации в регистры 6 — 11. На этом выполнение к-й итерации заканчивается, Итерационный процесс вычислений продолжается до тех пор, пока в результате выполнения т-й итерации все (n-q) разряды кода It*ñòàíóò равными нулю, В этом случае признак КОНЕЦ ОПЕРАЦИИ, формируемый на втором выходе блока 16 управления, принимает единичное значение, которое поступает на выход 22 признака конца операции устройства, Блок 16 управления прекращает формирование сигналов ЗАНЕСЕНИЕ на своем первом выходе.

По окончании вычислений на выходах

23 и 24 устройства присутствуют значения

cos р и sin p соответственно.

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

На первый 19, второй 20 и третий 27 входы блока поступают соответственно сигналы ПУСК, ТИ и (и-о)-разрядный код величины lp-<*. С второго по (n-q)-й элементы И

1732342

26 формируют унитарный код (n-q)-разрядный к, имеющий единичное значение в разряде, номер которого равен номеру старшего единичного разряда кода, а нулевые значения — в остальных разрядах. Сформированный код поступает на третий выход

30 блока, При равенстве нулю всех разрядов кода

I - * на третьем входе 28 блока и на выходе элемента ИЛИ-НЕ 27 формируется единичный уровень признака КОНЕЦ ОПЕРАЦИИ, который поступает на второй выход 22 блока, а также на инверсный вход первого элемента И 26, запрещая прохождение ТИ с второго входа 20 блока на выход первого элемента И 26 и далее на выход элемента ИЛИ

25 и выход 29 блока в качестве сигнала 3АНЕСЕНИЕ. При поступлении ТИ на второй вход 20 блока и нулевом значении признака

КОНЕЦ ОПЕРАЦИИ на выходе второго элемента ИЛИ 25, являющемся одновременно первым выходом 29 блока, формируются сигналы ЗАНЕСЕНИЕ, Среднее время выполнения операции в и редл агаемом устройстве соответствует (и-р)/2 тактам работы устройства, в то время как в известном устройстве среднее время выполнения операции соответствует (и-о) тактам работы устройства, Таким образом, положительный эффект изобретения заключается в увеличении быстродействия, Формула изобретения

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

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

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

ИЛИ-НЕ и К элементов И, где К вЂ” количество младших разрядов аргумента, первый вход элемента ИЛИ соединен с выходом первого элемента И, инверсный вход которого соединен с выходом элемента ИЛИ-НЕ, входы которого соединены с выходами соответствующих разрядов пятого регистра, с первого по к-й инверсные входы (к+1)-го элемента

И, к = 1,2,...,К-1, соединены с выходами с первого по к-й разрядов пятого регистра, (к+1)-й вход (к+1)-го элемента И соединен с выходом (к+1)-ro разряда пятого регистра, вторые входы элемента ИЛИ и первого элемента И соединены с входами соответственно запуска и тактовых импульссв устройства, выход конца преобразования которого соединен с выходом элемента

ИЛИ-НЕ и управляющими входами всех мультиплексоров, выходы элементов И с второго по к-й соединены с входами соответствующих разрядов всех сдвигателей, выход элемента ИЛИ соединен с входами записи всех регистров.

1732342 бЬг 7

2Zzq

Фиг. 2

Редактор И.Дербак

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

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

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

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

Л2

Составитель А.Марковский

Техред М,Моргентал Корректор А,Осауленко