Устройство для вычисления квадратного корня
Иллюстрации
Показать всеРеферат
ОПИСАНИЕ
ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
Союз Советских
Социалистических
Республик
<„,922735 (61) Доаолнительное к авт. свид-ву (22) Заявлено 3Q11.79 (21) 2845435/18-24 с присоединением заявки ¹ (23) Приоритет
Опубликовано 230482 Бюллетень ¹15
Дата опубликования описания 23.04.82 (51) М. Ки.з
G F 7/552
Государственный комитет
СССР по делам изобретений и открытий (53) УДК 681 ° 325 (088.8) (54) УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ КВАДРАТНОГО
КОРНЯ
Устройство относится к вычислительной технике и предназначено для использования в универсальных и специализированных ЦВМ.
Известно устройство для вычисления квадратного корня, которое со-. держит счетчик циклов, дешифратор, сдвигатель, регистр результата, промежуточный регистр, первый, второй, третий и четвертый сумматоры (1).
Недостатком устройства является низкое быстродействие.
Наиболее близким по технической сущности к изобретению является устройство для вычисления квадратного корня, содержащее входной и выходной регистры, блок возведения в квадрат, схему сравнения, блок подбора цифр результата и блок управления.
Быстродействие устройства не превышает тд = (n + 2)(t „ + tq) где n — число разрядов входного регистра; ТА- время возведения в квадрат; t q +tg- суммарное время срабатывания схемы сравнения и блока подбора цифр результата (2) .
Недостатком известного устройства является низкое быстродействие.
Цель изобретения - повышение быстродействия.
Поставленная цель достигается тем, что в устройство для вычисления квадратного корня, содержащее входной и выходной регистры, блок воэведення в квадрат и блок синхронизации, введены дешифраторы, блоки сдвига, блоки памяти, сумматоры, регистры, причем выход входного регистра подключен к входу первого дешифратора и первому входу первого регистра сдвига, второй вход которого соединен с выходом первого дешифратора и первым информационным входом первого регистра, второй информационный вход которого и управляющий вход регистра сдвига соединены с выходом второго дешифратора, информационный вход второго регистра сдвига и вход второго дешифратора подключены к выходу первого регистра сдвига, выход первого регистра через последовательно соединенные второй, третий, четвертый и пятый регистры подключен к управляющему входу первого блока сдвига, выход второго регистра сдвига подключен к входу шестого регистра, разрядные выходы которого соединены с первым входом первого сумматора, 922735 второй вход которого подключен к выходу первого блока памяти, вход которого соединен с выходами старших разрядов шестого регистРа, выход первого сумматора подключен к информационному входу седьмого регистра, выход которого соединен с входом блока возведения в квадрат, выход которого подключен к информационному входу восьмого регистра, выход которого подключен к информационному входу второго блока сдвига, управляющий вход которого соединен с выходом третьего дешифратора, .вход которого и вход второго блока памяти соединены с выходом девятого регистра, информационный вход которого подключен к выходу десятого регистра, соединенного информационным входом с выходом старших разрядов шестого регистра, выход второго блока сдвига подключен к информационному входу одиннадцатого регистра, выход которого соединен с первым входом второго сумматора, второй вход которого подключен к выходу двенадцатого регистра, информационным входом соединенного с выходом второго блока памяти, выход второго сумматора подключен к информационному входу тринадцатого регистра, выход которого подключен к информационному входу первого блока сдвига, выход которого соединен с информационным входом выходного регистра, выход блока синхронизации подключен к управляющим входам всех регистров.
На фиг. 1 приведена функциональная схема устройства для вычисления квадратного корня; на фиг. 2 и 3 две ступени блока управления сдвигом (дешифраторы); на фиг. 4 и 5 — две ступени блока сдвига.
Устройство (фиг. 1) содержит входной регистр 1, дешифраторы 2 и 3 (объединенные в блок управления сдвигом), сдвиговые регистры 4 и 5 (объединенные в блок сдвига), регистры б — 18; выходной регистр 19, сумматор 20 и 21, блок 22 возведения в квадрат, блоки 23 и 24 сдвига, блоки 25 и 26 памяти, дешифратор 27 и блок 28 синхронизации.
Блок управления сдвигом предназначен для определения четного количества разрядов, на которые надо сдвинуть аргумент, чтобы интервал его изменения был в пределах 1/4,1.
Сдвиг 16-разрядных входных чисел производится в два этапа, поэтому указанный блок содержит две ступени управления — дешифраторы 2 и 3 (фиг. 2 и -3),состоящие из элемента
ИЛИ 29 и элемента И 30.
Блок сдвига — регистры 4 и 5 сдвига обеспечивает сдвиг аргумента на указанное блоком количество разрядов и также содержит две ступени регистры 4 и 5 сдвига, состоящие из элемента И 30 и элемента И-ИЛИ 31 (фиг ° 4 и 5) .
Блоки 25 и 26 служат для хранения констант, которые используются в процессе вычисления квадратного корня.
Емкость блока зависит от требуемой точности вычислений. Адресация к блоку осуществляется по К старшим разрядам входного числа. (О Блок 24 сдвига осуществляет сдвиг на указанное дешифратором 27 количество разрядов, которое зависит от, кода, хранимого в регистре 14.
Регистры устройства служат для промежуточного запоминания результатов вычислений и для обеспечения конвейерного способа обработки данных, Устройство предназначено для обработки ненормализованных данных, представленных в формате с ФИксированной запятой.
Нормализация данных производится дешифраторами 2, 3 и регистрами 4 и 5 сдвига следующим образом. Аргумент Хl, поступивший в регистр 1, преобразуется к виду Х Х 2 где Х - сдвинутый на Р разрядов влево аргумент Хl, P - -количество разрядов, на которое сдвигается аргумент
Хl для его приведения к интервалу (1/4, l) причем Р всегда четное.
Приведения интервала изменения аргумента (О,l) к интервалу (l/4,1) производится в два этапа. На первом этапе первый дешифратор 2 анализирует состояние разрядов входного регистра
1 группами по четыре разряда и вырабатывает управляющиесигналы у,,у>,у и
yq,которые служат для управления сдви40 гом на 0,4,8 и12 разрядов соответственно и которые описываются формулами
Y q = a vaqvaqUa+., Y 1 — — Y< (agVa)
У уа(agUa g Ua «Va q)
45 Y, = у.,- 7 . 7 (а < Ua „ Ча„5 Va (), Схемное цостроение этих уравнений представлено на фиг. 2. Таким образом производится приведение интервала изменения аргумента как минимум
5() к интервалу 1/16, 11.
На втором этапе второй дешифратор 3 анализирует состояние четырех старших разрядов сдвинутого числа.
Дешифратор 3 вырабатывает управляю55
Yg = а„ ч, а .
° УЕ = а1 м-аа где а - -й разряд сдвинутого числа, 1 схемная реализация которого представлена- на фиг. 3. Но данным сигналам осуществляется сдвиг на 0 -:или 2 разряда влево, в результате чего получаем аргумент, приведенный к интервалу (1/4, 1) .
Регистры 4 и 5 сдвига осуществляют сдвиг аргумента по сигналам уп922735 равления дешифраторов 2, которые по. казаны на фиг. 4 и 5.
Чтобы после выполнения операции извлечения корня привести число к формату с фиксированной запятой, его необходимо сдвинуть на - разрядов вправо, что вытекает из формулы
9 Гх„= Гх.2 = 1х 2 "-.
Поскольку
P = Y>- 2 +Y ° 2 +Y>-2 +У+(2 +2 ) то
2 5+У0. 2 +73 2 +74(2 + 2 ), 1 ll 1 а. (0, 000625) )p = (О, 0000000000101000) .
В первом такте, после записи этого числа во входной регистр 1 дешифраторы 2 и 3 вырабатывают следующие
15 управляющие сигналы
У„= О; V<= О; К = 1> „= О; = 1
Сдвиговые регистры 4 и 5 производят сдвиг числа влево на
P = У5. 2 "+У0. 2 +УЗ 2. +Yg(2 + 2 j = 10 разрядов. Во ьгором такте в регистр
9 записывается число — =(5) о= (101)1
1 в регистр 14 со схемы сдвига поступает число (0,1010000000000000)1 ..(О 635)!О
По адресу, указанному 5 старшими разрядами, из блока 25 считывается константа В = †(1,890108027) 0 (-1,1110001111011110) 1 °
На сумматоре 20 производится форми30 рование суммы (Х + В), равной .
1 "65108027)о=(1 0100001111011.110)
В третьем такте это число записывается в регистр 12, в регистр 7 записывается число (101) и в регистр
35 15 - число (10100) ) . В блоке, 22 формируется выражение (Х + В), равное Е (1, 60049831997)(p (1, 1001100110111010 $
B четвертом такте это выражение за" писывается в регистр 13, в регистр
4р 8 записывается число (101)g и в регистр 14 — число (10100)0, по которому в дешифраторе 27 вырабатывается сигнал, управляющий. сдвигом на два разряда вправо в блоке 24 сдвига, 45 по которому из блока 26 выбирается константа A = (1>190693202)gp (1,0011000011010001) . В блоке 24 сдвига производится сдвиг, и в пятом такте в регистр 16 записывается число (-0,401245)„, =(-0,0110011ОО1101НО) .
В регистр 9 записывается число (101$, и в регистр 17 — константа А, На сумматоре 21 формируется сумма
A + (Х + В) 1, равная (0,790568622)qp =, 55 = (01100101001100010)y .
В шестом такте это число записывается в регистр 18, в регистр 10 записываетСя число (101)0, которое управляет сдвигом в блоке 23 сдвига.
60 В седьмом такте из блока 23 сдвига в выходной. регистр. 19 поступает число (О 0249999749)(0 (О 0000011001100110 которое и является искомым результатом. Поскольку 0,000625 = 0,025 = (0,0000011001100110)у, то ошибка
Данное число поступает с выходов дешифраторов по регистрам 6 — 10 на блоки 23 сдвига, который и осуществляет сдвиг на Р/1 разрядов вправо.
Блок 23 тоже может быть построен в две ступени, в первой из которых осуществляется сдвиг на 0,1,2,3 разряда вправо» на второй — на 0,4 разряда вправо.
Вычисление функции Y = 1ГХ произ-. водится на основе метода сегментной .аппроксимации выражением
Y = А+ W(X+ B) где коэффициенты A и В выбираются из условия минимизации абсолютной погрешности, а коэффициент W задается в виде константы вида +1, + 2, 3, + 1/2, + 1/4, + 1/8 и т.д. Диапазон изменения аргумента (1/4,1) разбивается на интервалы, количество которых определяется требуемой точностью, причем границы интервалов выражаются К старшими двоичными разрядами аргумента. На разных интервалах константы имеют равные значения, которые рассчитываются на ЭВМ для
16-разрядных входных чисел.
Приведенный к диапазону fl/4,1) операнд X с регистра 5 сдвига поступает на регистр 11 и далее на сумма тор 20. Одновременно из блока 25 по. адресу, укаэанному К старшими разрядами аргумента Х регистра 11, выбирается константа В и поступает на сумматор 20, в котором вырабатывается сумма (Х+В). Полученная сумма через регистр 12 поступает в блок
22, где возводится в квадрат, и за-писывается в регистр 18.. Одновременно К с-.àðøèõ разрядов аргумента Х проходят через регистры 15 и 14 и поступают на дешифратор 27 и блок 26
Дешифратор 27 в зависимости от интервала формирует требуемую константу W которая представляет собой степень числа 2, и на блоке 24 сдвига формируется выражение W(X+B) которое поступает на регистр 16.
Одновременно производится выборка константы А из блока 26 на регистр
17. B сумматоре 21 производится выработка суммы A + W(X+B) кото" рая поступает на регистр 18, а из него — на блок 23 сдвига где
Р
1 сдвигается на — разрядов вправо, а оттуда поступает на выходной регистр
19. Выработка управляющих сигналов производится в блоке 28 синхронизации.
Для примера рассмотрим процесс извлечения квадратного корня из числа
922735 не превышает 2 ", т ° е. устройство обеспечивает вычисление функции с ошибкой, меньшей единицы младшего разряда °
Устройство работает по конвейерному принципу, в каждом такте в него можно вводить новый операнд. Наиболее времяемким узлом,в схеме является устройство 11 для возведения в квадрат. Поэтому такт конвейерной обработки массива данных равен времени возведения в квадрат Т = t
Быстродействие устройства при выполнении одиночных операций равно = К 1 где К вЂ” количество межрегистровых промежутков.
В данном устройстве К 7, тогда
Т1=. 7t .
Быстродействие в предлагаемом устройстве увеличено по сравнению с известным при обработке .массивов данных в
10 (n+2 )(t + д, Я
25 а при выполнении одиночных one@a " ций — в — — — — 1
T 7t
Для 15-разрядных входных чисел, принимая типовые значения „=165 нс, 600 нс, имеем — (15+2) - (1+ ) = 78,8 (раэ) 3> тд 15+2 600
7 7 (1+ — ) = 11,26 (раз).
165
- -). раэ;.
t a
30 — (1+
С увеличением разряДности входных чисел преимущество увеличивается.
Формула изобретения
Устройство для вычисления квадратного корня, содержащее входной и 45 выходной регистры, блок возведения в квадрат, блок синхронизации, о т л и ч а ю щ е е с я . тем, что, с целью повышения быстродействия, в него дополнительно введены дешифра- Я) торы,, блоки сдвига, блоки памяти, сумматоры, регистры, причем выход входного регистра подключен к входу первого дешифратора и первому входу первого регистра сдвига, второй вход которого соединен с выходом первого дешифратора и первым информационным входом первого регистра, второй информационный вход которого и управляющий вход регистра сдвига соединены с выходом второго дешифратора
I У информационный вход второго регистра сдвига и вход второго дешифратора подключены к выходу первого регистра сдвига, выход первого регистра через последовательно соединенные второй, третий, четвертый и пятый регистры подключен к управляющему входу первого блока сдвига, выход второго регистра сдвига подключен к входу шестого регистра, разрядные выходы которого соединены с первым входом первого сумматора, второй вход которого подключен к выходу первого блока памяти, вход которого соединен с выходами старших разрядов шестого регистра, выход первого сумматора подключен к информационному входу седьмого регистра, выход которого соединен с входом блока возведения
s: квадрат, выход которого подключен к информационному входу восьмого регистра, выход которого подключен к информационному входу второ о блока сдвига,.управляющий вход которого соединен с выходом третьего дешифратора, вход которого и вход второго блока памяти соединены с выходом девятого регистра, .информационный вход которого подключен к выходу десятого регистра, соединенного информацион-. ным входом с выходом старших разрядов шестого регистра, выход второго блока сдвига подключен к инФормационному входу одиннадцатого регистра, выход которого соединен с первым входом второ|о сумматора, второй вход которого подключен к выходу двенадцатого регистра, информационным вхо-. дом соеднненного с выходом второго блока памяти, Выход втсрого сумматора подключен к информационному входу тринадцатого регистра, выход которого подключен к информационному входу первого блока сдвига, выход которого соединен с информационным входом выходного регистра, выход блока синхронизации подключен к управляющим входам всех регистров.
Источники информации, принятые во внимание при экспертизе 1. Авторское свидетельство СССР
Р 239665, кл. G 06 F 7/38, 1969.
2. Авторское свидетельство СССР
Р 611208, кл. б 06 F 7/38, 1975 (прототип) .