Устройство для вычисления квадратного корня

 

Союз Советских

Социалистических

Республик

ОП ИСАНИЕ

ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

< >883897 (61) Дополнительное к авт. саид-ву (22) За" влекo 1О.! О. 79 (21) 2843418/18-24 с прнсоеяинениеи заявки М (23) Приоритет (SI)M. Кл.

G 06 F 7/552

Государственный комитет

Опубликовано 23. 11. 81. Бюллетень,% 43

Дата опубликования описания23. 1 1. 8 1

Ao AeAaH изобретений н открытий (53) УДК 681.325 (088. 8) (72) Авторы изобретения

И.Г .Грибков, Н.В.Илюшечкин и Т.Л.Степукова, -у . М.вой и (7I) Заявитель (54) УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ

КВАДРАТНОГО КОРНЯ

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

Известно устройство для вычисления квадратного корня, содержащее постоянное запоминающее устройство, сумматор-вычитатель, умножитель и ряд регистров (13.

Это устройство реализует метод таблично-интерполяционного вычисления квадратного корня и требует для своего воплощения большого объема оборудования и большого времени сче15 та.

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

20 квадратного корня, содержащее регист- ры данных, сумматоры-вычитатели, сдвигатели, датчик кода операций и регистр кода 2

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

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

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

НЕ и первым входом элемента ИЛИ, выход которого подключен ко входу элемента HE причем выходы триггера и первого элементов НЕ, а также выходы элемента ИЛИ и второго элемента НЕ являются соэтветственио первым и вторым выходами датчика кода операций и подключен к третьим входам соответственно первого и второго сумматоров-вычитателей, выход последнего из которых является выходом. устройства, введены второй регистр кода, регистр сдвига и дешифратор, вход которого соединен .с выходом первого регистра данных, а выход дешифратора — с первым входом регистра сдвига, выход которого подключен к первому входу второго регистра кода, выход которого соединен со вторым входом первого сдви" гателя, выход результата второго сумматора-вычитателя соединен со вторым инверсным входом второго регистра данных, первый и второй входы записи первого регистра данных соединены соответственно с первым и вторым выходами блока управления, вход управления сдвигом и записью второго регистра кода подключены соответственно к третьему и четвертому выходам блока управления, вход записи числа сдвигов второго и первого регистров кода соединены соответственно с пятым и шестым выходами блока управления, входы признака сдвига второго и первого регистров . кода подключены соответственно к седьмому и восьмому выходам блока управления, вход записи порядка и вход сдвига порядка регистра сдвига соединены соответственно с девятым и десятым выходом блока управления, вход признака операции и вход записи знака датчика кода операции соединены с оддинадцатым и двенадцатым выходами блока управления соответственно, вход записи нуля и входы управления записью инверсного и прямого кода результата второго регистра данных соединены соответственно с тринадцатым, четырнадцатым и пятнадцатым выходами блока управления, шестнадцатый выход которого подключен к входу управления записью второго регистра кода.

883897

Кроме того, блок управления содержит счетчик номера микрокоманды, блок памяти микрокоманд, регистр микрокоманд, группу элементов И, счетчик числа сдвигов, элемент И-НЕ, выход которого подключен к входам записи регистра микрокоманд и счетчи ка номера микрОкоманды, выход которо- . го подключен к входу блока памяти

10 микрокоманд, выходы которого соединены с разрядными входами регистра микрокоманд, выходы которого подключены к первым входам соответствующих элементов И группы, вторые входы которых и первый вход элемента И-НЕ соединен с входом тактовой частоты устройства, второй вход элемента И-НЕ и первый вход последнего элемента И группы подключены к сигналу "Результат" устройства, вход "Пуск" устройства соединен с входами обнуления счетчика номера микрокоманды, регистра микрокоманды и счетчика числа сдвигов,вы25 ходы двенадцатого, одинадцатого, десятого, девятого элементов И и выходы счетчика числа сдвигов являются соответственно выходами с первого по шестой блока управления, выход тринадцатого разряда и вход обнуления регистра микрокоманды,выходы шестого, восьмого, седьмого элементов И группы, выход первого разряда регистра микрокоманды, выходы пятого, четвертого, 35 третьего и второго элементов И группы являются соответственно с седьмого по шестнадцатый выходами блока управления, выход нулевого и шестого разрядов регистра микрокоманд соединены

40 соответственно с первым и вторым счетными входами счетчика числа сдвигов.

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

45 функциональная схема блока управления; на фиг.З вЂ” основной фрагмент дешифратора, осуществляющего определение четного числа нулей после запятой до первой значащей цифры аргумента;

5О на фиг.4 - датчик кода операций для сумматоров-вычитателей.

Блок-схема устройства содержит первый 1 и второй 2 регистры данных, первый 3 и второй 4 сдвигатели, пер55 вый 5 и второй 6 регистры кода, регистр 7.сдвига, дешифратор 8, первый

9 и второй 10 сумматоры-вычитатели, датчик 11 кода операций, выходы 12-27

883897 х„=z+a у„ (л) - S(1)

1 Х.

1+1 1 1 11 х =х !

,р =

5 блока 28 управления (фиг.2), содержащего счетчик 29 номера микрокоманды, блок 30 памяти микрокоманд, регистр 31, микрокоманд, группу 32 эле ментов И, счетчик 33 числа сдвигов

t элемент 34 И-НЕ.

Датчик кода операций (фиг.4) содержит триггер 35, элементы 36 НЕ, элемент 37 ИЛИ.

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

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

2 сг <1

Эту операцию можно назвать нормировкой.

2, Вычисляются начальные условия алгоритма 3. Выполняются волдеровские повороты

Д6 =1K,..., Q P-5,$. = S grl Y ((!+3)(1), п и =1,Х ... 2р-

$ i-р+, rlPM 1= 2p- ", kip-З.

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

К+р-< +р- 2

=X

-(1 +1) р-1 к+р-, k+p- 2

X =X -T 2 ™)Y у+р Ьр-3 >k p-2 k4p-< (Ь)

" р-1, 4 f1 +р-Q " "4aP-.1

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

5. Затем z приводится к первоначальному масштабу, т.е. приводится денормализаия, Работа блока управления 28 эаклюу чатеся в последовательном переборе ячеек 0 †: Ю -1 блока 30 памяти микрокоманд (где Й вЂ” число всех тактов работы устройства), хранящих

15 разрядные двоичные слова, обес Ф печивающие управление вычислением.

Эти операции обеспечивают счетчик номера микрокоманд, который по приходу +1 перебирает значения

0 †: и -1, и регистр микрокоманд, ко15 торый воспринимает и хранит один такт и одну микрокоманду.

Начало работы блока управления определяется сигналом "Пуск", по которому происходит обнуление счет20 чика номера микрокоманды, регистра микрокоманды, счетчика числа сдвигов в сдвигателях 3 и 4, а также регистра 2. Группа элементов И формирует импульсные сигналы записи,сдвиИ га, +1, Iр, 13р, 14р регистра микрокоманды — потенциальные уровни, обеспечивающие соответствующие признаки

II1, ПЗ и уровень с 14р конца операции.

Если в 14р попадает один иэ блока

30 30 памяти микрокоманд, то низкий уровень перекрывает поступление так— товой последовательности и вырабатывает сигнал "Результат" 111, П2 признаки сдвига ("1" — арифметический, 1I 1l

0 — логический ), ПЗ-при знак, обеси ечивающий оди наковые, ли бо противоположенные операции в сумматорах-вычитателях 9 и 1 0 .

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

Число z ) 0 поступает н а вход устройства и на первой подготовительной итерации подается на дешифратор

8, который вырабатывает двоичный код, равный числу нулей после запятой до первой единицы, округленному в меньшую сторону до четного числа. Дешиф- ратор, который для восьмиразрядного инвертированного числа вырабатывает код, равный числу нулей до первой единицы (четное число) . Для примера, на фиг.3 показана дешифрация кода (а. а а а а а а я ) = (0000100 l) >,для которого число нулей равно четйре

А«<ТК> (в 3в в во)* = (0100)4

Выработанный в дешифраторе 8 код записывается в регистр 7 сдвига, где хранится в течение всего процесса вычисления, а также записывается в

883897 регистр 6 кода и используется на второй подготовительной итерации для сдвига влево исходного числа z.

Для осуществления сдвига влево на сдвигателе 3, который работает только на сдвиг вправо, выход 12 устройства скоммутирован с регистром данных по принципу:первый разряд чис-ла z — последний разряд регистра 1, второй разряд числа z — предпоследний разряд регистра I,и т. п. Такое включение позволяет заменить сдвиг числа влево на сдвиг числа вправо на то же число разрядов.

После осуществления сдвига числа

z на сдвигателе 3, результат через сумматор-вычитатель 10 записывается во второй регистр данных 2 по входу, соединенному аналогично входу регистра 1 данньж.

Z0

Это позволяет во втором регистре

2, после очередного поворота на его входе, иметь во втором регистре 2 число 2 в нормальном порядке записи

-2 и удовлетворяющее условиям 2 (г (1.

Третья подготовительная итерация начинается записью в первый регистр данных 1 числа и заканчивается образованием на выходе первого сумматора-вычитателя 9 суммы х = z + а, 1 а на выходе второго сумматора-вычитателя 10 разности у = z-а . При выполнении этих операций в начале итерации вместе о записью в первый регистр производится запись нуля в регистре кода 6 5 и установка соответствующих кодов на сумматоры-вычитатели через датчик 11 кода операций.

Далее выполняются волдеровские по— вороты, при этом датчик 11 работает автоматические по входу от регистра 40

2, сдвигатели работают по кодам, которые записываются в регистры 5 и 6 кода по кодовым входам для каждой итерации.

Линейная аппроксимация выполняет- 45 ся за две дополнительные итерации, при этом знак +Р остается без изменения. На первой дополнительной итерации он записывается в триггер

-датчика 11 кода операций, а на второй дополнительной итерации в триггере 35 информация не меняется. Результат аппроксимации с выхода первого сумматора-вычитателя 9 записывается s первый регистр 1 конце второй дополнительной итерации.

Процесс вычисления заканчивается денормировкой результата, для этого организуется сдвиг вправо кода числа (в в в„в ) 1, после чего код (O в в в„)„ подается на регистр б кода и осуществляется сдвиг влево числа, находящегося в первом регистре! данных, и через второй сумматор-вычитатель 10 по выходу устройства выдается результат RZ

Таким образом предлагаемое устройство осуществляет вычисление за меньшее число итераций;

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

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

НЕ и первым входом элемента ИЛИ, выход которого подключен ко входу вто- рого элемента НЕ, .причем выходы триггера и первого элемента НЕ, а также выходы элемента ИЛИ и второго элемента НЕ являются соответственно первым и вторым выходами датчика кода операций и подключен к третьим входам соответственно первого и второго сумматоров-вычитателей, выход последнего из которых является выходом устройства, о т л и ч а ю щ е е с я тем, что, с целью повышения быстродействия, в него введены второй регистр кода, .регистр сдвига и дешифратор, вход которого соединен с выходом первого регистра данных, а вы— ход дешифратора — с первым входом регистра сдвига, выход которого подключен к первому входу второго регистра кода, выход которого соединен со вторым входом первого сдвигателя, 88389 7 выход результата второго сумматоравычитателя соединен со вторым инверсным входом второго регистра данных, первый и второй входы записи Первого регистра данных соединены соответ5 ственно с первым и вторым входами блока управлевления, вход управле-ния сдвигом и записью второго регистра кода подключены соответственно к третьему и четвертому выходам блока управления, вход записи числа сдвигов второго и первого регистров кода соеI динены соответственно с пятым и шестым выходами блока управления, входы признака сдвига второго и первого регистров кода подключены соответственно к седьмому и восьмому выходам блока управления, вход записи порядка и вход сдвига порядка регистра сдвига соединены соответственно с девятым и десятым выходом блока управления, вход признака операции и вход записи знака датчика кода операции соединень. с одиннадцатым и двенадцатым выходами блока управления, 25 соответственно, вход записи нуля и входы управления инверсного и прямого кода результата второго регистра данных соединены соответственно с тринадцатым, четырнадцатым и

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

2. Устройство по и.1, о т л и ч а— ю щ е е с я тем, что блок управления 35 содержит счетчик номера микрокоманды, блок памяти микрокоманд, регистр микрокоманд, группу элементов И, счетчик числа сдвигов, элемент И вЂ” НЕ, выход которого подключен к входам за- 40 писи регистра микрокоманд. и счетчика номера микрокоманды, выход которого покдлючен к входу блока памяти микрокоманд, выходы которого соединены с разрядными входами регистра микрокоманд, выходы которого подключены к первым входам соответствующих элементов И группы, вторые входы которых и первый вход элемента И-Не соединен с выходом тактовой частоты устройства, второй вход элемента И-НЕ и первый вход последнего элемента И группы подключен к сигналу "Результат" устройства, вход "Пуск" устройства соединен с входами обнуления . счетчика микрокоманды, регистра микрокоманды и счетчика числа сдвигов, выходы двенадцатого, одиннадцатого, десятого, девятого элементов И и выходы счетчика числа сдвигоц является соответственно выходами с первого по шестой блока управления, выход тринадцатого разряда и вход обнуления регистра микрокоманды, выходы шестого, восьмого, седьмого элементов И группы, выход первого разряда регистра микрокоманды, выходы пятого, четвертого, третьего и второго элементов И группы являются соответственно с седьмого по шестнадцатый выходами блока управления, выход нулевого и шестого разрядов регистра микрокоманд соединены соответственно с первым и вторым счетными входами счетчика числа сдвигов.

Источники информации, принятые во внимание при экспертизе

1. Байков В.Д. Смолов В.Б. Àïïàратная реализация элементарных функций в ЦВИ. ЛГУ, с. 77, рис.25.

2. Там же, стр.71, рис.21, 34 (прототип).

883897

К Глохну 9

К Юлоку10

So

ВНИИПИ Заказ I0232/73

Тираж 748 Подписное

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

Устройство для вычисления квадратного корня Устройство для вычисления квадратного корня Устройство для вычисления квадратного корня Устройство для вычисления квадратного корня Устройство для вычисления квадратного корня Устройство для вычисления квадратного корня Устройство для вычисления квадратного корня Устройство для вычисления квадратного корня 

 

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

Квадратор // 881739

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

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

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

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