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

 

УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ КВАДРАТА ЧИСЛА,содержащее регистр аргумента ,регистр результата,сумматор,первую и вторую группы элементов И, группу элементов ИЛИ, генератор импульсов , первый входы i -х .элементов группы (i 1, П -2, где п разрядность . аргумента) соединены с выходами i -х элементов И первой группы, вторые входы 1 -X элементов ИЛИ группы соединены с выходами i -х элементов И второй труппы, выходы i-X элементов ИЛИ группы соединены с входами (i + +1)-х разрядов первого слагаемого сумматора, разрядные выходы которого соединены соответственно с разрядными .входами регистра результата, выходы -X разрядов которого ( Г, 2п-4) соединены с входами ( )-х разрядов второго слагаемого сумматора , i-e разрядные выходы регист1ра аргумента соединены с первыми входами ч-X элементов И первой группы, и-е разрядные выходы регистра аргумента (к. 2, п-2) соединены с прямыми входами

СОЮЗ СОВЕТСНИХ

СОЦИАЛИСТИЧЕСНИХ

РЕСПУБЛИН аю (и) за G 06 F 7/552

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

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

ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЬГПФ (21) 3602209/24 (22) 01.06.83 (46) 23.09.84. Бюл. Ф 35 (72) В.И. Жабин, В.И. Корнейчук, В.В. Макаров, В.П. Тарасенко и В.В. Ткаченко (71) Киевский ордена Ленина политехнический институт им. 50-летия Великой Октябрьской социалистической революции (53) 681.325(088.8) (56) 1. Авторское свидетельство СССР

Ф 769537, кл. С 06 F ?/552, 1980.

2. Самофанов К.Г., Корнейчук В.И. и Тарасенко В.П. Электронные цифровые вычислительные машины. Киев, "Вища школа", 1976, рис. 280. (54)(57) УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ

КВАДРАТА ЧИСЛА, содержащее регистр аргумента, регистр результата, сумматор,пе рвую и вторую группы элементов И, группу элементов ИЛИ, генератор импульсов, первый входы -х,элементов группы (=1, и -2, где п разрядность аргумента) соединены с выходами 1 -х элементов И первой группы, вторые входы 1 -х элементов ИЛИ группы соединены с выходами i --x элементов И второй группы, выходы 1 --х элементов

ИЛИ группы соединены с входами (1 +

+i)-х разрядов первого слагаемого сумматора, разрядные выходы которого соединены соответственно с разрядными, входами регистра результата, выходы j -х разрядов которого (=Г, 2п-4) соединены с входами (2)-х разрядов второго слагаемого сумматора,s --e разрядные выходы регистра аргумента соединены с первыми входами -х элементов И первой группы, к -е разрядные выходы регистра аргумента (=2, и -2) соединены с прямыми входами (L-1)-х элементов И второй группы, выход и -го разряда регистра аргумента соединен с прямым входом и-2 элемента И второй группы, о т л и ч а ю щ е е с я тем, что, с целью повышения быстродействия, в него введены триггер, первьпт, второй и третий элемент И, элемент НЕ, элемент ИЛИ, счетчик циклов, счетчик задержки, выход переполнения которого соединен с первым входом первого элемента И, выход которого соединен

И с входом установки нуля счетчика З задержки, тактовый вход которого сое- уу динен с вторым входом первого элемента И и выходом элемента НЕ, вход которого соединен с выходом генератора импульсов и прямым входом второго элемента И, инверсный вход которого соединен с первым входом третьего элемента И и выходом старшего разряда регистра аргумента, выход (n-i)-го разряда которого соединен с инверсными входами элементов

И второй группы, вторыми входами элементов И первой группы, входом первого слагаемого и -го разряда сумматора и вторым входом третьего элемента И, выход которого соединен со счетным входом триггера, выход которого соединен с входом первого слагаемого младшего разряда сумматора и входом выдачи кода регистра аргумента, вход второго слагаемого младшего разряда сумматора соединен с выходом младшего разряда регистра аргумента, вход сдвига информации

1115051 п(р с З

Известно устройство для вычисления квадрата числа, содержащее двоичный счетчик, элементы И и сумматор. Устройство предназначено для вычисления квадрата числа, представленного число-импульсным кодом (1). !0

Недостатком устройства является низкое быстродействие, например, для возведения в квадрат числа, равного И, необходимо выполнить И сложений. !5

Наиболее близким техническим решением к предлагаемому является устройство, содержащее регистры операндов, результата, сумматор, сдвигатель, блок управления. 20

Сдвигатель предназначен для выГ дачи кода с выхода регистра первого операнда на входы сумматора без сдвига, либо со сдвигом элементов И и группы элементов ИЛИ. 25

Выходы 1--х элементов И обеих групп подключены к входам < --ro элемента ИЛИ. ь

Первый вход --ro элемента И первой группы связан с выходом -го 30 разряда регистра первого операнда, а первый вход 1-го элемента И второй группы подключен ко входу (i-1) разряда регистра первого операнда. ТаI ким образом, код с выхода регистра первого операнда передается на входы сумматора без сдвига через элементы

И первой группы и со сдвигом влево через элементы И второй группы.

К вторым входам элементов И пер- 40 вой группы подключена управляющая шина (" Выдача кода") блока управления, а к вторым входам элементов И второй группы подключены управляющая шина (" Выдача кода и сдвиг") блока управления.

ТР мента И и счетным входом счетчика циклов, вход записи кода регистра результата соединен с вторым входом элемента ИЛИ и выходом переполнения счетчика задержки.

Вычисление у=х производится умножением у=х.x. При этом множитель представляется с помощью цифр 11, О, 1 ; группы разрядов множителя авда 011...10, преобразуют в группы к вида 10000...1., что позволяет уменьь у к шить среднее число суммированийвычитаний. Для вычисления у=х про5 изводится в среднем — операций

9 сдвига и — и операций суммирования3 вычитания (21.

Недостатком известного устройства является низкое быстродействие, Время вычисления квадрата числа составляет где 1с — время операции сдвига; с! — время операции сложения.

Цель изобретения — повышение быстродействия устройства.

Поставленная цель достигается тем, что в устройство для вычисления квадрата числа, содержащее регистр аргумента, регистр результата, сумматор, первую и вторую группы элементов И, группу элементов ИЛИ, генератор импульсов, первые входы е --х элементов ИЛИ группы (1=1, и -2, где и разрядность аргумента) соединены с выходами -х элементов И первой группы, вторые входы -х элементов ИЛИ группы соединены с выходами 3 --х элементов И второй группы; выходы 1-х элементов ИЛИ группы соединены с входами (1+1)-х разрядов первого слагаемого сумматора, разрядные выходы которого соединены оответственно с разрядными входами регистра результата -x разрядов которого (!=1, Zn-4) соединены с входами (j.+2)-х разрядов второго

1115051 4 слагаемого сумматора, 1 -е разрядные выходы регистра агрумента соединены с первыми входами s --х элементов И первой группы, к -е разрядные выходы регистра аргумента (К=2, и -2) соединены с входами (n-1)-х элементов И второй группы, выход и-го разряда регистра аргумента соединен с прямым входом Н-2 элемента И второй группы, цополнительно введены триггер, пер- 10 вый, второй и третий элементы И, элемент НЕ, элемент ИЛИ, счетчик циклов, счетчик задержки, выход переполнения которого соединен с первым входом первого элемента И, выход которого соединен с входом установки нуля счетчика задержки, тактовый вход которого соединен с вторым входом первого элемента И и выходом элемента НЕ, вход которого соединен 2р с выходом генератора импульсов и прямым входом второго элемента И, инверсный вход которого соединен с первым входом третьего элемента И и выходом старшего разряда регистра аргу- 25 мента, выход (и-1)-го разряда которого соединен с инверсными входами элементов И второй группы, вторыми входами элементов И первой группы, входом первого слагаемого и-го разряда сумматора и вторым входом третьего элемента И, выход которого соединен со счетным входом триггера, выход которого соединен с входом первого слагаемого младшего разряда сумматора и входом выдачи кода регистра аргумента, вход второго слагаемого младшего разряда сумматора соединен с выходом младшего разряда а сумматора соединен с выходом млад- 40 шего разряда регистра аргумента, вход сдвига информации регистра результата соединен с выходом второго элемента И и первым входом элемента

ИЛИ, выход которого соединен с входом сдвига регистра аргумента, третьим входом третьего элемента И и счетным входом счетчика циклов, вход записи кода регистра результата соединен с вторым входом элемента ИЛИ и выходом переполнения счетчика задержки.

На чертеже представлена блоксхема устройства.

Устройство для вычисления квад- 55 рата числа содержит регистр 1 аргумента, первую группу элементов И 2, вторую группу элементов И 3, группу элементов ИЛИ 4, сумматор 5, регистр

6 результата, элемент И 7, триггер

8, генератор 9 импульсов, элемент

НЕ 10, счетчик 11 задержки, элемент

И 12, элемент И 13, элемент ИЛИ 14, счетчик 15 циклов.

В качестве регистра 1 аргумента используется сдвигающий регистр, имеющий цепь сдвига влево на один разряд. В регистре 1 аргумента предусмотрена выдача прямого кода содержимого регистра 1 аргумента, если на цепь выдачи кода подается нулевой сигнал (триггер 8 в нулевом состоянии), и выдачи обратного кода, если на цепь выдачи кода подается единичный сигнал с выхода триггера 8.

Сумматор 5 содержит (2п-2) разрядов и может быть построен в виде комбинационного сумматора, причем, в двух младших и (n-2) старших разрядах можно использовать полусумматоры. Это связано с тем, что на входы. двух младших разрядов не подается в качестве второго слагаемого содержимое регистра 6 результата, а на входы (11-2) старших разрядов подается только одно слагаемое с выходов регистра 6 результата. Нужно заметить, что в качестве второго слагаемого для младшего разряда сумматора 5 используется сигнал с выхода счетного триггера 8, но так как в младший разряд не подается сигнал переноса, то он также может быть реализован на основе полусумматора. Регистр 6 результата построен на основе триггеров с внутренней задержкой, прием информации в которые осуществляется только после окончания сигнала приема кода.

В регистре 6 результата предусмотрена цепь сдвига кода результата на два разряда влево по управляющему сигналу с выхода элемента И 13.

Счетчик 11 задержки представляет собой счетчик с коэффициентом пересчета где 1 д — .время сложения в сумматоре 5;

Сс — время сдвига кодов в регистре 1 аргумента и регистре 6 результата.

Управляющий вход счетчика 11 задержки представляет собой цепь установки в "0" счетчика (сигналом с выхода элемента И 12).

1115051

= 2 (7 +x„)+X „= 2"(1(;-L 1+Х„=Р„ Х„, Величина (х-2" ) должна быть просуммирована с учетверенным содержанием регистра 6 результата.

Счетчик 15 циклов представляет собой счетчик с коэффициентом пересчета К = "/2, если n — четное число или К = и/2+0,5, если и нечетное число. 5

Устройство предназначено для получения и старших разрядов = х .

Вес младшего разряда результата равен 2" в том случае, если операнд— целое и разрядное число.

Устройство работает следующим образом.

В исходном состоянии в регистре

1 аргумента находится исходное число х; регистр 6 результата, триггер 8, счетчик 11 задержки и счетчик

15 циклов обнулены.

С началом вычислений на входы элементов И. 13 и элемента НЕ 10 поступают тактовые импульсы, период которых равен времени сдвига () в регистрах 1 аргумента и результата 6. Операция возведения в квадрат числа х производится за /2 тактов работы устройства, для четных П и 25 за о /2+0,5 тактов для нечетных n ..

В каждом такте анализируется содержимое старшего разряда регистра

1 аргумента. Если а„ „ =О, то на выходах элементов ИЛИ 14, И 13 появ- Зп ляются управляющие сигналы сдвига, которые поступают на цепи сдвига регистров 1 аргумента и результата 6.

Кроме того, этим тактовым импульсам (с элемента ИЛИ 14) осуществляется изменение состояния счетчика 15 циклов на единицу.

Содержимое регистра 1 аргумента сдвигается на один разряд, что равносильно удвоению аргумента, а содер- 40 жимое регистра 6 результата сдвигается на два разряда — учетверению результата. Никаких других действий в случае, когда а „ =0 не производится.

В том случае, когда ап „ =1 вычисления производятся в зависимости от значения разряда а . Если же a> a. =0 (а„„, а„, =1 О), то для организации вычислений (в -м цикле) используем формулу

Содержимое регистра 1 аргумента передается на сумматор 5 в прямом или обратном коде, в зависимости от состояния триггера 8. Если триггер 8 находится в нулевом состоянии, то через группу элементов И 3 на сумматор 5 передается содержимое регистра 1 аргумента в прямом коде.

По единичному состоянию триггера 8 содержимое регистра 1 аргумента передается обратным кодом через группу элементов И 3 на сумматор 5, кроме этого в младший разряд сумматора

5 (по сигналу с триггера 8) прибавляется единица. Вычисление величины

n-t

2 1 = (» „-2 ) производится схемным образом, т.е. на позицию м -2 разряда сумматора 5 через и 2 элемент группы элементов И 3 передается содержимое старшего и -1 разряда регистра 1 аргумента (это равносильно вычитанию единицы из 2" -го разряда аргумента х" ). !

Например, еслиХ=1 ОXХХХХХ, roZ;= (Х;-2" )=О 1 Х Х X X Х Х.

В этом цикле в первом такте (цикл равен к тактов) срабатывает элемент НЕ 10 и запускается счетчик

11 задержки с коэффициентом пересчета К, на время суммирования величин регистра 1 аргумента и регистра 6 результата на сумматоре 5. По к -му импульсу (по заднему фронту инверсного тактового импульса с выхода элемента HE 10) на выходе счетчика

11 задержки появляется единичный потенциал (суммирование закончено).

В этом такте происходит прием кода на регистр 6 результата с выходов сумматора 5 (по сигналу с выхода счетчика задержки), сдвиг содержимого регистра 1 аргумента (по сигналу с выхода элемента ИЛИ 14) на один разряд влево, а также к содержимому счетчика 15 циклов прибавляется единица. По заднему фронту к-го импульса происходит срабатывание элемента И 12, на выходе которого появляется единичный потенциал, который является управляющим сигналом для счетчика 11 задержки, Счетчик

11 задержки. сбрасывается в нулевое состояние, что влечет за собой отключение элемента И 12. Устройство переходит в следующий цикл работы, т.е. готово производить вычисления в зависимости от следующих двух старших разрядов аргумента.

t,= (g(с сл1

25 п(/ (сл1 /4(ф, л "4 сл) 30

Если же старшие разряды аргумента а„, ац =- 1 1, то применяем формулу х =(1 -X„) =2 -ч х„-+х„=

= („„-Д у+Х; = „+Х,; к.учетверенному содержимому регистра

6 результата необходимо прибавить величину 2х; -2 ). Для получения величины (2х„. „ -2") на выходы сумматора 5 передается через группу элементов И 2 со сдвигом на один разряд влево Х „- 1, причем старший разряд содержимого регистра аргумента x „ игнорируется.

X„)= 1 1 XXXX, 1, =(2X<, 2 )О 1 Х Х Х Х.

Величина (2Х. ;2 ) постУпает на входы сумматора 5 в прямом коде, если триггер 8 находится в нулевом состоянии или s обратном коде — триггер 8 находится в единичном состоянии. Кроме этого, если состояние триггера 8 единичное, на вход мпадшего разряда сумматора 5 поступает единичный потенциал с выхода этого триггера; это равносильно прибавлению единицы к обратному коду (2Х; „ -2"). Таким образом формируется дополнение аргумента до числа 2".

Также, как и в предыдущем случае (когда a„ „, а„, =10), после окончания суммирования на сумматоре 5, происходит срабатывание счетчика 11 задержки с коэффициентом пересчета . л г

K =j — По к-му импульсу на вы

115051 8 ходах счетчика 11 задержки и элемента ИЛИ 14 появляются сигналы приема кода на регистр 6 результата и сдвига кода регистра 1 аргумента, соответственно; счетчик 15 циклов переходит в следующее состояние, а триггер 8 переходит в противоположное состояние.

Таким образом, в очередных цик10 лах, до следующего срабатывания триггера 8, на выходы регистра 1 аргумента будет выдаваться обратный код содержимого регистра 1 аргумента.

После окончания t1/2 циклов (момент окончания вычислений определяется по содержимому счетчика циклов 15) в и старших разрядах регистра 6 результата находится искомый результат

20 ЬйК

Время вычислений определяется

Кроме того, уменьшается время вычислений в

44

Пусть = 2 С; тогда с = —, T.e.

21

35 введение трех элементов И, триггера счетчика задержки, счетчика циклов, элемента ИЛИ позволяют увеличить быстродействие устройства в два раза.

1115051

Тираж 698 Подписное

ВНИИПИ Государственного комитета СССР по делам изобретений и открытий

113035, Москва, Ж-35, Раушская наб., д. 4/5

Заказ 6771/35

Филиал ППП "Патент", r. Ужгород, ул. Проектная, 4

Составитель А. Казанский

Редактор Е. Лушникова Техред А,Бабинец Корректор M. Максимишинец

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

 

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

Изобретение относится к вычислительной технике и может быть использовано в специализированных устройствах обработки информации

Изобретение относится к вычислительной технике и может быть использовано в цифровых функциональных преобразователях и в цифровых вычислительных машинах Цепью изобретения является повышение быстродействия

Изобретение относится к вычислительной технике и может быть использовано в быстродействующих специализированных вычислителях

Изобретение относится к вычислительной технике и может быть использовано в цифровых вычислительных машинах и структурах
Наверх