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

Иллюстрации

Показать все

Реферат

 

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

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

Республик

ОП ИСАНИЕ

ИЗОБРЕТЕНИЯ

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

< >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