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

Номер патента: 883897

Авторы: Грибков, Илюшечкин, Степукова

ZIP архив

Текст

Союз СоветскихСоциалистическихРеспублик ОП ИСАНИЕИЗОБРЕТЕНИЯК АВТОРСКОМУ СВИДЕТЕЛЬСТВУ п 1883897(51)М. Кл. С 06 Г 7/552 Гооударствеииый комитет Опубликовано 23. 11. 81,. Бюллетень,% 43Дата опубликования описания 23. 1 1. 8 1 во аелам иаобретеиий н открытий. М.вае 9 71) Заявитель 54) УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕ КВАДРАТНОГО КОРНЯболее бли ким по техническоиагаемому изобретенитво для вычисления сущности к предлявляется устрой я, содержащее региторы-вычитатели, ик кода операций тного к нных, сумматели, дат ры истр кода зобретение относится к цифровой вычислительнои технике и может быть использовано для вычисления квадратного корня в системах цифровой обработки информации и цифровых вычислительных машинах.Известно устройство для вычисления квадратного корня, содержащее постоянное запоминающее устройство, сумматор-вычитатель, умножитель и ряд регистров 13.Это устройство реализует метод таблично-интерполяционного вычисления квадратного корня и требует для своего воплощения большого объема оборудования и большого времени счеНедостатком известного устройства является низкое быстродействиеи большой объем оборудования,Цель изобретения - повышение бы-.стродействия устройства.Поставленная цель достигаетсятем, что устройство для вычисленияквадратного корня, содержащее блокуправления, первый и второй регистры данных, соединенные первыми выхо Одами с первыми входами соответственно первого и второго сумматоров-вычитателей и первыми входами соответственно первого и второго сдвигателей, выходы которых соединены со 15вторыми входами соответственно второго и первого сумматоров-вычитателей, выходы которых соединены с первыми входами соответственно второгои первого регистров данных, второй 20вход первого регистра данных является информационным входом устройства, второй вход второго сдвигателя соединен с выходом первого ре гистра кода, датчик кода операций, содержащий триггер, выход которого соединен со входом первого элемента НЕ и первым входом элемента ИЛИ, выход которого подключен ко входу элемента НЕ, причем выходы триггера и первого элементов НЕ, а также выходы элемента ИЛИ и второго элемента НЕ являются соэтветствениопервым и вторым выходами датчика кода операций и подключен к третьим входам соответственно первого и второго сумматоров-вычитателей, выход последнего из которых является выходом. устройства, введены второй регистр кода, регистр сдвига и дешифратор, вход которого соединен с выходом первого регистра данных, а выход дешифратора - с первым входом регистра сдвига, выход которого подключен к первому входу второго регистра кода, выход которого соединен со вторым входом первого сдви" гателя, выход результата второго сумматора-вычитателя соединен со вторым инверсным входом второго регистра данных, первый и второй входы записи первого регистра данных соединены соответственно с первым и вторым выходами блока управления, вход управления сдвигом и записью второго регистра кода подключены соответственно к третьему и четвертому выходам бпока управления, вход записи числа сдвигов второго и первого регистров кода соединены соответственно с пятым и шестым выходами блока управления, входы признака сдвига второго и первого регистров, кода подключены соответственно к г седьмому и восьмому выходам блока управления, вход записи порядка и вход сдвига порядка регистра сдвига соединены соответственно с девятым и десятым выходом блока управления, вход признака операции и вход записи знака датчика кода операции соединены с оддинадцатым и двенадцатым выходами блока управления соответственно, вход записи нуля и входы управления записью инверсного и прямого кода результата второго регистра данных соединены соответственно с тринадцатым, четырнадцатым и пятнадцатым выходами блока управления, шестнадцатый выход которого подключен к входу управления записью второго регистра кода. 8838974Кроме того, блок управления содержит счетчик номера микрокоманды,блок памяти микрокоманд, регистрмикрокоманд, группу элементов И,счетчик числа сдвигов, элемент И-НЕ,выход которого подключен к входамзаписи регистра микрокоманд и счетчи ка номера микрОкоманды, выход которо- .го подключен к входу блока памяти 10 микрокоманд, выходы которого соединены с разрядными входами регистрамикрокоманд, выходы которого подключены к первым входам соответствующихэлементов И группы, вторые входы которых и первый вход элемента И-НЕсоединен с входом тактовой частоты устройства, второй входэлемента И-НЕ и первый входпоследнего элемента И группы подключены к сигналу "Результат" устройства, вход "Пуск" устройства соединен с входами обнуления счетчиканомера.микрокоманды, регистра микрокоманды и счетчика числа сдвигов,выходы двенадцатого, одинадцатого, десятого, девятого элементов И и выходысчетчика числа сдвигов являются соответственно выходами с первого пошестой блока управления, выход тринадцатого разряда и вход обнулениярегистра микрокоманды,выходы шестого,восьмого, седьмого элементов И группы,выход первого разряда регистра микрокоманды, выходы пятого, четвертого, 35третьего и второго элементов И группыявляются соответственно с седьмого пошестнадцатый выходами блока управления, выход нулевого и шестого разрядов регистра микрокоманд соединены 40соответственно с первым и вторымсчетными входами счетчика числасдвигов.На фиг.1 представлена блок-схемапредлагаемого устройства для вычисления квадратного корня; на фиг.2 - 45функциональная схема блока управления; на фиг.З - основной фрагментдешифратора, осуществляющего определение четного числа нулей после запятойдо первой значащей цифры аргумента;50 на фиг.4 - датчик кода операции длясумматоров-вычитателей.Блок-схема устройства содержитпервый 1 и второй 2 регистры данных,первый 3 и второй 4 сдвигатели, пер вый 5 и второй 6 регистры кода, ре"гистр 7.сдвига, дешифратор 8, первый9 и второй 1 О сумматоры-вычитатели,датчик 11 кода операций, выходы 12-27=Х11 р- т Ор Ьриисус ии ипр 5блока 28 управления (фиг 2) содержащего счетчик 29 номера микрокоманды, блок 30 памяти микрокоманд, регистр 31, микрокоманд, группу 32 элементов И, счетчик 33 числа сдвигов1элемент 34 И-НЕ.Датчик кода операций (фиг.4) содержит триггер 35, элементы 36 НЕ,элемент 37 ИЛИ.Устройство работает по следующемуалгоритму,1. Положительное число (аргумент)г путем подсчета четного числа нулейдо первой значащей цифры приводитсяк виду, удовлетворяющему неравенствуХ2 сгЭту операцию можно назвать нормировкой.2, Вычисляются начальные условия алгоритма3. Выполняются волдеровские пово- роты,д 6 1:1 0 р, = Б У 4. Выполняется линейная аппрокси- мация что можно записать и в виде стандартных итераций К+Р+Р=Х Вторая из указанных опербезразлична во второй итераведена для конкретности. 45. Затемг приводится к первоначальному масштабу, т.е, приводится денормализаия,Работа блока управления 28 эаклюЗ чатеся в последовательном перебореячеек 0 в : Ю -1 блока 30 памяти микрокоманд (где Й - число всех тактов работы устройства), хранящих15 разрядные двоичные слова, обесЮ печивающие управление вычислением,Эти операции обеспечивают счетчик номера микрокоманд, который поприходу +1 перебирает значения0 в : 11 -1, и регистр микрокоманд, ко 1 торый воспринимает и хранит один такти одну микрокоманду.Начало работы блока управленияопределяется сигналом "Пуск", покоторому происходит обнуление счет 20 чика номера микрокоманды, регистрамикрокоманды, счетчика числа сдвигов в сдвигателях 3 и 4, а также регистра 2. Группа элементов И формирует импульсные сигналы записи,сдвиИ га, +1, 1 р, 13 р, 14 р регистра микрокоманды - потенциальные уровни, обеспечивающие соответствующие признакиП 1, ПЗ и уровень с 14 р конца операции.Если в 14 р попадает один иэ блока30 30 памяти микрокоманд, то низкийуровень перекрывает поступление тактовой последовательности и вырабатывает сигнал "Результат" П 1, П 2признаки сдвига ("1" - арифметический,11 10 - логический ) , ПЗ-при знак , обеси ечи в ающий оди нак о вые , ли бо противоположенные операции в сумматор ах-вычитателях 9 и 1 0 .Устройство работает сл едующим образом ,Число г ) 0 поступает н а входустройства и на первой подготовительной итерации подается на дешифратор8, который вырабатывает двоичный код,равный числу нулей после запятой допервой единицы, округленному в меньшую сторону до четного числа. Дешиф-ратор, который для восьмиразрядногоинвертированного числа вырабатываеткод, равный числу нулей до первойединицы (четное число) . Для примера,на фиг.З показана дешифрация кода(а ааа,а, а а ао) =(00001001,4 ,длякоторого число нулей равно четйредесятка (в в в, во)В (0100)4Выработанныйв дешифраторе 8 кодзаписывается в регистр 7 сдвига, гдехранится в течение всего процессавычисления, а также записывается врегистр 6 кода и используется на второй подготовительной итерации длясдвига влево исходного числа г. 30 Для осуществления сдвига влевона сдвигателе 3, который работаеттолько на сдвиг вправо, выход 12 устройства скоммутирован с регистромданных по принципу:первый разряд числа г - последний разряд регистра 1,второй разряд числа д - предпоследнийразряд регистра 1,и т. п, Такое включение позволяет заменить сдвиг числавлево на сдвиг числа вправо на тоже число разрядов.После осуществления сдвига числаг на сдвигателе 3, результат чеоезсумматор-вычитатель 10 записываетсяво второй регистр данных 2 по входу,соединенному аналогично входу регистра 1 данньпс,ЗоЭто позволяет во втором регистре2, после очередного поворота на еговходе, иметь во втором регистре 2число 2 в нормальном порядке записии удовлетворяющее условиям 2 ( г ( 1.Третья подготовительная итерацияначинается записью в первый регистрданных 1 числаи заканчивается образованием на выходе первого сумматора-вычитателя 9 суммы х = г + а,а на выходе второго сумматора-вычитателя 10 разности у = г-а . При выполнении этих операций в начале итерации вместе о записью в первый регистр производится запись нуля в регистре кода 6,5 и установка соответствующих кодов на сумматоры-вычитатели через датчик 11 кода операций.Далее выполняются волдеровские повороты, при этом датчик 11 работаетавтоматические по входу от регистра 402, сдвигатели работают по кодам, которые записываются в регистры 5 и 6кода по кодовым входам для каждойитерации.Линейная аппроксимация выполняется за две дополнительные итерации,при этом знак +Ростается безизменения. На первой дополнительнойитерации он записывается в триггердатчика 11 кода операций, а на второй дополнительной итерации в триггере 35 информация не меняется. Результат аппроксимации с выхода первого сумматора-вычитателя 9 записывается в первый регистР 1 данных вконце второй дополнительной итерации.Процесс вычисления заканчиваетсяденормировкой результата, для этого организуется сдвиг вправо кода числа (в 5 вв в)1 , после чего код(О в вв) подается на регистр б кода и осуществляется сдвиг влево числа, находящегося в первом регистре данных, и через второй сумматор-вычитатель 10 по выходу устройства выдается результат Я,Таким образом, предлагаемое устройство осуществляет вычисление за меньшее число итераций;Формула изобретения1. Устройство для вычисления квадратного корня, содержащее блок управления, первый и второй регистры данных, соединенные первыми выходами с первыми входами соответственно первого и второго сумматоров-вычитателей и первыми входами соответственно первого и второго сдвигателей, выходы которых соединены со вторыми входами соответственно второго и первого сумматоров-вычитателей, выходы которых соединены с первыми входами соответственно второго и первого регистров данных, второй вход первого регистра данных является информационным входом устройства, второй вход второго сдвигателя соединен с выхо- дом первого регистра кода, датчик кода операций, содержаций триггер, выход которого соединен со входом первого элемента НЕ и первым входом элемента ИЛИ, выход которого подключен ко входу вто- рого элемента НЕ, .причем выходы триггера и первого элемента НЕ, а также выходы элемента ИЛИ и второго элемента НЕ являются соответственно первым и вторым выходами датчика кода операций и подключен к третьим входам соответственно первого и второго сумматоров-вычитателей, выход последнего из которых является выходом устройства, о т л и ч а ю щ е е с я тем, что, с целью повышения быстродействия, в него введены второй регистр кода, .регистр сдвига и дешифратор, вход которого соединен с выходом первого регистра данных, а выход дешифратора - с первым входом регистра сдвига, выход которого подключен к первому входу второго регистра кода, выход которого соединен со вторым входом первого сдвигателя,выход результата второго сумматоравычитателя соединен со вторым инверсным входом второго регистра данных,первый и второй входы записи Первогорегистра данных соединены соответ 5ственно с первым и вторым входамиблока управлевления, вход управле-.ния сдвигом и записью второго регистра кода подключены соответственно ктретьему и четвертому выходам блокауправления, вход записи числа сдвиговвторого и первого регистров кода соединены соответственно с пятым и шестым выходами блока управления, входыпризнака сдвига второго и первого регистров кода подключены соответственно к седьмому и восьмому выходам блока управления, вход записи порядкаи вход сдвига порядка регистра сдвигасоединены соответственно с девятыми десятым выходом блока управления,вход признака операции и вход записи знака датчика кода операциисоединень. с одиннадцатым и двенадцатым выходами блока управления,25соответственно, вход записи нуля и входы управления инверсного ипрямого кода результата второго регистра данных соединены соответственно с тринадцатым, четырнадцатым и30пятнадцатым выходами блока управления, шестнадцатый выход которого подключен к входу управления записьювторого регистра кода,2. Устройство по и,1, о т л и ч а -ю щ е е с я тем, что блок управления 35содержит счетчик номера микрокоманды,блок памяти микрокоманд, регистрмикрокоманд, группу элементов И, счетчик числа сдвигов, элемент И-НЕ, выход которого подключен к входам записи регистра микрокоманд, и счетчика номера микрокоманды, выход которого покдлючен к входу блока памяти микрокоманд, выходы которого соединеныс разрядными входами регистра микрокоманд, выходы которого подключенык первым входам соответствующих элементов И группы, вторые входы которыхи первый вход элемента И-Не соединенс выходом тактовой частоты устройства, второй вход элемента И-НЕ ипервый вход последнего элемента Игруппы подключен к сигналу "Результат" устройства, вход "Пуск" устройства соединен с входами обнуления .счетчика микрокоманды, регистра микрокоманды и счетчика числа сдвигов,выходы двенадцатого, одиннадцатого,десятого, девятого элементов И и выходы счетчика числа сдвигоц являетсясоответственно выходами с первогопо шестой блока управления, выходтринадцатого разряда и вход обнуления регистра микрокоманды, выходышестого, восьмого, седьмого элементов И группы, выход первого разрядарегистра микрокоманды, выходы пятого, четвертого, третьего и второгоэлементов И группы являются соответственно с седьмого по шестнадцатыйвыходами блока управления, выход нулевого и шестого разрядов регистрамикрокоманд соединены соответственно с первым и вторым счетными входами счетчика числа сдвигов. Источники информации, принятые во внимание при экспертизе1. Байков В.Д. Смолов В,Б. Аппаратная реализация элементарных функций в ЦВМ. ЛГУ, с. 77, рис.25.2. Там же, стр.71, рис.21, 34 (прототип).883897 Сп Ьоку блоку 70 ИИПИ Заказ 10232/73 ираж 748 Подписное Филиал ППП "Патент", Ужгород,ул,Проектная,4

Смотреть

Заявка

2843418, 10.10.1979

ПРЕДПРИЯТИЕ ПЯ Г-4677

ГРИБКОВ ИГОРЬ ГЕОРГИЕВИЧ, ИЛЮШЕЧКИН НИКИТА ВАСИЛЬЕВИЧ, СТЕПУКОВА ТАМАРА ЛЕОНИДОВНА

МПК / Метки

МПК: G06F 7/552

Метки: вычисления, квадратного, корня

Опубликовано: 23.11.1981

Код ссылки

<a href="https://patents.su/8-883897-ustrojjstvo-dlya-vychisleniya-kvadratnogo-kornya.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для вычисления квадратного корня</a>

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