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

Иллюстрации

Показать все

Реферат

 

ОПИСАНИЕ

<>742933

Социалистических

Республик

ИЗОЬРЕТЕ Н И Я

Н АВТОРСКОМУ СВИДЕТЕЛЪСТВУ (61) Дополнительное к авт. свид-ву— (22) Заявлено 03.05.76 (21) 2357476!18-24 с присоединением заявки— (23) Приоритет— (43) Опубликовано 23.06.80. Бюллетень ¹ 223 (45) Дата опубликования описания 07.12.81 (51) М.Кл з G 06 г 7(39

Мосударстеенный комитет

СССР по делам изобретений и открытий (53) УДК 681.327 (088.8) (72) Авторы изобретения

А. Т. Пешков и Л. А. Глухова (71) Заявитель (54) УСТРО Й СТВО

ДЛЯ ДЕЛЕНИЯ и-РАЗРЯД Н Ъ1Х

ДЕСЯТИЧНЫХ ЧИСЕЛ

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

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

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

Наиболее близким к предлагаемому по технической сущности является устройство для деления п-разрядных десятичных чисел, содержащее (2п+ 1) -разрядные десятичный сумматор и регистр делителя, информационные выходы которого подключе5 ны к информационным входам сумматора, регистр частного и блок управления, содержащий генератор импульсов, выход которого подключен к счетному входу двухразрядного двоичного счетчика, элементы

И, элементы НЕ, элементы задержки и триггер, причем выход генератора импульсов подключен к первым входам первого, второго, третьего, четвертого и пятого элементов И, второй вход которого подключен к первому выходу двухразрядного двоичного счетчика, второму входу первого элемента И, выход которого через шестой элемент И и первый элемент задержки подключен к первому входу триггера, второй вход которого через второй элемент задержки подключен к первому входу шестого элемента И, второй вход которого и второй вход второго элемента И блока управления подключены к выходу отрицатель25 ного знака десятичного сумматора, выход положительного знака которого подключен к второму входу третьего элемента И блока управления, выход триггера и первый вход шестого элемента И через третий элемент задержки подключены к входам седь742933

l5 мого элемента И, выходы второго и треTbpI о элементов И блока управления подключены соответственно к управляющим входам «сложение» и «вычитание» десятичного сумматора, выход генератора импульсов блока управления подключен к входу

«сдвиг» регистра частного, выход четвертого элемента И блока управления подключен к первому управляющему входу регистра делителя, второй выход двухразрядного двоичного счетчика соединен с входом «запись» регистра делителя и через элемент НЕ с вторым входом четвертого элемента И, выход третьего элемента И олока управления подключен к первому управляющему входу регистра частно.-о (2).

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

Недостатком данного устройства является то, что в нем:.àòðà÷èâàåòñÿ большое время на выполнение операции деления десятичных чисел.

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

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

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

Устройство состоит из следующих элементов: — десятичный сумматор 1, содержащий (2п+1) десятичный разряд, имеющий информационные разрядные входы, управляющие входы «сложение» и «вычитание» и парафазный выход знака; — регистр 2 частного, содержащий (п+1) десятичный разряд и имеющий вход

«сдвиг», первый управляющий вход, поступление сигнала на который обеспечи«ает установку единицы в младшем двоич5

25 зо

55 бО б5

«(oM разряде регистра частного, и второй управляющий вход, сигнал на котором обеспечивает преобразование об;.)атного десятичного кода, находящегося в младшем десятичном разряде регистра частного, в пр,ямой код; — регистр 3 делителя, содержащий (2п+1) десятичный разряд, предназначенный для хранения десятичных цифр восьмикратного делителя и получения путем деления на два других его кратных, имеющий цепи деления на два, информационные разрядные выходы, соединенные с информационными входами соответствующих десятичных разрядов сумматора 1, информационные входы для младших 2п десятичных разрядов, первый управляющий вход и управляющий вход,«запись»; — дополнительный регистр 4, содержащий 2п десятичных разрядов и предназначенный для хранения восьмикратного делителя, имеющий информационные разрядные входы и выходы и управляющие входы, причем информационные входы дополнительного регистра соединены с соответствующими информационными выходами (1 — 2п) -х десятичных разрядов регистра

3 делителя, входы младших десятичных разрядов которого подключены к соответствующим информационным выходам регистра 4; — блок управления 5, имеющий вход

6 пуска, выходы 7 и 8, сопли|к цпыс с входами «вычитание» и «сложение» сумматора

1 соответственно, парафазный вход 9 знака, подключенный к выходу знака десятичного сумматора, выход 7, подсоединенный к первому управляющему входу 10 регистра 2 частного, выход 11 и 12, соединенные соответственно с управляющим входом регистра 4 и управляющим входом

«;,àïèñü» регистра 3, выход 13 соединенный с первым управляющим входом регистра 3, выход 14 и 15, подсоединенные соответственно к входу «сдвиг» и второму уп-равляющему входу регистра 2 частного.

Схема блока управления 5, обеспечивающая выполнение отдельных циклов деления, состоит из следующих элементов: — генератор 16 импульсов, выход которого соединен с выходом 14 блока управления; — двухразрядный двоичный счетчик 17, имеющий счетный вход, подключенный к выходу генератора 16 импульсов, и два выхода; — первый — седьмой элементы И 18—

24, причем первые входы первого, второго. третьего, четвертого и пятого элементов И подключены к выходу генератора импульсов 16, вторые входы первого и пятого элементов И соединены с первым выходом счетчика 17, вторые входы второго и ше ст ого и второй вход третьего элементов И подсоединены соответственно к парафаз742933 ному входу 9 отрицательного и положительного знака блока управления, выход первого элемента И подключен к первому входу шестого элемента И, выходы второго, третьего, четверто-.о, пятого и седьмого элементов И соединены соответственно с выходами 8, 7, 13, 11 и 15 блока управления; — элемент НЕ 25, вход которого соединен с вторым выходом счетчика 17 и выходом 12 блока управления, а выход— с вторым входом четвертого элемента И; — первый — третий элементы задержки 26 — 28, причем вход первого элемента задержки соединен с выходом шестого элемента И, вхады второго и третьего элементов задержки подключены к выходу первого элемента И, выход третьего элемента задержки соединен с первым входом седьмого элемента И; — триггер 29, первый и второй входы которого подключены соответственно к выходам первого и второго элементов задержки, а выход — к второму входу седьмого элемента И.

Устройство (см. фиг. 1) обрабатывает десятичную информацию, пре1дставленную в коде 8 — 4 — 2 — 1.

Деление в устройстве выполняется за (и+ 1) циклов. Каждый цикл состоит из четырех тактов. На каждом такте определяется соответствующий двоичный разряд двоична-десятичного . зображения текущей десятичной цифры частотного. Деление выполняется методом без восстановления остатков.

Устройство работает следующим образом. В исходном состоянии в сумматоре 1 (десятичных разрядах 2 — (а+ 1) находится делимое, в старших (п+ 1) десятичных разрядах регистра делителя 3 помещен восьмикратный код делителя, первый десятичный разряд сумматора, разряды регистров 2 и 4 и младшие и десятичных ра|зрядов регистра 3 установлены в нуль. Счетчик 17 и триггер 29 блока управления также установлены в нуль.

На первом цикле определяется старший десятичный разряд частного.

Первому такту соответствует нулевое состояние счетчика 17 (потенциал на первом выходе счетчика) . Поэтому по сигна лу генератора 16 импульсов формируются сигналы на выходах 7 и 11 блока управления. Сигнал с выхода 7 поступает на вход «вычитание» десятичного сумматора .1, обеспечивая вычитание из делимого кода восьмикратного делителя. Знак результата вычитания поступает на парафазный вход 9 знака блока управления. Сигнал с выхода 11 поступает на управляющий вход дополнительного регистра, управляя запоминанием в ретистре 4 содержимого 2п старших десятичных разрядов регистра 3 (кода восьмикратного делителя).

Кроме -u-,î, сигнал с выхода 7 блока у . звлспи: поступает на первый управляю1ц:;1 : вход регистра 2 частотного, выполняя запсссш;с единицы в младший разряд реr стра 2. Данная единица гасится во время первого такта первого цикла и сохраняется во всех остальных случаях.

Одновременно по сигналу генератора 16 импульсов формируется сигнал на выходе

10 14 блока управления. Кроме того, срабатывает элемент НЕ 25 и четвертый элемент И 21, обеспечивая формирование сигнала на выходе 13 блока управления, Сигнал с выхода 13 поступает на первый уп15 равляющпй вход регистра 3 делителя, обеспечивая деление его содержимого на два.

Сигнал с выхода 14 блока управления поступает на управляющий вход «сдвпг» регистра 2 частного, выполняя сдвиг сго содержимого влево на один двоичный разряд.

Кроме того, сигнал генератора 16 импульсов, поступая на счетный вход двухразрядного двоичного счетчика 17 блока

25 управления, обеспечивает установку в нем кода 01, На этом выполнение первого такта заканчивается.

Второй, третий, и четвертый такты первого цикла выполняются следующим образом: — если знак результата вычитания в сумматоре 1 положителен, то сигнал с выхода положительного знака сумматора поступает на вход 9 блока управления, обес55 печивая срабатывание по очередному сигналу генератора,16 импульсов, элемента

И 20, сигнал с выхода которого поступает на первый управляющий вход регистра 2 частного и на управляющий вход «вычита4р ние» десятичного сумматора 1, обеспечивая установку единицы в младший разряд регистра 2 частного и вычитание из содержимого сумматора 1 содержимого регистра 3;

45 — если знак результата вычитания в сумматоре 1 отрицателен, то сигнал с выхода отрицательного знака сумматора поступает на вход 9 блока управления и открывает, по очередному сигналу генератора-16 импульсов, второй элемент И 19 бло ка управления, сигнал с выхода которото поступает на вход «сложение» сумматора

1, обеспечивая добавление к содержимому сумматора 1 содержимого регистра 3.

55 Знак результата сложения — вычитания поступает на парафазный вход 9 блока управления.

Одновременно с выполнением операции сложения — вычитания в сумматоре 1 по

50 очередному сигналу генератора 16 импульсов добавляется единица к содержимому двухразрядного двоичного счетчика 17 и формируются сигналы на выходах 13 и 14 блока управления. Сигнал с выхода 14 поЕ® ступает на вход «сдвиг» регистра 2 част742933

Результат

Исходные данные сложения— вычитания

Цифра частного

Ус".oâêÿ

8 4

-I- 9120 — - 6000 — 6800

—, 8000 —, -1120

0 !

0

1 (!ни 1

8Д:2=--4Д

4Д:2=2 Ч

Остаток отрицателен — 4000 — 2880

--2000

<О ..0

2Ä:2=2

Старш1ая тетрада частного равна 0100 — 880 — 1600

+ 720 — 800 — 80

8 Лсд1

4Дсд1

2Дсд1

Цикл 2

Остаток положителен

;.. 0

-1-400

+320 — 200

>-0

Лсд! ного, обеспечивая сдвиг его содержимо-.о влево на один двоичный разряд, Сигнал с выхода 13 блока управления поступает на первый управляющий вход регистра 3 дели геля, управляя делением его содержимо-о на два, Как только содержимое счетчика 17 станет равным 11, что соответствует четвертому такту данного цикла, вырабатывается сигнал на втором выходе счетчика;7, запрещая работу четвертого элемента И

21 блока управления и обеспечив формирование сигнала на выходе 12 блока управления. Сигнал с выхода 12 поступает на вход «запись» регистра 3 делителя, обеспечивая запоминающие в регистре 3 содержимого регистра 4. B старший десятичный разряд регистра 3 при этом заносится значение нуль.

На этом заканчивается цикл.

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

Второй и все последующие циклы выполн5потся в загцси:1остц от з:1ак", результата операции сложения — вычитания по следцего такта предыдущего цикла, который запоминается в триггере 29 блока управления, На первом такте следующего цикла, которому соответствует состояние

«О» счет гика 17 (потенциал I!a первом выходе счетчика), по сигналу генератора 10 импульсов открывается первый элемент И

18, обеспечив, в случае отрццате.-1ьного знака результата сложения — вычитания четвертого такта предыдущего цикла, поступл ение сигнала через первый элемент задержки 26 ца первый вход триггера 29 (установку триггера в состояние «1») .

В случае положительного знака результа6 та последнего такта предыдущего цикла шестой элемент И 23 окажется закрытым и сигнал генератора 16 импульсов поступит через первый элемент И 18 и второй элемент задержки 27 на второй вход триг10 гера 29, обеспечив его установку в состояние «О».

Если результат сложения — вычита 1ия четвертого такта предыдущего ц1 кла и сумматоре 1 положителен, то данный ц511л

16 выполняется аналогично первому циклу.

Если же рез1льтат сло сцця — nüÿIIò0ния четвертого такта предыдущего цик,-:-, в сумматоре 1 окажется отрицательным, то

20 данный цикл выполняется следующим образом. Все сигналы бло à 5 управления ца всех четырех тактах вырабатываются ацалогично описанному для первого цикла.

После завершения четвертого такта дан26 ного цикла (в начале первого такта следующего цикла) на выходе се.(ьмого элемента И 24 блока управле1п1я формируе-ся управляющий сигнал, поступающий ца второй управляющий вход регистра частI!01 о по 1:OTopo. (Выпо, IнлеI ся лоб(1 Р. 51111е величины 1010 в ммллаадд(шпиий йдесятичный разряд частного. Десятггчный перенос, гозника1оший прц этом, блокируется.

В таблице дап при. .1ер работы предлагаемого устройства для деления а-разрядIcсятичны; чисел при с. човцц. делимое А =- 9120., делитель Д =- 20, во »мцкратный делитель 8Д = 100.

742933 з 4

1 2

Истинный код тетрады частного равен 1011+1010=0101

8. 1сд2

+ 120 — 160 — 40

+80

+40

Цикл 3

4Дсд2

2Лсд2

Остаток равен нулю

)Π— 40

+Π— 20

Младшая тетрада час

В данном примере iP соответствует

i кратному делителю, тДсд), соответствует

i-кратному делителю после J-го сдвига.

Деление считается законченным по завершении +1-го цикла.

Аналогично выполняется деление дробных десятичных чисел.

Получение восьмикратного делителя можно выполнить различными способами.

Одним из способов является получение де- 10 сятикратного делителя путем сдвига делителя на один десятичный разряд влево с последующим двукратным вычитанием делителя из полученной после сдвига величины. 15

Предлагаемое устройство обеспечивает выполнение операции деления десятичных чисел за максимальное время тного равна OIIO

Устройство для деления и-разрядных десятичных чисел, содержащее (2n+ I ) -разрядныс десятичный .,г:.втор, ре -истр дслитсля, информационные выходы которого подключеньI к Ièn;ôoðìàIIèoíèûì входам десяти:шого сумматора, (n+. 1) -разрядный регистр частного н блок управления, содержащий генератор импульсов, выход,o" торого годкл o÷åí к счетному входу двухзапядного двош)ного с- с.гчика, элементы И, элементы НЕ, элементы задержки и триггер, причем выход генератора импульсов подключен к первым .входам первого, второго, третьего и четвертого элементов И, и через первьш элемент задержки к первому входу пятого элемента И, второй вход которого подключен к первому выходу двухразря Inor o двоичного счетчика, второму входу первого элемента 11, выход которого через шестой элемент If и второй элемент задержки подключен к первому входу триггера, второй вход которого через третий элемент задержки подключен к первому входу шестого элемента И, второй вход которого и второй вход второго элемента

И блока управления подключены к выходу отрицательного знака десятичного сумматора, выход положительного знака которого подключен к второму входу третьего элемента И блока управления, выход триггера и первый вход шестого элемента И подключены к входам седьмого элемента И, выходы второ-.о и третьего элементов И блока управления подключены соответственно к управляющим входам «сложенне» и «вычитание» десятичного сумматора, выход генератора импульсов блока управления подключен к входу «сдвиг» регистра частного, выход четвертого элемента И блока управления подключен к первому поавляющему входу регистра делителя, второй выход дв; храп ря ".ного двоичного счетчика через элемент HE соединен с вторым входом четвертого элемента И, выход третьего элемента И блока управления подкл)очен к первому управляющему входу регистра частного, выход пятого элемента (I ) 20 (2) Тю1юг = 9 Tcu(n+1) 30

Т,)101 — Тд)01 4 Тсм(л i-11 где Т,, — ".л.)тельность операции сложение — вычитание в сумматоре.

Максимальное вр мя деления десятичных чисел B известном устройстве составляет величину:

Из сопоставления выражений (1) и (2) следует, что в предлагаемом устройстве максимальное время выполнения операций деления десятичных чисел меньше в 2,25 раза, чем в известном устройстве. з5

Для среднего времени деления десятичных чисел T;";„, и предлагаемом устройстве имеем

Среднее время деления десятичных операндов в известном устройстве равно вели- 45 чине сю

Т, "„„, = + 1 =5,5 Тси(д+1) . (4) На основании сопоставления выраже- 50 ний (3) и (4) можно сделать вывод, «что предлагаемое устройство обеспечивает сокращение и среднего времени деления це. сятичных операндов.

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

742933

И блока управления подключен к входу

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

Источники информации, принятые во внимание при экспертизе:

1. Авторское свидетельство СССР

1О М 233296 М. Кл. G 06 F 7)39 1967.

2. Карцев М. А., Арифметика цифровых машин. — М., «Наука», 1969, с. 525 (прототип) .

742933

4>иг. 2

Корректор И. Оснновскал

Редактор Н. Данилович

Заказ 1758/1287 Изд. P,о 528 Тира.к, 19 Подннcнoc

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

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

Тип. Харьк. фил. пред. «Патент»

15 !

Составитель Л. Глухова

Техред И. Пенчко

I (J