Устройство относится к вычислительной технике и предназначено для использования в универсальных и специализированных ЦВМ.,
Известно устройство для вычисления квадратного корня, которое содержит счетчик циклов, дешифратор, сдвигатель, регистр результата, промежуточный регистр, первый, второй, третий и четвертый сумматоры {.
Недостатком устройства является низкое быстродействие.
Наиболее близким по технической сущности к изобретению является устройство для вычисления квадратного корня, содержащее входной и выходной регистры, блок возведения в квадрат, схему сравнения, блок подбора цифр результата и блок управления. Быстродействие устройства не превышает
Тд (П + 2} (t + tQ) ,
где п - число разрядов входного регистра; Тд- время возведения в квадрат; t +ty- суммарное время срабатывания схемы сравнения и блока подбора цифр результата 2.
Недостатком известного устройства является низкое быстродействие.
Цель изобретения - повышение быстродействия.
Поставленная цель достигается тем, что в устройство для вычисления квадратного корня, содержащее входной и выходной регистры, блок возведения в квадрат и блок синхронизации, введены дешифраторы, блоки сдвига, блоки памяти, сумматоры, регистры,
10 причем выход входного регистра подключен к входу первого дешифратора и первому входу первого регистра сдвига, второй вход которого соедине,н с выходом первого дешифратора и
15 первым информационным входом первого регистра, второй информационный вход которого и управляющий вход рёгистра ; сдвига соединены с выходом второго дешифратора, информационный вход вто20рого регистра сдвига и вход второго дешифратора подключены к выходу первого регистра сдвига, выход первого регистра через последовательно соединенные второй, третий, четвертый и
25 пятый регистры подключен к управляющему входу первого блока сдвига, выход второго регистра сдвига подключен к входу шестого регистра, разрядные выходы которого соединены с
30 первым входом первого сумматора. второй вход которого подключен к вы ходу первого блока памяти, вход которого соединен с выходами старших разрядов шестого регистра, выход пе вого сумматора подключен к информационному входу седьмого регистра, вьоход которого соединен с входом блока возведения в квадрат, выход которого подключен к информационном входу восьмого регистра, выход кото рого подключен к информационному вх ду второго блока сдвига, управляющий вход которого соединен с выходо третьего дешифратора, .вход которого и вход второго блока памяти соединены с выходом девятого регистра, информационный вход которого подключен к выходу десятого регистра, соединенного информационным, входом с выходом старших разрядов шестого регистра, выход второго блока сдвига подключен к информационному вход одиннадцатого регистра, выход которого соединен с первым входом второ го сумматора, второй вход которого подключен к выходу двенадцатого регистра, информационным входом соеди ненного с выходом второго блока памяти, выход второго сумматора подключен к информационному входу тринадцатого регистра, выход которо го подключен к информационному вход первого блока сдвига, выход которого соединен с информационным входом выходного регистра, выход блока син хронизации подключен к управляющим входам всех регистров. На фиг. 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 сдвига следующим образом. Аргумент XI, поступивший в регистр 1, преобразуется к виду Х, « Х- , где X - сдвинутый .на Р разрядов влево аргумент XI, Р - количество разрядов, на которое сдвигается аргумент XI для его приведения к интервалу 1/4, 1, причем Р всегда четное. Приведения интервала изменения аргумента 0,1 к интервалу 1/4,1) производится в два этапа.. На первом этапе первый дешифратор 2 анализирует состояние разрядов входного регистра 1 группами по четыре разряда и вырабатывает управляющие сигналы Y , ,лк У, которые служат для управления сдвиом на 0,4,8 и12 разрядов соответствено и которые описываются формулами Y л a-,Vai2 vaiijVa ; У (2 УЛ (agVatjVa-rVag) ; Yj г Y-,-Yu.(agVa.,o Va ) ; - 4 YV Y,i..-Y(a,,,5 Va). Схемное построение этих уравнений представлено на фиг. 2. Таким образом производится приведение интервала изменения аргумента как минимум к интервалу tl/16, ll.На втором этапе второй дешифратор 3 анализирует состояние четырех старших разрядов сдвинутого числа. Дешифратор 3 вырабатывает управляющие сигналы .Yg а;ча1 ; : ,, Y5 al, v-aj, где а--т-й разряд сдвинутого числа, схемная реализация которого представлена- на фиг. 3. По данным сигналам осуществляется сдвиг на О -.или 2 разряда влево , в результате чего получаем аргумент, приведенный к интервалу 1/4,1. Регистры 4 и 5 сдвига осуществляют сдвиг аргумента по сигналам управления дешифраторов 2, которые п казаны на фиг. 4 и 5. , Чтобы после выполнения операции извлечения корня привести число к формату с фиксированной запятой, е необходимо сдвинуть на -|- разрядо вправо, что вытекает из формулы ix . Поскольку Р Yg- . 2 +Y3v2 +Y4(), 24Y.(24 2). Y,+Y, Данное число поступает с выходов де шифраторов по регистрам 6 - 10 на блоки 23 сдвига, который и осущест вляет сдвиг на P/i, разрядов вправо. Блок 23 тоже может быть построен в две ступени, в первой из которых осуществляется сдвиг на 0,1,2,3 раз ряда вправо,, на второй - на 0,4 разряда впвГаво. Вычисление функции Y VJC произ водится на основе метода сегментной .аппроксимации выражением Y А + W(X + ВГ , где коэффициенты А и В выбираются из условия минимизации абсолютной погрешности, а коэффициент W задает ся в виде константы вида tl, t2, t 3, ± 1/2, , tl/8 и т.д. Диапазон изменения аргумента- 1/4,1 разбивается на интервалы, количеств которых определяется требуемой точностью, причем границы интервалов выражаются К старшими двоичными раз рядами аргумента. На разных интерва лах константы имеют равные значения которые рассчитываются на ЭВМ для 16-разрядных входных чисел. Приведенный к диапазону 1/4,1 операнд X с регистра 5 сдвига посту пает на регистр 11 и далее на сумма тор 20. Одновременно из блока 25 ио адресу, указанному К старшими разря дами аргумента X регистра 11, выби рается константа В и поступает на сумматор 20, в котором вырабатывает ся сумма (Х+В). Полученная сумма через регистр 12 поступает в блок 22, где возводится.в квадрат, и записывается в регистр 18. Одновремен но К старших разрядов аргумента К проходят через регистры 15 и 14 и поступают на дешифратор 27 и блок 2 Дешифратор 27 в зависимости от интервала формирует требуемую констан ту W, которая представляет собой степень числа 2, и на блоке 24 сдви га формируется выражение W(X+B) ,Л которое поступает на регистр 16, Одновременно производится выборка константы А из блока 26 на регистра 17. В сумматоре 21 производится чыработка суммы А + W(X+B) , которая поступает на регистр 18, а из него - на блок 23 сдвига, где сдвигается на разрядов вправо, а оттуда поступает на выходной регистр 19. Выработка управляющих сигналов производится в блоке 28 синхрони- . зации. Для примера рассмотрим процесс извлечения квадратного корня из числа (0,000625)1(5 (0,0000000000101000)5. 8первом такте, после записи этого числа во входной регистр 1 деиюфраторы 2 и 3 вырабатывают следую1дие управляющие сигналы Y Of 0; Y,, Oj YS 1. Сдвиговые регистры 4 и 5 производят сдвиг числа влево на Р Y5-2+Y -2 Y3-2.+Y4( 2 ) 10 разрядов. Во ьгором тактев регистр . 9записывается число (5).,р (101), в регистр 14 со схемы сдвига поступает число (0,1010,000000000000)2 ч ..(О, 635),. По адресу, указанному 5 старшими разрядами, из блока 25 считывается константа В -(1,890108027)-,д (-1,1110001111011110)0. . На сумматоре 20 производится формирование суммы (X + В), равной . (-1, 265108027)0 (-1,010000111101П10) В третьем такте это число записывается в регистр 12, в регистр 7 записывается число (101)5 и в регистр 15 - число (lOlOO)ij. В блоке, 22 формируется выражение (X + В) , равное (1,60049831997)о( 1,1001100110111010) В четвертом такте это выражение записывается в регистр 13, в регистр 8 записывается число (101)(j и в регистр 14 - число (lOlOO)fj, по которому в дешифраторе 27 вырабатывается сигнал, управляющий сдвигом на два разряда вправо в блоке 24 сдвига, по которому из блока 26 выбирается константа А (l,190693202)io (l,0011000011010001),j, . В блоке 24 сдвига производится сдвиг, и в пятом такте в регистр 16 записывается число (-0,401245) o (-0,0110011001 lOlllO).. В регистр 9 записывается число (101)|, и в регистр 17 - константа А. На сумматоре 21 формируется сумма А + (X + В) , равная (0,790568622)-,д (0,110010100H00010)ij. В шестом такте это число записывается в регистр 1В, в регистр 10 записывается число (101)2.г которое управляет сдвигом в блоке 23 сдвига. В седьмом такте из блока 23 сдвига в выходной регистр 19 поступает число (0,0249999749)0 (0,0000011001100110), которое и является искомым результатом. Поскольку 0,000625 0,025 (0,0000011001100110)12., то ошибка не превышает 2, т. е, устройство обеспечивает вычисление функции с ошибкой, меньшей единицы младшего разряда. Устройство работает по конвейер ному принципу, в каждом такте в нег можно вводить новый операнд. Наиболее времяемким узлом,в схеме является устройство 11 для воздедения в квадрат. Поэтому такт конвейерной обработки массива данных равен вре мени возведения в квадрат Т t,. Быстродействие устройства при выполнении одиночных операций равно Т Kt,, где К - количество межрегистровых промежутков. В данном устройстве К 7, тогда Т-, 7t. . Быстродействие в предлагаемом устройстве yBejjH4eHO по сравнению с известным при обработке .массивов данных в Тд In±2m ±tAl..(,2) (1+ |i) ра а при выполнении одиночных onejSaций - в ТА (п+2) (tA+ta),ji+2. tqi . т 7t 7 Ьл Р Для 15-разрядных входных чисел, принимая типовые значения не tr2 600 НС, имеем -| ()1+ Щ) 78,8 (р -|А . 15 (,||0j .11,26 (р С увеличением разрядности входны чисел преимущество увеличивается. Формула изобретения Устройство для вычисления квадра ного корня, содержащее входной и выходной регистры, блок возведения в квадрат, блок синхронизации, о,т личающееся .тем, что, с целью повышенияfбыстродействия, в него дополнительно введены дешифраторы. блоки сдвига, блоки памяти, сумматоры, регистры, причем выход входного регистра подключен к входу первого дешифратора и первому входу первого регистра сдвига, второй вхо которого соединен с выходом первого дешифратора и первым информационным входом первого регистра, второй информационный вход которого и управляющий вход регистра сдвига соединены с выходом второго дешифратора информационный вход второго регистра сдвига и вход второго дешифратора подключены к выходу первого регистра сдвига, выход первого регистра через последовательно соединенные второй, третий, четвертый и пятый регистры подключен-к управляющему входу первого блока сдвига, выход второго регистра сдвига подключен к входу шестого регистра, разрядные выходы которого соединены с первым входом первого сумматора, второй вход которого подключен к выходу первого блока памяти,ВХОД которого соединен с выходами старших разрядов шестого регистра, выход первого сумматора подключен -к информационному входу седьмого р1 гистра, выход которого соединен с входом блокавозведения в квадрат/ вьаход которого подключен к информационному входу восьмого регистра, выход которого подключен к информационному входу второго блока сдвига, уирааляющий вход которого соединен с вьаходом третьего дешифраторе,, вход которого и вход второго блока памяти соединены с выходом девятого регистра, информационный вход которого подключен к выходу десятого регистра, соединённого информационным входом с ВБгходом старших разрядов шестого регистра, выход второго блока сдвига подключен к информационному входу Одййнадцатого регистра, выход которого соединен с первым входом второго сумматора, второй вход которого подключен к выходу двенадцатого регистра; информационным входом соединенного с выходом второго блока памяти, еыход второго сумматора подключен к информационному входу тринадцатого регистра, выход которого подключен к информационному входу первого блок сдвига, в.ыход которого соединен с информационным входом выходного регистра, выход блока синхронизации подключен к управляющим входам всех регистров. Источники информации, принятые во внимание при экспертизе 1.Авторское свидетельство СССР № 239665, кл. G 06 Р 7/38, 1969. 2.Авторское свидетельство СССР № 611208, кл. G 06 F 7/38, 1975 (прототип).
«
название | год | авторы | номер документа |
---|---|---|---|
Устройство для вычисления степенных функций | 1985 |
|
SU1282120A1 |
Конвейерное устройство для вычисления тригонометрических функций | 1984 |
|
SU1168931A1 |
Устройство для логарифмирования | 1981 |
|
SU962926A1 |
Устройство для вычисления квадратного корня числа в модулярной системе счисления | 1985 |
|
SU1317434A1 |
Устройство для логарифмированияМАССиВОВ дВОичНыХ чиСЕл | 1979 |
|
SU847319A1 |
Устройство для вычисления квадратного корня | 1981 |
|
SU1003078A1 |
Устройство для возведения в квадрат | 1986 |
|
SU1357953A2 |
Устройство для вычисления функции arctg y/x | 2017 |
|
RU2642385C1 |
Устройство для деления | 1981 |
|
SU987621A1 |
Устройство для вычисления функций | 1989 |
|
SU1705822A1 |
Авторы
Даты
1982-04-23—Публикация
1979-11-30—Подача