УСТРОЙСТВО ДЛЯ ДЕЛЕНИЯ Российский патент 1994 года по МПК G06F7/52 

Описание патента на изобретение RU2018934C1

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

Известно устройство для деления, формирующее в каждом также k цифр частного ( 2≅ k ≅ ][ , где n - разрядность делимого и делителя; ] x [ - ближайшее целое, большее или равное x) и содержащее регистр делимого, регистр делителя, сумматор частного, сумматор принудительного округления делителя, блок деления усеченных чисел, блок умножения, регистр цифр частного, три вычитателя, два коммутатора и блок управления [1].

Основным недостатком этого устройства является низкое быстродействие, так как старшие k цифр частного формируются в течение двух первых тактов работы устройства (в первом такте происходит загрузка регистра делителя, а во втором - загрузка регистра делимого и формирование k самых старших цифр частного).

Наиболее близким по технической сущности к изобретению является устройство для деления, формирующее в каждом такте k цифр частного ( 2≅ k ≅ ][ , где n - разрядность делимого и делителя) и содержащее регистр делимого, регистр делителя, сумматор частного, сумматор принудительного округления делителя, блок деления усеченных чисел, блок умножения, регистр цифр частного, три вычитателя, три коммутатора и блок управления, причем выходы делителя и делимого через шину данных устройства соединены с информационными входами регистра делителя и с информационными входами первой группы первого коммутатора, выходы первого коммутатора соединены с информационными входами регистра делимого, выходы которого соединены с входами уменьшаемого первого вычитателя, входы вычитаемого и заема которого соединены с выходами первой и второй групп блока умножения соответственно, выходы разности и заема первого вычитателя соединены с входами уменьшаемого и вычитаемого второго вычитателя соответственно, выходы которого соединены с информационными входами второй группы первого коммутатора, входы первой группы блока умножения соединены с выходами регистра делителя соответственно, информационные входы первой группы второго коммутатора соединены с выходами старших разрядов делимого через шину данных устройства, выход старших разрядов регистра делителя соединен с информационными входами первой группы третьего коммутатора, информационные входы второй группы которого соединены с выходами старших разрядов делителя через шину данных устройства, выходы третьего коммутатора соединены с входами сумматора принудительного округления делителя, вход логической "1" устройства соединен с входом переноса сумматора принудительного округления делителя, выходы которого соединены с входами делителя блока деления усеченных чисел, входы делимого которого соединены с выходами второго коммутатора, выходы блока деления усеченных чисел соединены с информационными входами регистра цифр частного, выходы которого соединены с входами второй группы блока умножения и с входами младших разрядов сумматора частного, выходы старших разрядов разности и заема первого вычитателя соединены с входами уменьшаемого и вычитаемого третьего вычитателя соответственно, вход заема третьего вычитателя соединен с входом логической "1" устройства, выходы младших разрядов третьего вычитателя соединены с информационными входами второй группы второго коммутатора, вход синхронизации устройства соединен с синхровходами регистров делимого и делителя, сумматора частного, регистра цифр частного и блока управления, первый выход блока управления соединен с входом разрешения записи регистра делителя и входом установки в ноль сумматора частного, а также с первыми управляющими входами первого, второго и третьего коммутаторов, второй выход блока управления соединен с вторыми управляющими входами первого, второго и третьего коммутаторов и входом разрешения записи сумматора частного, третий выход блока управления соединен с входом разрешения записи регистра делимого и регистра цифр частного, четвертый выход блока управления является выходом признака окончания деления устройства, выходы сумматора частного являются выходами частного устройства, выход старшего разряда третьего вычитателя соединен с третьим управляющим входом второго коммутатора [2].

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

Цель изобретения - повышение быстродействия устройства за счет сокращения длительности такта формирования k цифр частного. Оно достигается тем, что из длительности такта устранена задержка, вносимая первым вычитателем.

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

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

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

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

Устройство для деления содержит (фиг. 1) регистр 1 делимого, регистр 2 делителя, сумматор 3 частного, формирователь 4 частичных произведений, блок 5 суммирования, первый 6 и второй 7 сумматоры, коммутаторы 8, 9 и 10, сумматор 11 принудительного округления делителя, блок 12 деления усеченных чисел, состоящий из узла 13 вычисления обратной величины и узла 14 умножения, регистр 15 цифр частного, элемент ИЛИ-НЕ 16, блок 17 управления, шину 18 данных устройства, вход 19 синхронизации устройства, вход 20 логической "1" устройства, выход 21 частного устройства, выход 22 регистра 1 делимого, выход 23 регистра 2 делителя, выход 24 старших разрядов регистра 2 делителя, выходы 25 третьего коммутатора 10, выходы 26 сумматора 11 принудительного округления делителя, выходы 27 узла 13 вычисления обратной величины, выходы 28 второго коммутатора 9, выходы 29 узла 14 умножения (они же являются выходами блока 12 деления усеченных чисел), выходы 30 регистра 15 цифр частного, выход 31 формирователя 4 частичных произведений, выходы 32 и 33 сумм и переносов блока 5 суммирования соответственно, выходы 34 и 35 старших разрядов сумм и переносов блока 5 суммирования, выход 36 первого сумматора 6, выход 37 старших разрядов первого сумматора 6, выход 38 элемента ИЛИ-НЕ 16, выход 39 второго сумматора 7, выходы 40 первого коммутатора 8, выход 41 старших разрядов делимого шины 18 данных устройства, выход 42 старших разрядов делителя шины данных устройства, выходы 43-46 блока 17 управления. Шина 18 данных устройства соединена с информационными входами регистра 2 делителя и с информационными входами первой группы первого коммутатора 8, выходы 40 которого соединены с информационными входами регистра 1 делителя. Информационные входы первой группы второго коммутатора 9 соединены с выходом 41 старших разрядов делимого через шину 18 данных устройства.

Выход 24 старших разрядов регистра 2 делителя соединен с информационными входами первой группы третьего коммутатора 10, информационныев ходы второй группы которого соединены с выходом 42 старших разрядов делителя через шину 18 данных устройства. Выходы 25 третьего коммутатора соединены с входами сумматора 11 принудительного округления делителя. Вход 20 логической "1" устройства соединен с входом переноса сумматора 11 принудительного округления делителя, выходы 26 которого соединены с входами делителя блока 12 деления усеченных чисел, входы делимого которого соединены с выходами 28 второго коммутатора 9. Выходы 29 блока 12 деления усеченных чисел соединены с информационными входами регистра 15 цифр частного, выходы 30 которого соединены с входами младших разрядов сумматора 3 частного. Выход 23 регистра 2 делителя соединен с первым информационным входом формирователя 4 частичных произведений, выходы 30 регистра 15 цифр частного соединены с вторым информационным входом формирователя 4 частичныхп роизведений. Выход 22 регистра 1 делимого соединен с первым информационным входом блока 5 суммирования, второй информационный вход блока 5 суммирования соединен с выходом 31 формирователя 4 частичных произведений, выход 32 сумм и выход 33 переносов блока 5 суммирования соединены с входами первого и второго слагаемого первого сумматора 6 соответственно, выходы 34 и 35 старших разрядов соответственно сумм и переносов блока 5 суммирования соединены с входами первого и второго слагаемого второго сумматора 7 соответственно. Выход 39 второго сумматора 7 соединен с информационными входами второй группы второго коммутатора 9, выход 36 первого сумматора 6 соединен с информационными входами первого коммутатора 8, выход 37 старших разрядов первого сумматора 6 соединен с первым входом элемента ИЛИ-НЕ 16, выход 38 которого соединен с входом установки в ноль регистра 15 цифр частного. Вход 19 синхронизации устройства соединен с синхровходами регистров 1 делимого и 2 делителя сумматора 3 частного, регистра 15 цифр частного и блока 17 управления. Первый выход 43 блока управления соединен с входом разрешения записи регистра 2 делителя, сумматора 3 частного, регистра 15 цифр частного и блока 17 управления. Первый выход 32 блока управления соединен с входом разрешения записи регистра 2 делителя, входом установки в ноль сумматора 3 частного, а также с первыми управляющими входами первого 8, второго 9 и третьего 10 коммутаторов и с вторым входом элемента ИЛИ-НЕ 16, второй выход 44 блока управления соединен с вторыми управляющими входами первого 8, второго 9 и третьего 10 коммутаторов и входом разрешения записи сумматора 3 частного, третий выход 45 блока управления соединен с входом разрешения записи регистра 1 делимого и регистра 15 цифр частного, четвертый выход 46 блока управления является выходом признака окончания деления устройства. Выходы сумматора 3 частного являются выходом 21 частного устройства.

Регистры 1 и 2 делимого и делителя предназначены для хранения двоичных кодов делимого (остатков) и делителя соответственно. Регистр 1 делимого (n+1)-разрядный, из которых один разряд расположен слева от запятой, а остальные - справа oт запятой. Регистр 2 делителя содержит n разрядов, причем все разряды расположены справа от запятой.

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

Предлагается, что все регистры устройства построены на двухтактных синхронных DV-триггерах. Запись информации в регистры производится по синхроимпульсу при наличии разрешающего потенциала на их V-входах.

Сумматор 3 частного предназначен для хранения частного. Он также участвует в операции деления в процессе формирования правильного частного. В первом такте деления сумматор 3 частного обнуляется путем подачи синхроимпульса с входа 19 синхронизации устройства на его синхровход и разрешающего потенциала с первого выхода 43 блока 17 управления на вход разрешения установки в ноль сумматора 3 частного. Во всех остальных тактах работы устройства в сумматоре 3 частного накапливается значение частного. Для этого к значению частного, сформированному на предыдущих тактах работы устройства и сдвинутому на k-1 разряд влево (в сторону старших разрядов), прибавляется значение k цифр частного, поступающих на входы его младших разрядов с выходов 30 регистра 15 цифр частного (старшая из k очередных цифр частного является корректирующей для частного, сформированного к данному моменту в сумматоре 3 частного). Запись информации в сумматор 3 частного также осуществляется по синхроимпульсу при наличии разрешающего потенциала на его входе разрешения записи, который подключен к второму выходу 44 блока 17 управления. После завершения деления образованное в сумматоре 3 частное поступает на выход 21 частного устройства. Предполагается, что сумматор 3 частного реализован так же, как и в устройстве-прототипе, т.е. на комбинационном сумматоре и регистре.

В формирователе 4 частичных произведений осуществляется формирование частичных произведений, получаемых при перемножении значения n-разрядного делителя, хранимого в регистре 2 делителя в прямом коде и поступающего на первый информационный вход формирователя 4 частичных произведений с выхода 23 регистра 2 делителя, и k-разрядного частного, сформированного на выходах 29 блока 12 деления усеченных чисел в прямом коде и поступающего на второй информационный вход формирователя 4 частичных произведений с выходов 30 регистра 15. При этом на выходе 31 формирователя 4 частичных произведений формируется ряд частичных произведений, соответствующих умножению множимого на отрицательный множитель в дополнительном коде без представления множителя в дополнительном коде. В качестве множимого используется n-разрядный делитель, в качестве множителя используются k цифр частного, полученные на выходах 30 регистра 15 цифр частного.

На фиг. 2 показана функциональная схема формирователя 4 частичных произведений при k=4. На первый информационный вход формирователя 4 с выхода 23 регистра 2 делителя поступает значение n-разрядного делителя, а на второй информационный вход с выходом 30 регистра 15 цифр частного - значение k-разрядного частного в виде Z=Z1, Z2 Z3 Z4. Для формирования частичных произведений применяется способ умножения на два разряда множителя с анализом трех разрядов множителя, причем каждое частичное произведение соответствует умножению множимого на два разряда отрицательного множителя в дополнительном коде. На выходе 31 формирователя 4 частичных произведений при k= 4 образуются три частичных произведения. Формирователь 4 частичных произведений реализован на дешифраторах 47, 48 и 49 и коммутаторах 50, 51 и 52. В табл. 1 поясняется формирование частичного произведения на выходе одного из коммутаторов формирователя 4 частичных произведений в зависимости от расшифровки одной двухразрядной группы разрядов множителя вместе со старшим разрядом соседней младшей группы.

С помощью блока 5 суммирования осуществляется сложение текущего остатка, поступающего с выхода 22 регистра 1 делимого, с рядом частичных произведений, образованных на выходе 31 формирователя 4 частичных произведений и сдвинутых относительно друг друга определенным образом. Результат этого сложения является очередным остатком и получается на выходе 32 сумм и выходе 33 переносов блока 5 суммирования в двухрядном коде. Блок 5 суммирования фактически является преобразователем многорядного кода в двухрядный и может быть реализован различными методами.

Первый сумматор 6 осуществляет преобразование двухрядного кода очередного остатка, образованного на выходах 32 и 33 блока 5 суммирования, в однорядный код. Он является сумматором комбинационного типа с распространением переноса. С выхода 36 первого сумматора 6 значение очередного остатка в однорядном коде записывается в регистр 1 делимого.

С помощью второго сумматора 7, второго коммутатора 9, третьего коммутатора 10, сумматора 11 принудительного округления делителя и блока 12 деления усеченных чисел, состоящего из узла 13 вычисления обратной величины и узла 14 умножения, в устройстве по значению старших разрядов делимого (остатка) и делителя формируется k двоичных цифр частного, причем их формирование происходит параллельно с работой первого сумматора 6, на выходе 36 которого образуется значение очередного остатка в однорядном коде.

Пусть делимое X и делитель Y есть нормализованные двоичные дроби, т.е. 1/2 ≅ X < 1 и 1/2 ≅ Y < 1. Это справедливо только в первом такте деления. В дальнейшем, когда в роли делимого выступают промежуточные остатки, возможно нарушение нормализации делимого как влево, так и вправо. В общем случае делимое X в предлагаемом устройстве может изменяться в пределах 0 ≅ X < 2Y. Можно показать, что для получения в устройстве k очередных цифр частного с точностью до единицы их младшего разряда достаточно обрабатывать k+4 старших разрядов остатка (один разряд - слева от запятой, а остальные - справа от запятой), k+3 старших разрядов делителя Y (все разряды расположены справа от запятой) и k+2 старших разрядов обратной величины (один разряд - слева от запятой, остальные - справа). Чтобы значение этих k цифр частного не превышало истинное значение, т.е. чтобы было равно истинному значению или было меньше его на единицу младшего разряда с весом 2-(l-1), в сумматоре 11 осуществляется принудительное увеличение значения старших разрядов делителя на единицу их младшего разряда.

Второй сумматор 7 комбинационного типа с распространением переноса. На его входы первого и второго слагаемых с выходов 34 и 35 старших разрядов сумм и переносов блока 5 суммирования подается значение k+4 старших разрядов (один разряд - слева от запятой, а остальные - справа) сумм и переносов двухрядного кода очередного остатка, образованного на выходах 32 и 33 блока 5 суммирования. На выходе 39 второго сумматора 7 образуется (k+4)-разрядный результат. Фактически с помощью второго сумматора 7 в устройстве осуществляется опережающее формирование значения старших разрядов очередного остатка в однорядном коде, так как малоразрядный второй сумматор 7 работает быстрее многоразрядного первого сумматора 6.

С помощью первого коммутатора 8 осуществляется передача на информационные входы регистра 1 делимого либо делимого через шину 18 данных устройства, когда на первом выходе 43 блока 17 управления формируется сигнал логической "1", либо однорядного кода остатка, образованного на выходе 36 первого сумматора 6, когда на втором выходе 44 блока 17 управления формируется сигнал логической "1". Каждый разряд коммутатора 8 может быть реализован на одном элементе 2И-2ИЛИ.

С помощью второго коммутатора 9 осуществляется передача на входы делимого блока 12 деления усеченных чисел значения (k+4)-разрядного кода (один разряд - слева от запятой, а остальные - справа). Коммутатор 9 работает следующим образом. Если на его первом управляющем входе, который подключен к первому выходу 43 блока 17 управления, присутствует сигнал логической "1", то на выходы 28 второго коммутатора 9 с выходов 41 старших разрядов делимого через шину 18 данных устройства подаются k+3 старших разрядов делимого (один разряд - слева от запятой, а остальные - справа, причем разряд слева от запятой равен нулю), так как в первом такте работы устройства k цифр частного формируются по однорядному коду остатка. Если на второй управляющий вход коммутатора 9, который подключен к второму выходу 44 блока 17 управления, поступает сигнал логической "1", то к выходам 28 второго коммутатора 9 подключаются информационные входы второй группы, на которые подается с выхода 39 значение k+4 разрядов результата второго сумматора 7 (один разряд - слева от запятой, а остальные - справа). Каждый разряд коммутатора 9 может быть реализован на одном элементе 2И-2ИЛИ.

С помощью третьего коммутатора 10 осуществляется передача на входы сумматора 11 принудительного округления делителя значения k+3 старших разрядов (все разряды справа от запятой) кода делителя либо через шину 18 данных устройства, когда на первом управляющем входе, который подключен к первому выходу 43 блока 17 управления, присутствует сигнал логической "1", либо с выхода 24 регистра 2 делителя, когда на втором управляющем входе, который подключен к второму выходу 44 блока 17 управления, присутствует сигнал логической "1". Каждый разряд коммутатора 10 может быть реализован на одном элементе 2И-2ИЛИ.

Сумматор 11 (k+3)-разрядный комбинационного типа. В сумматоре 11 осуществляется принудительное округление делителя путем прибавления к значению k+3 старших разрядов делителя, поступающих на информационные входы сумматора 11 с выходов 25 третьего коммутатора 10, единицы в младший разряд, поступающей на вход переноса сумматора 11 принудительного округления делителя через вход 20 логической "1" устройства. На выходе 26 сумматора 11 принудительного округления делителя образуется (k+4)-разрядный результат (один разряд - слева от запятой, а остальные - справа от запятой), который далее поступает на входы делителя блока 12 деления усеченных чисел.

В блоке 12 осуществляется деление (k+4)-разрядных двоичных чисел (один разряд этих чисел расположен слева от запятой, а остальные - справа от запятой) с образованием на выходах 29 k цифр частного. Деление в блоке 12 осуществляется путем умножения значения делимого на значение обратной величины делителя. Для этого блок 12 содержит комбинационный узел 13 вычисления обратной величины (на его выходах 27 образуется (k+2)-разрядный код старших разрядов обратной величины) и комбинационный узел 14 умножения. Узел 13 может быть выполнен в виде комбинационной схемы, реализующей, например, метод деления Стефанелли, или совместно с сумматором 11 на ПЗУ по соответствующей таблице истинности.

Регистр 15 цифр частного предназначен для временного хранения сформированных на выходах 29 блока 12 k очередных цифр частного. Запись в него информации производится по синхроимпульсу при наличии на его входе разрешения записи сигнала логической "1", который подключен к третьему выходу 45 блока 17 управления. Обнуление регистра 15 цифр частного производится также по синхроимпульсу при наличии на его входе установки в ноль сигнала логической "1", подаваемого с выхода 38 элемента ИЛИ-НЕ 16. В случае наличия сигналов логической "1" как на входе разрешения записи, так и на входе установки в ноль регистра 15 цифр частного, по синхроимпульсу происходит обнуление регистра 15 цифр частного, так как приоритет у входа установки в ноль выше, чем у входа разрешения записи.

Так как в предлагаемом устройстве при формировании k цифр частного используются старшие разряды остатка, полученные при приведении на втором сумматоре 7 к однорядному коду старших разрядов двухрядного кода остатка, то становится возможным образование в устройстве неправильного значения k цифр частного. Так, если значение старших разрядов приведенного остатка, полученного на выходе 36 первого сумматора 6, равно нулю, то при формировании однорядного кода старших разрядов остатка путем сложения на втором сумматоре 7 старших разрядов двухрядного кода остатка возможно получение значения суммы на выходе 39 сумматора 7 меньшего, чем ноль на единицу младшего разряда, т.е. значения . Для исключения возможности получения в устройстве неверного значения k цифр частного в нем предусмотрена блокировка (формирование значения k цифр частного, равного нулю) k цифр частного, полученных на выходах 29 блока 12 деления усеченных чисел путем подачи на вход установки в ноль регистра 15 цифр частного уровня логической "1" с выхода 38 элемента ИЛИ-НЕ 16. Уровень логической "1" на выходе элемента ИЛИ-НЕ 16 устанавливается в том случае, если значение k старших разрядов однорядного кода остатка, полученного на выходе 37 старших разрядов первого сумматора 6, равно нулю и одновременно на втором входе элемента ИЛИ-НЕ 16, который подключен к первому выходу 43 блока 17 управления, присутствует сигнал логического "0". Во всех других случаях осуществляется запись в регистр 15 цифр частного, полученных на выходах 29 блока 12 деления усеченных чисел.

Блок 17 управления координирует работу узлов и блоков устройства при выполнении в нем операции деления. Как и в устройстве-прототипе он может быть реализован различными методами, например, на счетчике 53 и памяти 54 микрокоманд (фиг. 3). Счетчик 53 накапливающего типа и предназначен для естественной адресации микрокоманд. Вход счета счетчика 53 соединен с входом 19 синхронизации устройства. В качестве памяти 54 микрокоманд может быть применена быстродействующая постоянная память емкостью (M+1) 4 бит, где M= - число тактов собственно деления, в течение которых в устройстве формируется [M≅ (k-1)+1] цифр частного; ] X[ - ближайшее целое, большее или равное X. В самом начале работы устройства счетчик 53 устанавливается в некоторое исходное состояние, например в ноль (на фиг. 3 цепь установки счетчика 53 в исходное состояние не показана). Микропрограмма работы устройства представлена на фиг. 4.

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

Пусть на входе 18 данных устройства присутствуют без знаков n-разрядные двоичные коды делителя Y и делимого X (т.е. коды дробных частей делителя и делимого), а счетчик 53 блока 17 управления установлен в начальное нулевое состояние. Тогда на первом 43 и третьем 45 выходах блока 17 управления формируются единичные сигналы, под действием которых коммутатор 8 пропускает на информационные входы регистра 1 делимого делимое X с шины 18 данных устройства, второй коммутатор 9 пропускает на входы делимого блока 12 деления усеченных чисел значение старших разрядов делимого с выхода 41 через шину 18 данных устройства, третий коммутатор 10 пропускает на информационные входы сумматора 11 принудительного округления делителя значение старших разрядов делителя с выхода 42 через шину 18 данных устройства, на выходах 29 блока 12 деления усеченных чисел формируется значение Z1 самых старших k цифр частного, регистры 1, 2, 15 подготовлены к приему информации, так как на входах разрешения записи этих регистров присутствуют сигналы логической "1" и на выходе 38 элемента ИЛИ-НЕ 16 формируется сигнал логического "0", который не приводит к обнулению регистра 15 в первом такте работы устройства, сумматор 3 частного настроен на обнуление, так как на его входе установки в ноль присутствует сигнал логической "1", сформированный на выходе 43 блока 17 управления.

С приходом первого синхроимпульса на вход 18 синхронизации устройства осуществляются запись двоичных кодов делимого X и делителя Y в регистры 1 и 2 соответственно, в регистр 15 - значения Z1 самых старших k цифр частного Z, а также обнуление сумматора 5 частного. Счетчик 53 блока 17 управления устанавливается в состояние "1". После завершения действия первого импульса на входе 19 синхронизации устройства заканчивается первый такт (подготовительный этап) и начинается собственно деление, в процессе которого в течение M тактов формируется [M˙(k-1)+1] двоичных цифр частного.

Во втором такте (в первом из M тактов собственно деления) работы устройства на втором 44 и третьем 45 выходах блока 17 управления формируются сигналы логической "1". Под действием этих управляющих сигналов в устройстве выполняются следующие действия. На выходе 31 формирователя 4 частичных произведений образуется ряд частичных произведений, получающихся при умножении Y˙ (-Z1). С помощью блока 5 суммирования и первого сумматора 6 формируется сумма X+Y˙ (-Z1) в однорядном коде, которая в дальнейшем служит очередным остатком и передается на информационные входы регистра 1 со сдвигом на k-1 разрядов влево (в сторону старших разрядов). По значению старших разрядов сумм и переносов, образованных на выходах блока 5 суммирования, на выходе 39 второго сумматора 7 формируется значение старших разрядов однорядного кода первого остатка, которое далее через второй коммутатор 9 передается на входы делимого блока 12 деления усеченных чисел, третий коммутатор 10 пропускает на входы сумматора 11 значение старших разрядов делителя с выхода 24 регистра 2 делителя, на выходах 29 блока 12 получается значение Z2 следующих очередных цифр частного Z. Старшие k разрядов образованного в первом сумматоре 6 результата поступают с выхода 37 старших разрядов первого сумматора 6 на первый вход элемента ИЛИ-НЕ 16. Если значение k старших разрядов первого сумматора 6 равно нулю, то на выходе 38 элемента ИЛИ-НЕ 16 формируется сигнал логической "1" (так как на первом выходе 43 блока 17 управления сформирован сигнал логического "0"), в противном случае - сигнал логического "0". Сигнал с выхода 38 элемента ИЛИ-НЕ 16 поступает на вход установки в ноль регистра 15 цифр частного. Если этот сигнал соответствует уровню логического "0", то в качестве Z2 следующих цифр частного Z используется k цифр частного, образованных на выходе 29 блока 12 деления усеченных чисел, а если этот сигнал соответствует уровню логической "1", то происходит блокировка записи в регистр 15 цифр частного, поступающих с выходов 29 блока 12 деления усеченных чисел, путем обнуления регистра цифр частного (в устройстве в этом случае используется значение Z2 следующих k цифр частного Z, равное нулю). К содержимому сумматора 3 частного (во втором такте содержимое сумматора 3 еще равно нулю), сдвинутому на k-1 разрядов в сторону его старших разрядов, осуществляется прибавление значение Z1 частного Z, которое хранится в течение второго такта в регистре 15 частного и подается на входы младших разрядов сумматора 3 частного. Регистр 1 и сумматор 3 частного подготовлены к приему информации, а регистр 15 цифр частного в зависимости от значения сигнала на его входе установки в ноль подготовлен к приему информации либо к обнулению.

С приходом второго синхроимпульса на вход 19 синхронизации устройства в регистр 1 записывается сформированный на выходе 36 первого сумматора 6 очередной остаток, в младшие разряды сумматора 3 частного заносится значение Z1 старших k двоичных цифр частного Z, в регистр 15 цифр частного записывается значение Z2 очередных k цифр частного Z, счетчик 43 блока 17 управления устанавливается в состояние "2". На этом второй такт работы устройства заканчивается и далее выполняется еще M-1 аналогичных второму тактов, в течение которых (включая второй такт) формируется в сумматоре 3 частного [M ˙ k-1)+1] двоичных цифр частного Z. В каждом из этих тактов старшая двоичная цифра из k очередных цифр частного, образованных на выходах 30 регистра 15 цифр частного и поступающих на входы младших разрядов сумматора 3 частного, подсуммируются к младшему разряду содержимого сумматора 3 частного, сдвинутому на k-1 разрядов в сторону его старших разрядов.

После выполнения (M+1)-го такта на выходе 21 частного устройства образуется n-разрядное частное. В (M+1)-м такте из памяти 54 микрокоманд блока 17 управления считывается микрокоманда M+1, содержащая сигнал Y46, сигнализирующий об окончании операции деления.

Сравнение предлагаемое устройства для деления и устройства-прототипа по быстродействию. Так как в предлагаемом устройстве и в устройстве-прототипе деление выполняется за одно и то же число тактов, то для сравнения их быстродействия достаточно сравнить длительность одного такта их работы. В табл. 2 приведены результаты этого сравнительного анализа при количестве цифр частного k= 5 и использовании в качестве элементной базы элементов 2И-НЕ, 3И-НЕ и 4И-НЕ и элемента НЕ, τ - задержка на одном логическом элементе.

Из данных табл. 2 следует, что быстродействие предлагаемого устройства при k=5 примерно на 6% выше, чем быстродействие устройства-прототипа.

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

название год авторы номер документа
УСТРОЙСТВО ДЛЯ ДЕЛЕНИЯ 1991
  • Сафонова Э.М.
  • Шостак А.А.
RU2018933C1
Устройство для деления 1991
  • Сафонова Элина Михайловна
  • Шостак Александр Антонович
SU1783523A1
Устройство для деления 1990
  • Сафонова Элина Михайловна
  • Шостак Александр Антонович
SU1728862A1
Устройство для деления чисел 1990
  • Сафонова Элина Михайловна
  • Шостак Александр Антонович
SU1735844A1
Устройство для деления 1990
  • Дьякова Ольга Владимировна
  • Сафонова Элина Михайловна
  • Шостак Александр Антонович
SU1803913A1
Устройство для деления 1986
  • Батюков Александр Геннадьевич
  • Шостак Александр Антонович
SU1425657A1
Устройство для деления 1988
  • Жалковский Андрей Антонович
  • Шостак Александр Антонович
  • Шпаков Леонард Орестович
SU1520510A1
Устройство для деления 1984
  • Батюков Александр Геннадьевич
  • Шостак Александр Антонович
SU1249551A1
Устройство для деления 1985
  • Батюков Александр Геннадьевич
  • Шостак Александр Антонович
SU1357946A1
Устройство для деления чисел 1988
  • Батюков Александр Геннадьевич
  • Шостак Александр Антонович
SU1580353A1

Иллюстрации к изобретению RU 2 018 934 C1

Реферат патента 1994 года УСТРОЙСТВО ДЛЯ ДЕЛЕНИЯ

Изобретение относится к вычислительной технике и может быть использовано в быстродействующих арифметических устройствах для выполнения операции деления чисел. Изобретение позволяет повысить быстродействие по сравнению с прототипом за счет сокращения длительности такта формирования k цифр частного. Устройство содержит регистр 1 делимого, регистр 2 делителя, сумматор 3 частного, сумматор 11 принудительного округления делителя, блок 12 деления усеченных чисел, регистр 15 цифр частного, три коммутатора 8-10, блок 17 управления и введенные формирователь 4 частичных произведений, блок 5 суммирования, два сумматора 6,7 и элемент ИЛИ-НЕ 16. 2 табл., 4 ил.

Формула изобретения RU 2 018 934 C1

УСТРОЙСТВО ДЛЯ ДЕЛЕНИЯ, содержащее регистр делимого, регистр делителя, сумматор частного, сумматор принудительного округления делителя, блок деления усеченных чисел, регистр цифр частного, три коммутатора и блок управления, причем выходы делителя и делимого через шину данных устройства соединены с информационными входами регистра делителя и информационными входами первой группы первого коммутатора соответственно, выходы первого коммутатора соединены с информационными входами регистра делимого, информационные входы первой группы второго коммутатора соединены с выходами старших разрядов делимого через шину данных устройства, выход старших разрядов регистра делителя соединен с информационными входами первой группы третьего коммутатора, информационные входы второй группы которого соединены с выходами старших разрядов делителя через шину данных устройства, выходы третьего коммутатора соединены с информационными входами сумматора принудительного округления делителя, вход переноса которого соединен с входом логической единицы устройства, выходы сумматора принудительного округления соединены с входами делителя блока деления усеченных чисел, входы делимого которого соединены с выходами второго коммутатора, выходы блока деления усеченных чисел соединены с информационными входами регистра цифр частного, выходы которого соединены с входами младших разрядов сумматора частного, вход синхронизации устройства соединен с синхровходами регистров делимого и делителя, сумматора частного, регистра цифр частного и блока управления, первый выход блока управления соединен с входом разрешения записи регистра делителя и входом установки в "0" сумматора частного, а также с первыми управляющими входами первого, второго и третьего коммутаторов, второй выход блока управления соединен с вторыми управляющими входами первого, второго и третьего коммутаторов и входом разрешения записи сумматора частного, третий выход блока управления соединен с входом разрешения записи регистра делимого и регистра цифр частного, четвертый выход блока управления является выходом признака окончания деления устройства, выходы сумматора частного являются выходом частного устройства, отличающееся тем, что устройство содержит формирователь частичных произведений, блок суммирования, два сумматора и элемент ИЛИ - НЕ, причем выход регистра делителя соединен с первым информационным входом формирователя частичных произведений, второй информационный вход которого соединен с выходом регистра цифр частного, выход регистра делимого соединен с первым информационным входом блока суммирования, второй информационный вход блока суммирования соединен с выходом формирователя частичных произведений, выходы сумм и переносов блока суммирования соединены с входами первого и второго слагаемых первого сумматора соответственно, выходы старших разрядов сумм и переносов блока суммирования соединены с входами первого и второго слагаемых второго сумматора соответственно, выход второго сумматора соединен с информационными входами второй группы второго коммутатора, выход первого сумматора соединен с информационными входами второй группы первого коммутатора, выход старшего разряда первого сумматора соединен с первым входом элемента ИЛИ - НЕ, выход которого соединен с входом установки в "0" регистра цифр частного, первый выход блока управления соединен с вторым входом элемента ИЛИ - НЕ.

Документы, цитированные в отчете о поиске Патент 1994 года RU2018934C1

Аппарат для очищения воды при помощи химических реактивов 1917
  • Гордон И.Д.
SU2A1
Авторское свидетельство СССР N 4862585, кл
Приспособление для точного наложения листов бумаги при снятии оттисков 1922
  • Асафов Н.И.
SU6A1

RU 2 018 934 C1

Авторы

Сафонова Э.М.

Шостак А.А.

Даты

1994-08-30Публикация

1991-07-10Подача