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

Иллюстрации

Показать все

Реферат

 

Изобретение относится к вычислительной технике и может быть использовано в цифровых вычислительных устройствах для деления целых десятичных чисел. Целью изобретения является повышение быстродействия ча счет исключения операции сдвига в каждом цикле формирования очередной циАры частного . Кроме того, использование соответствующих кратных делителя позволяет при вычитании очередного кратного делителя формировать цифры не в одном десятичном разряде частного, а в нескольких ч зависимости от кратности делителя. Устройство для деления десятичных чисел содержит группу К накапливающих сумматоров t|-l«, регистр 2 делителя, группу К счетчиков -Ч, блок 4 коммутации, сумматор-вычитатель 5 и блок 6 управления. 1 з.п. ф-лы, 5 ил., 5 табл. с (Л

СОЮЗ COBFTCHHX

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

РЕСГ1УБЛИН

„„SU„, 1633396 A 1 (у)5 06 Р 7/5".

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

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

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

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

ПРИ ГННТ CCCP (21) 4697922/24 (22) 31.05.89 (46) 07.03.91. Вюп. > 9 (71) Винницкий политехнический институт (72) B.Г1.Кожемяко, R.Е.Качуровский, Т.Б.11артынюк, В.H.Гайда и И.В.Ищенко (53) 681.325(088.8) (56) Авторское свидетельство СССР

1148494, кл. Г 06 Р 7/33, 1980.

Авторское свидетельство СССP

Р 1336 783, кл. С 06 F 7/52, 1986. (54) УСТРОЙСТВО ЛЛЯ ЦВ311ЛИ. 1 Щ;СЯТИЧННХ ЧИСЕЛ (57) 11эобретение относится к вычислительной технике и может бьггь использовано в цифровых вычислительных уст— ройствах для деления цельгх десятичных чисел. 11елью изобретения является повышение быстродействия за счет исключения операции сдвига в каждом цикле формирования очередной цифры частного. Кроме того, использование соответствующих кратных делителя позволяет при вычитании очередного кратного делителя формировать цифры не в одном десятичном разряде частного, а в нескольких в зависимости от кратности делителя. Устройство для деления десятичных чисел содержит группу К накапливающих сумматоров 1 -1, регистр

2 делителя, группу К счетчиков 3 -3„, блок 4 коммутации, сумматор-вичита О тель 5 и блок б управления. 1 з.п.

Ф-лы, 5 ил., 5 табл.

1633396

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

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

На фиг.1 представлена структурная схема устройства; на фиг.2 — функцио- 10 нальная схема блока коммутации; на фиг.3 — алгоритм деления; на фиг.4 функциональная схема блока управления; на фиг.5 — функциональная схема логического узла блока управления. 15

Устройство для деления десятичных чисел содержит накапливающие сумматоры 1»,. ° .,1 группы, регистр 2 делителя, счетчики 3», °,3 группы, блок

4 коммутации, сумматор-вычитатель 5, 20 блок 6 управления. Выход 7 делителя устройства подключен к информационному входу регистра 2, выход 8 которого соединен с информационными входами

9 накапливающих сумматоров 1»,...,1к группы, у которых группа выходов 10 подключена к информационным входам

11 блока 4, выходы 1 ? которого подключены к управляющему входу накапливающих сумматоров 1»,..., 1 < группы, 30 выходы 13 второй группы — к информационному входу 14 второй группы сумматора-вычитателя 5, а выходы 15 первой группы — к счетным входам счетчиков 3»,...,3 к группы. Входы 16 делимого устройства соединены с информационными входами первой группы сумматора-вычитателя 5, выход знакового разряда сумматора-вы.п»тателя 5 подключен к входу 17 признака знака 40 результата суммирования блока 6 управления. У блока 6 управления четвертый выход 18 соединен с входами устанрвки в начальное состояние регистра 2, сумма горов 1»,..., 1 группы, счетчиков 3», °, 3 группы и суммато— ра-вычитателя 5, пятый выход 19 — с управляющим входом записи сумматоравычитателя 5, шестой 20, первый ? 1 и седьмой 22 выходы — с управляющими входами регистра 2 соответственно, кроме того, первый 21 и девятый ?3 выходы соединены с соответствующими управляющими входами блока 4 коммутации, третий выход 24 блока 6 управления соединен с управляющим входом сумматора-вычитателя 5, восьмой

25 и второй 26 выходы — с управляющи. ми входами блока 4, вход признака запуска блока 6 управления является входом 27 запуска устройства, первый

28 и второй 29 выходы блока 4 подключены к соответствующим входам блока

6 управления, выходы 30 переполнения (К-1)-х младщих счетчиков 3„,...,3, группы соединены с входами переноса соответствующих старших счетчиков

3„,...,3 < группы, а информационные выходы счетчиков 3 „...,3 группы являются выходом 31 устройства.

Блок 4 коммутации (фиг. ?) содержит счетчик 32, два узла 33 и 34 памяти, группу мультиплексоров 35,»,...,35, два элемента НЕ 36 и 37 и логический блок 38, состояг»ий из элемента И 39 для случая, когда v, = 4. Вход 23 блока коммутации 4 подключеH к суммирующему входу счетчика 32, вычитающий вход которого соединен с входом ?6 блока 4 коммутации, а первый и второй выходы — с входами чтения узлов

33 и 34 и управляюг»ими входами мультиплексоров 35„,...,35 „ группы. Выход нулевого содержимого счетчика 32 является выходом 29 блока 4, а вь»ход блока 38 — выходом 28 блока 4,входы элементов НЕ 36 и 37 соединены соответственно с входами ?5 и 21 блока 4. Выходы узла 33 являются группой выходов 15 блока 4, выходы узла 34 группой выходов 12 блока 4.

На вход разрег|ения записи счетчика

32 подается напряжение высокого уровня, на входы разрег ения мультиплексоров 35»,...,35 к группы подается напряжение низкого уровня.

Блок 6 управления (фиг.4) содержит генератор тактовых импульсов 40, RSтриггер 41, программируемый узел 42 памяти, регистр 43, денифратор 44, элементы HE 45 и 46, элемент И 47 и логический узел 48 (фиг. 5), который содержит три элемента И 49» -49з, четьг ре элемента HE 50»-50, двадцать четыре элемента И 51» -51»,+ четыре элемента ИЛИ 52»-524.

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

Перед началом работы устройства все накапливающие сумматоры 1„,...,1к группы, сумматор †вычитате 5, регистр

2, счетчики 3,...,3 „ группы оГнуляются. Депимое А записывается в сумматор-вычитатель 5, делитель.  — в регистр 2. Чатем блок 4 разрешает запись содержимого регистра 2 в накаплиРабота блока 4 (фиг. 2) состоит из двух циклов н соответствии с алгоритмом (фиг.3) . В первом цикле осуг«естнляется формирование кратных делителя

В по формуле (1) . В двух программируемых узлах 33 и 34 блока 4 (для К=4) записана информация, представленная в табл. 2, где )0 — код, установившийся перед сменой состояний.

5 163339 ваю«ц««е сумматорь« 1 !,...,! „ группы. Далее формируются соответствую««ие крат««ые делителя с помощью блока 4 н ««Роцессе суммирования содержимого соответствующих накаплинаюг«««х сумматоров

1,..., 1 „группы с содержимым регистра 2, которое сдвинуто на определенное количество разрядов н сторону старших разрядов, т.е. Унеличено н

1О раз, где i = О,...,K-1, Соответствующее кратное В, формируемое н

j ì сумматоре 1 группы, определяется по формуле

6 стного R разрядностью К = 4 представлены в табл,1.

В где j = 1,...,К, 20

Цикл операции деления начинается

30 с вычитания старшего кратного делителя В „из содержимого сумматора — ничитатсля 5. Таким образом, н сумматоренычитателе 5 AopMHpóåòeÿ разность исходных величин, а значение знакового разряда поступае на вход 17 блока

6 управления. Лналиэируя знак полученного значения разности н сумматоре-вычитателе 5, блок 6 управления формирует соответствую««««е управляющие сигналы, которые поступают на управляю««ие входи сумматор-ничитателя

5 и блока 4. Так, например, если и результате вычитания кратного В к иэ

35 делимого А знак разности положительный, то блок 4 формирует единичные сигналы на выходе 15, поступаюг«ие на счетные входы всех счетчиков

3 3 к гРУппы. С приходом следую — 40 щих. тактирующих сигналов ныпол««яются аналогичные действия до тех пор, пока знак разности, полученной в сум— маторе-вычитателе 5, не станет отрицательным. Тогда происходит носста- 45 новление наименьшего положительного остатка в сумматоре-вычитателе 5 и выполняется вычитание следующего кратного В < . Анализ знака полученной разности и соответстнуюг«ие действия выполняются аналогичным образом с той лишь разницей, что единичные сигналы с выхода 15 блока 4 поступают на счетные входы счетчиков 3,...,3„! группы. Завершением операции деления является появление единичного сигнала на выходе 29 блока 4. Результаты деления двух десятичных чисел А — 10880375 и В = 2255 и получения чаВ начальном состоянии счетчик 32 блока 4 обнулен, следовательно, при поступлении управляюг«его сигнала

УЗ на узлы 34 по соответствуюг«ему адресу считана информа««ия, которая приводит к появлению единичных сигналов на группе выходом 12, соединенным с управляющими входами записи накапливающих сумматоров 1,..., 1 „группы, что позволяет записать содержимое регистра 2, т. е. величину В, в накапливающие сумматоры 1,,..., g группы.

На первом шаге н первом цикле одновременно со сдвигом на один десятичный разряд информации н регистре 2 выполняется увеличение содержимого счетчика 32 по упранляг«щему сигналу У5, а затем вновь реализуется считывание информации из узла 34 по текущему адресу. Этот процесс ныполняется до тех пор, пока содержимое счетчика 32 не будет равно величине (К-11, т.е. пока не будет считана информация из последней ячейки узла 34, причем количество ячеек узла 34 определяется величиной разрядности частного.

Сформирован суммь« соответстнуюг«их кратных н сумматорах 1<,.,1 группы, блок 4 участвует н процессе фор миронания текущих цифр частного, выполняемом в течение второго цикла работы блока 4. Здесь он управляет процессом сложения-вычитания н сумматоре-вычитателе 5. На первом mare второго цикла выполняется вычитание содержимого старшего накапливаюг«его сумматора группы, содержаг«его кратное делителя В„, с помощью мультиплексоров 35,...,35, на адресные входы которых поступает содержимое счетчика 32. Если знак частичного остатка при этом положительнь«й, то по управляющему сигналу У7 блок 4 формирует единичные сигналы на группе выходов 15, которие поступают на счет1633396 ные входь1 счетчиков 3,..., 3 ц группы, что позволит увеличить на единицу содержимое всех счетчиков 3, ° .,3 „ группы. Затем вновь выполняется переход к операции первого нага второго цикла, т,е. вычитается иэ содержимого сумматора 5 информация из соответствующего накапливающего сумматора

11,...,1 ц группы, адрес которого опре10 деляет содержимое счетчика 32 блока

4. Чри появлении отрицательного знака частичного остатка в сумматоре-вычитателе 5 блок 4 разрешает прохождение информации на вход сумматора-вычитателя 5 иэ того накапливающего сумматора 1„,...,1 группы, адрес которого определяет содержимое счетчика 32 блока 4, а затем разрешает по управляющему сигналу У8 уменьшить 20 на единицу информацию в счетчике 32 блока 4. Далее вновь осуществляется переход к действиям, выполняемым на первом шаге второго цикла до тех пор, пока содержимое счетчика 32 не станет 25 равным нулю при отрицательном знаке частичного остатка, полученного в сумматоре-вычитателе 5.

Алгоритм деления десятичных чисел (фиг.3), реализуемый программным бло- 30 ком 6 управления, заключается я следующем.

1 ° Выполняется общий сброс.

2, В сумматор-вичитатель 5 записывается делимое А.

3. В регистр 2 записывается делитель В.

4. В накапливающие сумматоры

11...,,1 группы записывается содержимое регистра 2.

5. Выполняется сдвиг на один десятичный разряд в сторону увеличения информации в регистре ? и увеличение на единицу содержимого в счетчике 32 блока 4 °

6. К содержимому накапливающих сумматоров t,...,1 группы, определяемых блоком 4, прибавляется информация иэ регистра 2. !

7. Действия пп.5 и 6 выполняются

50 до тех пор, пока содержимое счетчика

32 не станет равным величине (К-1).

Если содержимое счетчика 32 равно величине (К-1), то осуществляется переход к п.8.

8. Иэ содержимого сумматора-вычитателя 5 вычитается информация одного иэ накапливающих сумматоров 11,..., t группы, адрес которого определяется блоком 4.

9. Проверяется знак частичного остатка, полученного в сумматоре-вычитателе 5: если знак частичного остатка положительный, то выпоняются увеличение на единицу содержимого тех счетчиков 3,1,...,3 группы, адреса которых определяет блок 4, и переход к п.8.

1Î. Если знак частичного остатка отрицательный и информация в счетчике 32 блока 4 не равна нули, то в сумматоре-вычитателе 5 восстанавливается положительный частичный остаток.

11. Иэ содержимого счетчика 32 вычитается единица и выполняется переход к п.8.

12. Если знак частичного остатка отрицательный и содержимое счетчика

32 равно нулю, то операция деления десятичных чисел завершена.

Необходимые для функционирования устройства управляющие и логические сигналы приведены в табл.3 а последовательность формирования управляющих сигналов YO,...,Y8 — на представленном на фиг.3 алгоритме.

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

Разбивка закодированных управляю1 щих сигналов по полям микрокоманды представлена в табл.4, Данные содержимого узла памяти для случая принудительной адресации представлены в табл.5.

Использование в схеме устройства блока коммутации с соответствующей органиэацией позволяет исключить при формировании очередной цифры частного такты, необходимые для сдвига соответствующей информации в сумматоревычитателе, что позволяет увеличить быстродействие устройства. Этому также способствует реализованная возможность формирования Teêóã åé цифры не в одном разряде частного, а в несколь1633396

10 ких в зависимости от используемого кратного делителя.

Фор мула из обретения

1. Устройство для деления десятичных чисел, содержащее регистр делителя, группу К накапливающих сумматоров 1 где К вЂ” разрядность операндов, 1р сумматор-вычитатель, блок коммутации, группу К счетчиков, блок управления, причем вход делителя устройства соединен с информационными входами регистра делителя, вход делимого устройст- 15 ва соединен с информационными входами первой группы сумматора-вычитателя, выход i — ro разряда выходов первой группы блока коммутации (где i = 1, 2,...,К) соединен с счетным входом

i-го счетчика группы, выход которого соединен с выходом соо ветствующего десятичного разряда результата уст— ройства, первый выход блока управле— ния соединен с входом разрешения счи — 25 тывания регистра делителя, второй выход блока управления соединен с первым управляющим входом блока коммутации, третий выход блока управления соединен с управляющим входом сумматора- Зр вычитателя, о т л и ч а ю щ е е с я тем, что, с целью повышения быстродействия, выход i-го разряда регистра делителя соединен с информационными входами 1-го разрядов К накаплива- З5 ющих сумматоров группы, выход i-го накапливающегo сумматора соединен с

i-м информационным входом блока коммутации, выходы второй группы которого сссдинены с информационными входа- 4О ми второй группы сумматора-вычитателя, вход установки в начальное состояние которого соединен с четвертым выходом блока управления, с входами начальной установки регистра делителя накапливающих сумматоров и счетчиков группы, выход переполнения i-rо счетчика группы соединен с входом переноса (i+1) — го счетчика группы, пятый выход блока управления сс еди50 нен с входом разрешения записи сумматора-вычитателя, выход знакового разряда которого соединен с входом признака знака результата суммирования блока управления, вход признака запуска которого соединен с входом запуска устройства, шестой выход блока управления соединен с входом разрешения записи регистра делителя, вход разрешения сдвига которого соединен с седьмым выходом блока управления, первый, восьмой, девятый выходы блока управления соединены с вторым, третьим и четвертым управляющими входами соответственно блока коммутации, выходы третьей группы которого соединены с управляющими входами накапливающих сумматоров группы, первый и второй выходы которого соединены с входами признаков выхода из цикла формирования кратных делителя и окончания деления блока управления соответственно.

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

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

i-й группы блока соединены с информационными входами i-rn мультиплексора, выходы которых соединены с выходами второй группы блока.

2505305

1+1

+ 5869765

12

7+1 7+1

8+1 8+1

Цикл деления

Сумматор-вычитатель

+ 8375070

2505305

+ 3364460

+ 859155

1646150

1646150 ф 2505305

859155

+ 608850

+ 358545

35854 5

+ 108240 — 108240

142065

+ 250305

+ 108240

- 24805

83435

+ 58630

1633396

Таблица 1

Счетчики 3-й группы

j (4 3 2 1

О+1 О+1 О+1 О+1

1+1 1+1 1+1

2+1 2+1 2+1 2+1

3+1 3+1 3+1 3+1

4 4+1 4+1 4+1

5+1 5+1 5+1

6+1 6+1 6+1

1633396

Il

Цикл деления

Сумматор-вычитатель

4 3 2

+ 33825

7 9+1=1 О 9+1=1 О

+ 9020

7+1 0+1+1 О+

15785

+ 24805

+ 9020

6765

1+1

4510

2+1

?255

2 3+1

+ О

4+1

0-2255

22 результат R = 4825.

Т а б л и ц а 2

Окончательный

Прогр аммируемый узел памяти

Адр ес за пи с

Слово

WA

34

Н

Н

В

В

Н

Н

В

Н

В

Н

В

Н

В

Н

1000 110

1)0 1100

00 00 ()О 00

1111 00 (0 0111

00 1 0

00 00

Продолхение табл, 1

QO QO

00 ОО

1110 QO

ПО 1111

Q0 QO

Q0 Q0

0011 (0 0 0001

1633396

15

Та блица 3

Связь

Примечание

Номер Обозна- Название чение

28 Хl

Сигнал равенства содержимого счетчика

32 величине (К=1) 17 Х2

Сигнал содержимогo знакового разряда сумматора-вычита— теля 5

Сигнал нулевого содержимого счетчика 32

Обг(ий сброс

Запись делимого и сумматор-вычитатель 5

Запись делителя в регистр 2

Запись в накапливающие сумматоры 1(, ° ° ., 1„ группы

Сдвиг на десятичный разряд в ):егистре 2

Счет "+1" в счетчике 32

Код операций в суммато- Y6 = 1 — вычитание, ре-вычитат еле 5, Уб = Π— сложение

Счет "+1" и счетчиках

3,...,3 к группы

Счет "-1" в счетчике 32

29 ХЗ

18 УО

19 Yl

20 У2

21 YÇ

22 У4

23 У5

24 Уб

25 У7

26 У8 а блица 4

У0-001

У l-ln

У2-011

Y 3-1()O

У4-101

У5 — 001 б — 010

У7 — 011

YH — )00

vK — lO1

Хl = 100

Х2 — 010

ХЗ вЂ” 001

1 v2 Х AO А1

0001

0011

010!

0111

1001

1011

001

011

101

ООО

000

О0О

О00

OOO

OO()

001

ООО

011

О() О

0ОО

101

При Хl = 1 осуществляется выход из цикла

Аормир ова ния крат ных делителя

При Х2 = 1 выполняется выход из цикла формирования текущих значений разрядов частного

При ХЗ = 1 за верша ется операция деления

ОО0 0001 0000

ОО0 0010 0000

OOO 0011 ОООО

000 0100 0000

0()0 0101 0000

100 0100 01 10

010 0111 1000

ООО 0110 0000

001 1001 1011

000 1010 0000

ООО 0110 0000

000 0000 0000

) 633396!

633396

1633396

18

19

21

22

Яф

zs

26

28

17

zs

1633396

Составитель Н. Маркелова

Редактор Н.Лаэпренко Техред И.Дидык Корректор И. Самборская

Закаэ 617 тир аж 39 7 Подписное

ВНИИЛИ Государстве <ного комитега по иэобретениям и открьггиям при ГКНТ СССР

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

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