Устройство для деления
Иллюстрации
Показать всеРеферат
УСТРОЙСТВО ДЛЯ ДЕЛЕНИЯ, содержащее регистры делимого и делителя , преобразователь прямого кода в обратный, сумматор и блок управления , причем выход регистра делимого соединен с первым информационным входом сумматора, выход регистра делителя соединен с информационным входом преобразователя прямого кода в обратный, первый вькод блока управления соединен с входом разрешения записи регистра делимого, второй выход блока управления соединен с входом разрешения записи регистра делителя , третий выход блока управления соединен с управляющим входом сумматора, выход окончания сложения которого соединен с первым входом блока управления, отличающееся тем, что, с целью повышения быстродействия работы устройства при делении чисел в избыточной .степенной системе счисления, в него введены блок контроля регистра делимого и блок контроля регистра делителя , казкдый из которых содержит группу элементов И, количеством на единицу меньше разрядности соответствующего контролируемого регистра, и элемент ИЛИ, выход которого является выходом блока контроля, а входы соединены соответственно с выходами элементов И группы, у которых первые входы объединены и являются управляющим входом блока контроля, а второй вход каждого i-ro элемента И группы (i 1,...,п) соединен с третьим входом (i+1)-ro элемента И группы и является
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК
4(ц G 06 F 7/49
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К ABTOPCHOMV СВИДЕТЕЛЬСТВ,Ф
ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР пО делАм изОБРетений и ОтнРытий (21) 3563467/24-24 (22) 14.03.83 (46) 23.04.85. Бюл. Ф 15 (72) В.В.Роздобара, И.А.Баранов, Г.В.Кремез, В.П.Лачугин и С.Н.Мордашов (53) 681.325 (088.8) (56) Авторское свидетельство СССР и 330451, кл. G 06 F 7/52, 1973.
Авторское свидетельство СССР
Ф 744564, кл. G 06 F 7/52, 1980. (54) (57) УСТРОЙСТВО ДЛЯ ДЕЛЕНИЯ, содержащее регистры делимого и делителя, преобразователь прямого кода в обратный, сумматор и блок управления, причем выход регистра делимого соединен с первым информационным входом сумматора, выход регистра делителя соединен с информационным входом преобразователя прямого кода в обратный, первый выход блока управления соединен с входом разрешения записи регистра делимого, второй выход блока управления соединен с входом разрешения записи регистра делителя, третий выход блока управления соединен с управляющим входом сумматора, выход окончания сложения которого соединен с первым входом блока управления, о т л и ч а ю— щ е е с я тем, что, с целью повьппения быстродействия работы устройства при делении чисел в избыточной .степенной системе счисления, в него введены блок контроля регистра делимого и блок контроля регистра делителя, каждый из которых содержит группу элементов И, количеством на единицу меньше разрядности соответст „„SU„„1151955 A вующего контролируемого регистра, и элемент ИЛИ, выход которого является выходом блока контроля, а входм соединены соответственно с выходами элементов И группы, у которых первые входы объединены и являются управляющим входом блока контроля, а второй вход каждого >-го элемента
И группы (i = 1,...,n) соединен с третьим входом (i+ 1)-го элемента И группы и является (i+1)-м разрядом информационного входа блока контроля, блок управления содержит последовательно соединенные счетчик, дешифратор и узел местного программного управления, шесть выходов которого являются выходами блока управления, первый, второй, третий и четвертый входы которого соединены соответственно с первым, вторым, третьим и четвертым входами узла местного программного управления, а первый, второй и третий выходы дешифратора блока управления соединены соответств,енно с пятым, шестым и седьмым входами узла местного программного управления, причем второй выход блока управления соединен с управляющим входом преобразователя прямого кода в обратный, четвертый и пятый выходы блока управления соединены соответственно с управляющими входами блоков контроля делимого и делителя, выходы которых объединены с первым выходом сумяатора и являются выходом индикации ошибки в работе устройства, шестой выход блока управления является выходом индикацйи готовности к работе устройства, выходы регистров делимого и делителя соединены
1151955
Lo>. ãâåòñ-твенно с инф>>рмапис>иными
Вхс>дам!! с>>>Оков к!>нтрО>!>! делимого и делителя и с первым и вторым информационными вхслами " óììàòîðà,,второй выход которого соединен с информационным входом регистра делимого, выход преобразователя прямого кода в обратный соединен с информационным входом регистра делителя, второй вход блока
Из обре те ние относится к автоматике и вычислительной технике и может быть использовано в процессорах вычислительных систем.
Цель изобретения — повышение быстродействия работы устройства при делении чисел в избыточной степенной системе счисления.
На фиг.. 1 представлена схема устройства; на фиг. 2 — схема блока управления, на фиг. 3 — граф состояний и переходов узла местного управления, на фиг. 4 — схема блока контроля регистра делимого.
Устройство содержит регистр 1 делимого, регистр 2 делителя, блок
3 управления, преобразователь 4 прямого кода в обратный, блок 5 контроля регистра делимого, блок 6 контроля регистра делителя, сумматор 7.
Первый вход 8 устройства соединен с первым входом регистра 1 делимого, второй вход 9 устройства соединен с первым входом регистра 2 делителя, остальные входы 10.-12 устройства соединены с соответствующими входами блока 3 управления. Выход 13 регистра 1 делимого соединен с первым входом сумматора 7 и входом блока 5 контроля регистра делимого. Выход
14 регистра 2 дечителя соединен с вторым входом сумматора 7, входом преобразователя 4 прямого кода в обратный и входом блока 6 контроля регистра делителя. Управляющие шины
15-20, объединенные в выходную шину блока 3 управления, соединены соответственно с входами разрешения записи регистра 1 делимого, регистра 2 делителя, управляющими входами преобразователя 4 прямого кода в обуп1>а>>>!енс>я я>!. >>>> т(>я >>х>>;I>>>I >>!>>>3>!с>ка си(те: >! c ч и< .>>е>>и н > t .т1>(>! с в а tpl тий Rxop блока у>!рая>>е>!ия являет ся пусковым входом у< трс>йства, четвертый вход блока ус!1>а>!>!ения является синхровходом устройства, а выход регистра делимого является выходом результата устройст ва. ратный, блоков 5 и 6 контроля регистров делимого и делителя, сумматора
7 и с выходом индикации готовности к работе устройства. Выход 2 t инди5 кации ошибки устройства объединяет выходы блоков 5 и 6 контроля регистров делимого и делителя и первый выход сумматора 7. Выход 13 регистра
1 соединен с первым выходом 22 уст-1О ройства.
Второй выход 23 сумматора 7 со- единен с вторым входом регистра 1 делимого. Выход 24 окончания сложения сумматора 7 соединен с первым входом блока 3 управления.
Блок 3 управления содержит узел
25 местного программного управления, дешифратор 26 и счетчик 27. Входы
10-12 и 24 блока 3 управления и выЮ ходы 28-30 дешифратора 26 соединены с соответствующими входами узла 25 местного программного управления.
Выходные шины 15-20 и вход счетчика
27 соединены с выходной шиной узла
25 25 местного программного управления.
На графе состояний из.ображены состояния узла 25 С и признаки f
1 1) переходов из состояния С в состоя1 ние С..
Блок 5 контроля регистра делимого содержит элементы И 31 и элемент
ИЛИ 32, причем, число элементов И равно разрядности делимого минус единица. Первые входы элементов И 31 соединены с управляющим входом 17.
Выход элемента ИЛИ 32 соединен с выходной шиной 2 1.
В устройстве делимое, делитель
4 и частное могут представляться в
1 -кодах. В 1 --системе счисления
3 1151 любое натуральное число представля- ется в виде многочлена
-n ! а с! +а о +- .+а о +а + " а
5 ния, являющееся положительным действительным корнем уравнения х -х-1=0:
2 !
1 + Й
Представление (1) называется нормальной формой представления при на- !5 личии не менее одного нуля после каждой единицы.
Веса в 1; кодах имеют следующие
+ свойства: с!. = y. g и о = с1 "+g" 2 как в двоичной фибоначчиевой системе счисления.
Операции нормализации, сложения, вычитания, кодирования отрицательных чисел и основные контрольные соотношения для 1 -кодов аналогичны таким же операциям для 1*-кодов Фибоначчи. Операции умножения и деления чисел в 1 -кодах аналогичны этим операциям в двоичной классической системе счисления. 30
Устройство работает следующим образом.
Рассмотрим случай деления модулей
2п-разрядного !» -кода делимого и и-разрядного 1 -кода делителя, при- З5
% чем их модули (1.
Перед началом деления узел 25 местного программного управления находится в состоянии СО, в котором на выходной шине 20 блока 3 управления 40 вырабатывается управляющий сигнал
УС1 "Устройство свободно" (f „ = пуск), Для выполнения деления на входы устПр име р ° а) (А) = 010100 (А),щ = 101011 (А)о р. = 101(11
<) (А) = 100000 (A)Müù = 011111 (А)обр = 011111
11
11 00110011 010001
11
11 - 00011111- 00100111 - " 001010 где а; =- (0,1); о — основание системы счисле955 4 ройства подается следующая информация: на входы 8 и 9 — соответственно модули 1 кодов делимого и делителя, на вход 10 — признак системы счисления, в которой выполняется деление, — 1 (1 -система счисления) или 1» (двоичная- классическая система счисления), на вход 11 — сигнал "Пуск", на вход 12 — серия синхроимлульсов
10, по которой тактируется переход узла 25 из одного состояния в другое.
По сигналу "Пуск" узел 25 переходит в состояние С1 (f „ = пуск) и на управляющих шинах 15 и 16 вырабатывается сигнал УС2, по которому происходит запись 2„-разрядного модуля
1 -кода делимого в регистр 1 делимого и запись инверсного значения и-разрядного модуля 1 -кода делителя в регистр 2 делителя. Регистр делителя имеет (6 +2) разряда, причем два младших раз!ояда не являются информационными и используются только для образования обратного -кода делителя, +
При з аписи делителя они у стан авлив аются в единицу.
В состоЯнии С2 („ = 1 ) на шине
16 вырабатывается сигнал УСЗ, по которому происходит образование обратного 1 -кода. По сигналу УС2 записывается прямое значение старшего разряда модуля I -кода делителя. По сигналу УСЗ выполняется нормализация инверсного значения модуля 1 -кода делителя, причем запись единицы в старший разряд регистра 2 делителя блокируется, если в старшем разряде модуля 1 — кода делителя имеется еди* ница. По окончании процесса нормализации в регистре 2 делителя формируется обратный 1 — код делителя.
После записи делимого в регистр делимого и образования обратного
1 -кода делителя в регистре делитеФ ля на управляющие выходы f7 и 18 из блока 3 управления поступают сигналы соответственно УС4 и УС5, которые включают блоки 5 и 6 контроля делимого и делителя. Эти блоки контролируют информацию, записанную 1 -кода-М ми в регистры делимого и делителя, 55 на нормальность представления и в случае ее нарушения выдают сиганл ошибки на выход 2! Устройства.
Ф 1151
Далее выполняется сложение 1"-кода делимого и обратного 1 -кода делителя в сумматоре 7. При переходе узла 25 иэ состояния С2 в состояние
СЗ (Е = 1) на управляющие входы сумматора 7 по шине 19 поступает сигнал УС6. По этому сигналу и старших разрядов 1 -кода из регистра 1 делимого записываются в и младших разрядов (и+1)-разрядного регистра 10 остатка, а и старших разрядов обратного 1+-кода делителя записываются в и-разрядный регистр переносов.
Следующим управляющим сигналом
УС7 к счетчику 27 добавляется еди- fS ница.
При переходе в состояние CS (f = 1) из блока управления на . управлякщие входы сумматора 7 по шине 19 поступает сигнал УС8. По это- 20 му сигналу промежуточная сумма с . первого выхода полусумматора записывается в регистр остатка, а промежуточный перенос с второго выхода полусумматора записывается в регистр 25 переносов..
При сложении единиц в i-х разрядах 1+-кодов слагаемых возникает единица переноса в (i+1)-й и (i-2)-й разряды суммы, По свойству нормаль- зп ной формы 1+-кодов единицу переноса можно сразу же поместить в (i+1)-й разряд промежуточной суммы, которая записывается в регистр остатка. Все образовавшиеся переносы из i-го в (i-2)-й разряд записываются в регистр переносов. При переходе узла 25 в состояние С4 нли С8 (Е = 1, e«= 1 КСл, S„= 1 КСл) на управляющий вход сумматора 7 по ур ,шине 19 поступает сигнал УС10, по которому промежуточная сумма в регистре остатка с помощью нормализации приводится к нормальной форме.
На первом такте сложения 1 -кодов на управляющий вход сумматора 7 по шине 19 поступает сигнал-УС9, по которому в младший разряд полусумматора добавляется единица, что эквивалентно сложению 1 -кода из регистра у делимого с дополнительным 1 -кодом
+» из регистра делителя.
Процесс сложения 1 -кодов в полусумматоре контролируется блок контроля сумматора, в каждом разряде ко-у торого реализуется функция ошибки
955 где d — перенос из i-го разряда, S,. — сумма в i и разряде.
Сигнал об ошибке поступает на выход 21 устрбйства. Процесс сложения промежуточных сумм с промежуточными переносами в полусумматоре продолжается до тех пор, пока все промежуточные переносы не становятся равными нулю. Сигнал КСл в этом случае поступает с выхода блока анализа конца сложения по шине 24 в блок 3 управления. На регистре остатка формируется окончательный результат сложения 1 -кода из регистра делимого с дополнительным 1 -кодом
Ф делителя.
В старший (и+1)-й разряд регистра остатка записывается перенос из и-го разряда окончательной суммы 1 -кодов слагаемых. Значение (и+1)-го разряда регистра остатка по.шине 24 поступает в блок 3 управления. Если оно равно единице, то содержимое. и старших разрядов регистра делимого больше содержимого и старших разрядов регистра 2 делителя. Если это значение получено на первом такте деления, то узел 25 местного программного управления переходит в состояние С7, в котором вырабатывается признак некорректности деления, так как модуль частного Ъ 1.
=(РИ »g=<)(C ), =1}
Сигнал об этом поетупает на вход 20 устройства, которое переходит в нулевое состояние. В противном устройство переходит в состояние С9 (f8
=(rS9Ln+13=1)С 1), в котором по сигналу УС11, поступающему по шине
15, происходит запись содержимого и разрядов регистра остатка в старшие разряды регистра делимого. По сигналу УС7 к счетчику 27 добавляется единица. Так как по свойству нормальной формы 1+-кода частного после единицы должен бить нуль, то в состоянии С10 вырабатывается управлякиций сигнал УС12 сдвига регистра делимого на два разряда влево, причем в освободившиеся после сдвига два младших разряда регистра 1 делимого записывается код 10.
Сдвиг на два разряда влево выполняется, когда нет переполнения счетчика (s„о
Если содержимое счетчика равно (н+2), то в состоянии С10 вырабатывается сигнал УС13, по которому осуществляется сдвиг регистра 1 делимого на один разряд влево, и в исходный разряд регистра 1 делимого записывается единица. Если содержимое счетчика не равно (и+1) или (n+2) то устройство переходит в состояние
СЗ, и процесс деления продолжается: оь (С+ 4 (n+1) ч (n+2))), В противном случае процесс деления завершается и в и младших разрядах регистра 1 делимого находится модуль 1+-кода частного. (f„ = (С = (n+1) ч (n+2))).
Если значение (п+1)-ro разряда регистра остатка равно нулю, то содержимое п старших разрядов регистра 1 делимого меньше содержимого и старших разрядов регистра 2 делителя. Устройство из состояния С8 переходит в состояние Сб, (f> = PS9 1.п+1) ), в котором вырабатывается сигнал
УС13 сдвйга регистра 1 делимого на
151955 8 один разряд влево, причем в младший разряд регистра 1 делимого зано. сится нуль. Далее в з ависимо сти от содержимого счетчика устройство пе5 реходит либо в состояние СЗ (f < = (С+ Ф п+1)), либо деление завершается (й„= (С+ = и+1)) .
1» 4,= 1», ь=
1 КСл P59(n+1) (С ф1), 1" КСл. P59(n+1) (С, =1), 1+ КСл, 1 P59)n+1) КСл
4 =
Деление чисел в двоичной класси10 ческой системе счисления выполняется по известному алгоритму деления с восстановлением остатка. В этом случае в устройстве отключаются преобразователь 4 прямого кода в об-!
5 ратный, блоки 5 и 6 контроля регистров делимого и делителя, нормализатор и блок контроля сумматора 7.
Кроме этого сдвиг регистра 1 делимого в каждом такте деления выполня20 ется только на один разряд. Изменение состояний узла 25 может происхо\ дить по следующим признакам:
1151955
Ю 17 18 t9 20
Фиг.2
1151915
Составитель В. Гусев
Техред С.Йовжий
Корректор В.Синицкая
Редактор Е.Папп
Филиал ППП "Патент", г. Ужгород, ул. Проектная, Заказ 23?4/37 Тираж 710 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5