Код документа: SU1381497A1
00 00
j;: со
Устройство относится к цифровой вычислительной технике и может быть использовано в универсальных и специализированных вычислительных системах для аппаратной реализации операции извлечения квадратного корня из чисел, представленных в двоичной системе счисления в форме с фиксированной и плавающей запятой.
Цель изобретения - повышение быстродействия при одновременном повышении точности и расширении области применения за счет возможности обработки чисел, представленных в форме с плавающей запятой.
На фиг.. 1 представлена структурная схема устройства для извлечения квадратного корня; на фиг. 2 - функциональная схема мультиплексора; на фиг. 3 - схема блока сдвига; на фиг. А - схема блока управления; на на фиг. 5 - схема блока формирования результата.
Устройство содержит регистры 1, 2 и 3 (см. фиг. 1), первый А и второй сумматоры, мультиплексоры 6 и 7, блоки 8, 9 и 10 сдвига, блок 11 управления , блок 12 формирования результата , вход 13 задания порядка, вход 14 задания мантиссы устройства, тактовый вход 15, вход 16 запуска устройства,, выход 17 порядка, выход 18 мантиссы, выход 19 конца операции устройства.
Мультиплексор (см. фиг. 2) содержит т+2 группы элементов И20, т+1 элементов ИЛИ 21, элемент НЕ 22, информационные входы 23 и 24, управляющие входы 25, 26 и выход 27.
Блок сдвига (см. фиг. 3) содержит m+1-l гру-пп элементов И 28, из которых i-я группа (,2, ..., m+1-1 содержит m+1-l элементов И, т+1-2 элементов ИЛИ 29 и имеет первый 30 и второй 31 входы и выход 32.
Блок управления (см. фиг. 4) содержит т+2 элементов НЕ 33, два элемента ИЛИ 34, т+2 элементов И 35, первьш 36, второй 37 и третий 38 входы, выходы 39-44.
Блок формирования результата (см. фиг. 5) содержит г+ш-элементов И 45, r+m сумматоров 46 по модулю два, два элемента ИЛИ 47, первый 48 и второй 49 входы, первый 50 и второй 51 выходы .
В основе работы устройства лежит следующий способ вычисления значений
е13814972
функции у , Значение аргумента представляется в виде X 2 -М. По- рядов Р представляется (г+1)-разрядным двоичным дополнительным кодом
., а, где а - знаковый, а,а, ..., а - числовые двоичные разряды. Мантисса М представляется т-разрядым двоичным кодом b,b,j,
Ь, где b,, b, ..., b - числовые Двоичные разряды (мантисса аргумента всегда неотрицательна).
Значение результата вычисляется с использованием разложения приведенной мантиссы М,, аргумента X на множители вида (1 + 2)
М.
М при ар О, М/2 при Зр 1
(1)
Если аргумент X представить в виде
RCO J
X 2- М М„ 2
n(
)
(2)
где
30
(3)
то значение искомой функции У можно определить выражением
у
- 7- -л|Х Poll
-К
о
00 -)к -I
П(1+2 )
где Q Рд/2.
(4) (5)
40
Из выражений (2) и (4) следует
5
М
00
п
()- 1,
У 2« .М,
оо
п
()
Введем следующие обозначения;
Z. М„
(6) (7)
(8)
z;1 п
-)к
(1+2 ,2(9)
55
м: м„- п
1 + 2 )Vi 1,2,
(10)
Выражения (6) и (7) с учетом (9) и (10) могут быть представлены в
виде:
lim Z- 1
Y 2 lim M;.
Из выражений (9) и (10) можно получить рекуррентные сотношения для вычисления очередных значений
7-i
и
Z.
-j; +
Zj., -t- Zj.,. 2 -t- Z;
.
V , xi . + M . .2 , ,.( (-1
-j;
При вычислении функции У -Jx в соответствии с выражениями (3) и (5) определяется порядок Q результата. Мантисса результата вычисляется с использованием рекуррентных формул (13) и (14). Начальное значение М определяется в соответствии с выражением (1)-, Zg - в соответствии с выражением (8).
Очередное значение величины jj определяется по формуле
J; N(Z;., )+,
где N(Z,-., ) - номер старшего нулевого разряда в двоичном представлении числа Z ;., . Признаком окончания операции слу-
жит условие
0,11...1 .
Z,., fl,2,...m (16)
являющееся конечным приближением предельного соотношения (11). Величина М при этом в соответствии с (12) ис- пользуется в качеств е значения мантиссы результата.
Устройство работает следующим образом.
В исходном состоянии все разряды с первого по (m-t 1)-и регистра 1, используемого для хранения величины Z;, имеют одинаковое (либо нулевое, либо единичное) значение. Вследствие ЭТОГО значение сигнала конца операци на тестом выходе блока управления равно единице, а значение сигнала на первом и втором выходах блока управления равно нулю. На вход 15 устрой ) )
to
) )
15
20
25
30
35
)
40
50
д ства , являющийся одновременно первым входом блока управления, непрерывно поступают тактовые импульсы.
При извлечении квадратного кор(я из числа, представленного в форме с плавающей запятой, значения порядка и мантиссы аргумента поступают соответственно на входы 13 и 14 устройства . Код порядка аргумента с входа 13 поступает на информационный вход регистра 3, код мантиссы аргумента - на первые информационные входы мультиплексоров 6 и 7. Кроме того, младший разряд кода порядка а поступает на первые управляющие входы мультиплексоров 6 и 7.
Если значение младшего разряда порядка Bf равно нулю, то код мантиссы , поступивший на первые информационные входы мультиплексоров 6 и 7, проходит на выходы мультиплексоров без преобразования. При единичном значении а, код, поступающий на первые информационные входы мультиплексоров 6 и 7, проходит на выход мультиплексоров со сдвигом на один разряд в сторону младших разрядов. Сформированное на выходе мультиплексоров 6 и 7 приведенное значение мантиссы Мд поступает на информационные входы регистров 1 и 2. Для выполнения вычислений синхронно с одним из тактовых импульсов на вход 16 устройства подается сигнал Пуск, который поступает на управляющий вход регистра 3, осуществляя занесение в регистр 3 значения порядка аргумента Р, а также на первый вход блока 11 управления. По сигналу Пуск на втором выходе блока 11 управления формируется импульс , который поступает на управляющие входы регистров 1 и 2 и осуществляет занесение в регистр 1 величины й о регистр 2 - величины Мд. Значение с выхода регистра 1 поступает на третий вход блока 11 управления , первые входы блоков 8 и 9 сдвига и первый вход сумматора 4. Значение М с выхода регистра 2 поступает на первый вход блока сдвига, первый вход сумматора 5 и второй вход блока 12 формирования результата. На первый вход блока 12 формирования результата с выхода регистра 1 поступает значение порядка Р.
Поступление кода Z на третий вход блока 11 управления приводит к к появлению на шестом выходе блока 11
управления нулевого уров)ш сигнала, а на первом выходе - единичного уровня . Кроме того, второй выход блока 11 управления подключается к его второму входу, обеспечивая прохождение очередных тактовых импульсов на управляющие входы регистров 1 и 2.
По коду ZQ на третьем, четвертом
и пятом выходах блока 11 управления формируются (m+1-l) -разрядные коды, содержащие единицу в (J,)-M (j,-1)-M и (2-j;)-M разрядах и нули в остальных разрядах, которые поступают на вторые входы блоков 10, 8 и 9 сдвига соответственно. Значение j определяется в соответствии с выражением (15). Блоки 8 и 9 сдвига осуществляют умножение поступающего на их первые входы кода Z на и 2 соответственно путем сдвига кода Zg нaj,-1и2j, разрядов. Блок 10 сдвига осуществляет умножение кода Мд на 2 путем сдвига кода М на j разрядов
Сумматоры 4 и 5 п роизводят вычисление значений Z и М, в соответстви с выражениями (13) и (14). С выходов сумматоров 4 и 5 коды величин Z,
14976
По окон.чании процесса вычислений на первом выходе блока 12 формирования результата формируется значение
с порядка результата Q в -соответствии с выражениями (3) и (5), а на втором выходе - округленное до га разрядов значение мантиссы результата. Сформированные блоком 12 формирования
10 результата порядок и мантисса результата поступают на выходы 17 и 18 устройства.
Если значения всех т+1 разрядов ZQ одновременно равны единице или.
5 одновременно равны нулю, то вычисления по рекуррентным соотнощениям (13) и (14) не проводятся и в качестве результата используются значения порядка и мантиссы, сформированные
20 блоком 12 формирования результата по поступившим на его входы значениям Р и М„ .
Мультиплексор работает следующим образом. При нулевом сигнале на втором управляющем входе 26 на выход 27 мультиплексора передается значение кода, поступающего на его первый информационн1 1й вход 23. Если значение
Изобретение относится к цифровой вычислительной технике и может быть использовано в универсальных и специализированных вычислительных системах для аппаратной реализации операции извлечения квадратного корня из чисел, представленных в двоичной системе счисления в форме с фиксированной и плавающей запятой. Цель изобретения - повьппение быстродействия устройства при одновременном повышении точности вычислений и расширении области применения за счет возможности обработки чисел, представленных в форме с плавающей запятой. Поставленная цель достигается тем, что в устройство, содержащее три регистра 1-3, два сумматора 4, 5, три блока сдвига 8, 9, 10, блок управления 11, введены два мультиплексора 6, 7 и блок формирования результата 12. 2 з.п. ф-лы, 5 ил. § сл