Устройство для деления

Иллюстрации

Показать все

Реферат

 

Изобретение относится к вычислительной технике, а именно к арифметическим устройствам для реализации множительноделительных операций, универсальным и специализированным вычислителям. Цель изобретения - расширение области применения за счет выполнения операции возведения в степень Устройство содержит регистр сдвига первого операнда 1, регистр второго операнда 2, регистр результата 3, сумматор по модулю два 4, блок вычисления обратной величины 5, сумматор 6, первый коммутатор 7, генератор тактовых импульсов 8, коммутатор разрядов 9, второй коммутатор 10, счетчик показателя степени 11, счетчик разрядов 12, элемент И 13 Первый коммутатор 7 и второй коммутатор 10 устанавливают режим работы устройства (умножение , деление или возведение в степень). Результат работы устройства хранится в регистре результата 3, а знак результата формируется сумматором по модулю два 4.1 ил,

союз советских

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

РЕСПУБЛИК (я)5 G 06 F 7/52, 7/552

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

ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ

ПРИ ГКНТ СССР

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

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (61) 1672440 (21) 4839568/24 (22) 15,06.90 (46) 07.10.92, Бюл, М 37 (72) Ташкентский центр научно-технического творчества молодежи "Ешлик" (72) А.Л. Кушнаренко и С.В. Дегтярев (56) Авторское свидетельство СССР

N- 1672440, кл, G 06 F 7/52, 27;03.90. (54) УСТРОИСТВО ДЛЯ ДЕЛЕНИЯ (57) Изобретение относится к вычислительной технике, а именно к арифметическим устройствам для реализации множительноделительных операций, универсальным и специализированным вычислителям. Цель изобретения — расширение области приме„, Ы „„1767498 А2 нения за счет выполнения операции возведения в степень, Устройство содержит регистр сдвига первого операнда 1, регистр второго операнда 2, регистр резул. тата 3, сумматор по модулю два 4, блок вычисления обратной величины 5, сумматор 6, первый коммутатор 7, генератор тактовых импульсов 8, коммутатор разрядов 9, второй коммутатор 10, счетчик показателя степени 11, счетчик разрядов 12, элемент И 13. Первый коммутатор 7 и второй коммутатор 10 устанавливают режим работы устройства (умножение, деление или возведение в степень).

Результат работы устройства хранится в регистре результата 3, а знак результата формируется сумматором по модулю два 4. 1 ил, 1767498

20

Изобретение относится к вычислительной технике и является усовершенствованием устройства для деления по авт. св. KL

1672440.

По основному авт. св. hh 1672440 известно устройство для деления, содержащее регистр первого операнда, регистр второго операнда, регистр результата, сумматор по модулю два, блок памяти, блок выбора операции, генератор тактовых импульсов, коммутатор разрядов, сумматор.

Недостатком данного устройства является ограниченная область применения, так как оно не позволяет выполнять операцию возведения в степень.

Целью изобретения является расширение области применения за счет выполнения операции возведения в степень.

Поставленная цель достигается тем, что устройство по авт, св. N 1672440 содержит второй коммутатор, счетчик показателя степени, счетчик разрядов, элемент И 13, причем вход первого операнда устройства соединен информационным входом регистра первого операнда с первым информационным входом второго коммутатора, второй информационный вход которого соединен с выходом регистра результата, вход второго операнда соединен с третьим информационным входом второго коммутатора, выход которого соединен с информационным входом регистра второго операнда, второй вход кода операции устройства соединен с первым управляющим входом второго коммутатора и вычитающим входом счетчика показателя степени, выход которого соединен с первым входом элемента И, второй вход которого соединен с тактовым входом счетчика показателя степени 11, с вторым управляющим входом второго коммутатора и с выходом счетчика разрядов, вход которого соединен с выходом генератора тактовых импульсов, вход показателя степени устройства соединен с информационным входом счетчика показателя степени, выход элемента И соединен с выходом признака окончания вычисления устройства.

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

Известно устройство (Справочник по микросхемам, М.: Энергия, 1977) для умножения и-разрядных двоичных чисел, в котором операция умножения реализуется за счет сдвига на соответствующее число разрядов значения множителя, а затем суммирование этих значений. Сдвиг значений множимого осуществляется на параллельных секциях регистров, где для каждого раз25

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

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

Таким образом, предлагаемое изобретение соответствует критерию "существенные отличия".

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

Устройство содержит регистр сдвига первого операнда 1, выход которого соединен с одним входом сумматора по модулю два 4, одним входом сумматора 6, регистр второго операнда 2, выход которого соединен с другим входом сумматора по модуЛю два 4, одним входом первого коммутатора 7 и входом блока вычисления обратной величины 5, выход которого соединен с другим входом первого коммутатора 7, один выход первого коммутатора 7 соединен с одним входом коммутатора разрядов 9, а другой выход — с входом генератора тактовых импульсов 8, выход которого соединен с другим входом коммутатора разрядов 9 и входом регистра сдвига первого операнда 1, регистр результата 3, один вход которого соединен с выходом сумматора 6, другой— с выходом коммутатора разрядов 9, а выход— с другим входом сумматора 6; вход регистра первого операнда 1 соединен с первым входом второго коммутатора 10, второй вход которого соединен с выходом регистра результата 3, а на третий вход которого подается значение второго операнда: выход второго коммутатора 10 соединен с входом регистра второго операнда 2, второй вход кода операции устройства соединен с первым управляющим входом второго коммутатора 10 и с управляющим входом счетчика показателя степени 11, выход которого соединен с одним входом логического элемента

И 13, второй вход которого соединен с тактовым входом счетчика показателя степени

11, и с вторым управляющим входом второго коммутатора 10, а также с входом счетчика разрядов 12, вход которого соединен с выходом генератора тактовых импульсов 8.

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

На второй вход второго коммутатора 10 поступает логический сигнал "1" — операция возведения в степень или сигнал "0" — one1767498

30

40

55 рация умножения или деления в зависимости от выбранного режима работы устройства. Если устройство работает в режиме умножения или деления, то первый операнд записывается в регистр сдвига первого операнда 1, а второй операнд, поступающий на первый вход второго коммутатора 10, устанавливается на его выходе и записывается в регистр второго операнда 2, причем старшие разряды операндов в двоичном коде поступают на входы сумматора по модулю два 4. Значение второго операнда за исключением старшего разряда поступает на вход блока вычисления обратной величины 5, В блоке вычисления обратной величины информация хранится в виде где C> ... C> — значения второго операнда в системе 8-4-2-1.

Значение операнда С> на адресных входах блока вычисления обратной величины 5 является адресом, по которому хранится значение, обратное значению операнда С, Значение второго операнда из регистра второго операнда 2 и значение, обратное значению второго операнда, из блока вычисления обратной величины 5 поступают на входы первого коммутатора 7, Первый коммутатор 7 осуществляет коммутацию входных значений по сигналу„поступающему на вход кода операции, причем значение, устанавливаемое на выходе первого коммутатара 7, умножается на значение первого операнда. Следовательно, если на выходе первого коммутатора 7 будет установлено значение второго операнда, то результат, получаемый на выходе устройства, будет являться произведением первого и второго операндов; если же на выходе первого коммутатора 7 будет установлено значение, обратное значению второго операнда, то результат, получаемый на выходе устройства, будет являться частным от деления первого операнда на второй, Операция умножения значения первого операнда на значение, установленное на выходе первого коммутатора 7, осуществляется следующим образом. Одновременно с установлением коммутируемого значения на выходе первого коммутатора 7 в блоке формируется сигнал управления, разрешающий работу генератора тактовых импульсов 8, который осуществляет по каждому такту сдвиг регистра первого операнда 1; коммутатор разрядов 9 опрашивает выход первого коммутатора 7: за один такт — один разряд, и при логической единице в разряде производится запись в регистр результата 3 информации с сумматора 6. После завершения опроса всех разрядов вычисление автоматически завершается, и результат находится в регистре результата 3, Знаковый разряд результата формируется на выходе сумматора по модулю два 4, Пример умножения двух чисел 0000

1100 (12) и 0001 0010 (18). Эти числа записываются в регистр сдвига первого операнда

1 и в регистр второго операнда-2 соответственно. С выхода регистра сдвига первого операнда 1 число 0000 1100 поступает на вход сумматора 6, Число 0001 0010 с выхода регистра второго операнда 2 поступает на вход первого коммутатора 7 и на вхсд блока вычисления обратной величины 5. По сигналу управления, поступающему на вход кода операции в первый коммутатор 7 (логическая "1", так как необходимо осуществить операцию умножения), на выходе первого коммутатора 7 устанавливается значение регистра второго операнда 2 — 0001, 0010, поступающее на вход коммутатора разрядов 9, Одновременно с этим первый коммутатор 7 формирует сигнал управления, разрешающий работу генератора тактовых импульсов 8. В начальном состоянии регистр результата 3 обнулен и, следовательно, на второй вход сумматора 6 поступает число 0000 0000, которое суммируется со значением первого операнда, т. е, на выходе сумматора 6 устанавливается значение первого операнда (табл. 1, строка 1). Генератор тактовых импульсов 8 формирует прямоугольные импульсы. Итак, в начальный момент времени на входе регистра результата

3 установлено число 0001 0010 (12). По переднему фронту первого тактового импульса коммутатор разрядов 9 опрашивает младший разряд числа 0001 0010 и не формирует сигнал записи в регистр результата 3, так как младший разряд является нулевым (табл. 1, строка 2). По заднему фронту этого же тактового импульса осуществляется сдвиг числа 0000 1100 в регистре сдвига первого операнда 1 в сторону старших разрядов, и на вы оде сумматора 6 устанавливается сумма чисел 0001 1000 и 0000 0000 (табл. 1, строка 3). По переднему фронту второго тактового импульса коммутатор разрядов 9 опрашивает второй разряд числа

0001 и 0010 и формирует сигнал записи в регистр результата 3, на выходе которого (на втором входе сумматора 6) установится число 0001 1000 (табл. 1, строка 4). Сдвиг числа 0001 1000 в регистре сдвига первого операнда 1 осуществляется аналогично вышеописанному, т. е. на первом входе сумма1767498 тора 6 устанавливается число 0011 0000, на втором входе (выход) регистра результата 3) число 0001 1000, а на его выходе сумма этих чисел 0100 1000 (табл. 1, строка 5), По переднему фронту третьего тактового импульса коммутатор разрядов 9 опрашивает третий разряд числа 0001 0010 и не формирует сиг нал записи в регистр результата 3, так как третий разряд второго операнда является нулевым, т, е, в регистре результата 3 сохраняется прежнее значение 0001 1000 (табл. 1, строка 6). По заднему фронту третьего тактового импульса осуществляется сдвиг числа 0011 0000 влево на один разряд и на выходе сумматора 6 устанавливается сумма значений регистра первого операнда 1 и регистра результата 3 (табл, 1,, строка 7).

Дальнейшие преобразования осуществля ются аналогично.

Счетчик разрядов 12 считает количество импульсов с выхода генератора тактовых импульсов 8 и по окончаний опроса всех разрядов второго операнда выдает сигнал логической единицы. Поскольку на второй " вход второго коммутатора 10 подана логическая "0" (операцйя умножения или деления), "счетчйк показателя степени 11 заблокирован и на его выходе устанавливается логическая "1", поступающая на второй вход логическа -о элемента И 13, тем самым разрешай прохождение сигнала через элемент

И i3. Уровень логической "1" на выходе элемента И 13 является сигналом конца преоб разования, Для выполнения операции возведения в степень на входе кода операции устанавливают уровень логической "1" (операция умножения), а на второй вход кода операции также устанавливают уровень логической

"1" (операция возведения в степень). При этом на входе счетчика показателя степени .11 станавливается уровень "0", Показатель степени записывается в счетчик показателя степени 11, а основание степени записывается в регистр первого операнда 1 и через второй коммутатор 10 записывается в регистр второго операнда 2.

Таким образом, на первом шаге вычисления осуществляется произведение основания само на себя (т. е. вычисляется квадрат числа). По окончании вычисления на выходе счетчика разрядов 12 появляется сигнал логической "1", который не может пройти через логический элемент И 13, так как на его втором входе логической "0", а также он поступает на управляющий вход второго коммутатора 10, переключая его таким образом, что на выходе второго коммутатора 10 будет устанавливаться значение, поступающее с входа, подключенного к выходу регистра результата 3.

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

На втором шаге вычисления результат, равный основанию степени в квадрате, по10 ступает из регистра результата 3 через второй коммутатор 10 в регистр второго операнда 2, дальнейшее умножение выйолняется аналогично вышеописанному, по окончании которого в регистре результата 3

15 будет находиться значение, равное основанию степени в кубе, Данный цикл будет повторяться до тех пор, пока в счетчике показателя степени 11 не останется число

0000 0010 (2), при этом, на выходе счетчика

20 показателя степени 11 устанавливается сигнал логической "1", устройство выполняет последний цикл вычислений, и сигнал с выхода счетчика разрядов 12 проходит через элемент И 13, являясь сигналом конца вы25 числения.

Пример возведения числа 0000 0011 (3) в степень 0000 0100 (4), На входе кода операции второго коммутатора 7 устанавливается уровень логической "1" (операция

30 умножения) и также на втором входе кода операции второго коммутатора 10 устанавливается логическая "1" (операция возведения в степень). Основание степени 0000

0011 записывается в регистр первого опе35 ранда 1, атакже через второй коммутатор 10 — в регистр второго операнда 2. Показатель. степени 0000 0100 записывается в счетчик показателя степени 11 (табл. 2, строка 1), На первом шаге вычисления осуществ40 ляется умножение содержимого регистра сдвига первого операнда 1 на содержимое регистра второго операнда 2. Таким образом, в регистре результата 3 будет находиться число 0000 1001 (9), а на выходе счетчика

45 разрядов 12 появится прямоугольный импульс конца умножения, который переключает второй коммутатор 10 таким образом, что на выходе второго коммутатора 10 будут устанавливаться данные с выхода регистра

50 результата 3 и записываться в регистр второго операнда 2 (табл. 2, строка 2). По заднему фронту импульса, поступающего с выхода счетчика разрядов 12, содержимое счетчика показателя степени уменьшается

55 на единицу и начинается второй шаг вычисления, При этом умножается содержимое регистра сдвига первого операнда 1 — 0000

0011 и содержимое регистра второго операнда 2 — 0000 1001. В итоге. в регистре результата 3 будет записано значение 0001

1767498

15

25

Таблица 1

Выход регистра первого операнда

Выход сумматора 6

В строки

N такта

Значение разрядов второго операнда

Выход реги результата стра

О 0000 1100

О 0000 1100

О 0001 1000

0000»00 оооо»оо

0001 1000

0000 0000

0000 0000

0000 0000

Х запись

1. сдвиг

Х запись

1. сдвиг

О 0011 0000

О 0100 1000

0001 1000

00» 0000

0001 !000

0001 1000

0001 1000

0001 1000

О 0100 1000

0 0»1 1000

3 запись

t сдвиг

0011 0000

0».0 0000

0»0 0000

»00 0000

О 0»1 1000

0»01 1000

0001 1000

000! 1ООО

9

4 .Г запись сдвиг

1 1001 1000

1 010! 1000

1 О1О1 1ООО

О»О11ООО

0»01 1000

0»01 1000

»00 0000

1OOO OOOO

»01 1ООО

» 01 1000

1101 1000

»О1 10ОО

»01 1000

»01 1000

»01 1000

»01 1000 запись

1. сдвиг

1000 0000

0000 ОООО запись

1 сдвиг

12 13

14

16

7 сдвиг

0000 0000

0000 OOOO

3 запись сдвиг

»01 1000

»О1 1000

0000 0000

0000 0000

1011 (27) и на выходе счетчика разрядов 12 появится импульс конца умножения (табл. 2, строка 3). По заднему фронту этого импульса содержимое счетчика показателя степени 11 уменьшится на единицу и станет равным

00000010, при этом на его выходе установится уровень "1". Также по заднему фронту этого импульса начнется третий шаг вычисления.

При этом умножается содержимое регистра сдвига первого операнда 1 — 0000 0011 на содержимое регистра второго операнда 2—

0001 10011 (27). В результате умножения в регистре результата 3 будет записано 0101

0001 (81) и на выходе счетчика разрядов 12 появится прямоугольный импульс конца умножения. Поскольку на выходе счетчика показателя степени 11 установлена логическая "1", импульс с выхода счетчика разрядов 12 проходит через логический элемент И 13 и является сигналом конца вычисления степени.

Второй коммутатор 10 построен на базе типовых мультиплексоров, позволяющих коммутировать входные сигналы (например, КШ55КП5 и т. и.). Счетчик показателя степени 11 является вычитающим счетчиком с возможностью загрузки начального кода (например, К155 ИЕ 7).

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

Устройство для деления по авт. св. М

1672440, отл и ч а ю ще е с я тем, что, с

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

17б7498

Та бл и да 2

Регистр второго операнда 2

Выв. счетч. показателя степени 11

Счетчик разрядов

Счетчик показателя степени 11

Регистр сдвига первого операнда 1

Регистр результата 3

Выход логич. эл-та И

1Р строки

0000 0000 0

0000 1001 0 (9)

0001 1011 0 (27) 3

0101 0001 1 (81) 20

30

40

Составитель А.Кушнаренко

Техред M.Ìoðãåíòàë Корректор М,Максимишинец

Редактор Л.Волкова

Заказ 3549 Тираж Подписное

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

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

Производственно-издательский комбинат "Патент", r. Ужгород, ул.Гагарина, 101

0000 0100 (4)

0000 0100 . (4)

0000 0011 (3)

0000 0010 (2) 0000 0011 (3)

0000 0011 (3)

0000 0011 (3)

0000 0011 (3) ООбо 0011 (3)

0000 1001 (9)

0001 1011 (27)

0101 0001 (81) 0 0

Я. 0 .Д. 0

ft Л