Устройство умножения

 

Изобретение относится к вычислительной технике, а именно к цифровой обработке сигналов и данных и решению задач математической физики, и может найти применение в конвейерных потоковых машинах и многопроцессорных вычислительных машинах. Технический результат, достигаемый при осуществлении изобретения, состоит в том, что быстродействие устройства при обработке n-разрядных чисел, представленных в четверичной знакоразрядной системе счисления, составляет n/2. Числа представлены в двоичной избыточной системе счисления. Точность вычислений устройства в случае ненормализованных чисел составляет n/2 + 2. При использовании изобретения исключается ложное переполнение порядка результата при его коррекции за счет его предварительного преобразования, расширяются функциональные возможности, заключающиеся в корректном, стандартном формировании результата. Для достижения указанного технического результата в устройство умножения, содержащее сумматор 14 комбинационный, регистр 12 первого множимого, регистр 15 частичных произведений, введены входной блок 3, блок 5 порядков, формирователь 6 цифр результата, блок 7 результата, два умножителя 13 и 16, регистр 17 второго множимого, распределитель тактовых импульсов 18. 1 з.п.ф-лы, 8 ил., 1 табл.

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

Известно устройство умножения двоичных чисел, (см. а. с. СССР N 631919, опубликованное в 1978 г. в бюллетене N 41, заявленное в 1976 г.), представленных последовательным кодом, содержащее сумматор, регистры множимого и множителя, элементы И.

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

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

Известно устройство для умножения (см. Каган Б.М., Каневский М.Н. Цифровые вычислительные машины и системы. М.,"Энергия", 1977, с. 342-344), содержащее регистры множимого и множителя, комбинационный сумматор частичных произведений, регистр частичных произведений, схемы управления передачи множимого.

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

Причина недостатков - прием и хранение чисел, представленных параллельным кодом, фиксированная запятая.

Наиболее близким к предполагаемому изобретению является устройство для умножения (см. а.с. СССР N 868751, опубликованное 30.09.81 г. в официальном бюллетене N 36, заявленного 18.10.79 г., заявитель - ТРТИ, авторы Каляев А. В. и др. ), содержащее преобразователь позиционного кода в знакоразрядный, комбинационный сумматор частичных произведений, регистр множимого, триггер управления, элементы задержки, элементы И- ИЛИ, регистр порядка множимого, блок элементов ИЛИ, регистр частичных произведений. Множитель поступает последовательно на вход устройства, а множимое накапливается в регистре. Результат выдается в виде нескорректированного порядка, сигнала коррекции порядка и мантиссы произведения, нормализованной на один разряд влево, вправо.

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

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

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

Технический результат, достигаемый при осуществлении изобретения, состоит в том, что быстродействие устройства при обработке n-разрядных чисел, представленных в четверичной знакоразрядной системе счисления, составляет n/2, что в два раза выше быстродействия прототипа, где числа представлены в двоичной избыточной системе счисления, точность вычислений устройства в случае ненормализованных чисел составляет n/2+2, где n -разрядность операндов, что, по сравнению с прототипом, точнее на один разряд, исключается ложное переполнение порядка результата при его коррекции за счет его предварительного преобразования, расширяются функциональные возможности, заключающиеся в корректном, стандартном формировании результата.

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

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

Причинно-следственная связь между совокупностью существенных признаков заявляемого изобретения и достигаемым техническим результатом заключается в следующем: введение в суммирующее устройство новых элементов, таких, как формирователь цифр результата, блок порядков, блок результата, входной блок, соединенных соответствующим образом, позволяет повысить быстродействие вычислений в два раза за счет использования четверичной избыточной системы счисления для представления чисел, увеличить точность вычислений в случае ненормализованных чисел по сравнению с прототипом на один разряд за счет нормализации мантиссы результата на два разряда, исключить ложное переполнение порядка за счет преобразования порядка результата таким образом, что коррекция порядка производится в младшем разряде без распространения переноса в старшие разряды. Это позволяет выдавать порядок результата сразу по вычислении на выход без задержки, а перенос в младшем разряде при коррекции порядка использовать как положительное или отрицательное переполнения. Введение дополнительного сумматора в блок порядков позволяет корректно формировать результат вычислений в виде нормализованной мантиссы и скорректированного порядка, что отсутствует в прототипе, введение блока результата позволяет сформировать сигнал "ОТКАЗ" по положительному переполнению + порядка, а по отрицательному переполнению - - скорректировать результат как машинный нуль (Z = -3 -3 -3 -3,0).

Изобретение поясняется чертежами, где на фиг.1 представлена блок-схема устройства умножения, на фиг.2 - блок порядков, на фиг. 3 - формирователь цифр результата, на фиг. 4 - блок результата, на фиг.5 - входной блок, на фиг. 6 - преобразователь, на фиг.7 - фрагмент умножителя, на фиг.8 - разряд сумматора комбинационного.

Устройство содержит входы 1 и 2 поступления знакоразрядных кодов операндов Х и Y, входной блок 3, первый управляющий вход 4 устройства - вход сигнала выделения порядка и мантиссы входных операндов, блок 5 порядков, формирователь 6 цифр результата, блок 7 результата, второй управляющий вход 8 устройства - вход поступления временного сигнала коррекции порядка, третий управляющий вход 9 устройства - вход сигнала формирования порядка и мантиссы результата, выход 10 результата устройства, выход 11 отказа устройства, второй управляющий регистр 12 первого множимого, первый умножитель 13, сумматор 14 комбинационный, регистр 15 частичных произведений, второй умножитель 16, регистр 17 второго множимого, распределитель тактовых импульсов 18, четвертый управляющий вход 19 устройства - вход пуска распределителя тактовых импульсов, пятый управляющий вход 20 устройства - вход поступления временного сигнала нормализации мантиссы результата.

Блок 5 порядков (фиг.2) содержит сумматор 21, элемент задержки 22, сумматор 23, элементы 24, 25, 26 задержки, сумматор 27.

Формирователь 6 цифр результата (фиг. 3) содержит сумматор 28, элементы И 29-30, элемент ИЛИ 31, триггеры 32 и 33 управления нормализацией, элементы И 34-37, элементы И 38-40, элемент 41 задержки, элемент ИЛИ 42, элемент 43 задержки, элемент ИЛИ 44, элемент 45 задержки, элемент ИЛИ 46.

Блок 7 результата (фиг.4) содержит элементы 22 И-ИЛИ 47, И-ИЛИ 48, И 49, ИЛИ 50.

Входной блок 3 (фиг.5) содержит два элемента И 51 и И 52 и два преобразователя 53 и 54.

Преобразователь 53(54) (фиг.б) содержит три элемента И 55, 56, 57, два элемента равнозначности 58, 59, триггер 60, элемент неравнозначности 61, три элемента И 62, 63, 64, три элемента 65, 66, 67 задержки, элемент И 68, три элемента 69, 70, 71 задержки, элемент ИЛИ 72.

Фрагмент первого умножителя 13 и второго умножителя 16 (фиг. 7) содержит два разряда умножителя, один из которых содержит четыре элемента 22 И-ИЛИ 73-74, 77-78, а второй - четыре элемента 22 И-ИЛИ 75-76,79-80.

Разряд сумматора 14 комбинационного (фиг.8) содержит четыре элементарных сумматора 81 - 84.

Входы 1 и 2 поступления операндов (X и Y) устройства подключены к входам входного блока 3 (фиг. 1), управляющий вход которого соединен с первым управляющим входом 4 устройства, первый и второй выходы входного блока 3 соединены соответственно с первым и вторым входами блока 5 порядков, третий вход которого соединен с первым выходом формирователя 6 цифр результата, второй выход которого соединен с первым входом блока 7 результата, второй и третий входы которого соединены с первым и вторым соответственно выходами блока 5 порядков, управляющий вход которого соединен с вторым управляющим входом 8 устройства, третий управляющий вход 9 которого соединен с управляющим входом блока 7 результата, первый и второй выходы которого являются выходами устройства соответственно 10 - результата и 11-отказа устройства, третий выход входного блока 3 соединен с первыми входами регистра 12 первого множимого, выходы которого соединены с первыми входами первого умножителя 13, вторые входы которого соединены с четвертым выходом входного блока 3, выходы первого умножителя 13 соединены соответственно с первыми входами сумматора 14 комбинационного, вторые входы которого соединены со сдвигом на один разряд в сторону старших разрядов с выходами регистра 15 частичных произведений, входы которого соединены соответственно с выходами сумматора 14 комбинационного, третьи входы которого соединены с выходами второго умножителя 16, первые входы которого соединены с выходами регистра 17 второго множимого, вторые входы второго умножителя 16 соединены с пятым выходом входного блока 3, шестой выход которого соединен с первыми входами регистра 17 второго множимого, вторые входы которого соединены с вторыми входами регистра 12 первого множимого и выходами распределителя 18 тактовых импульсов, вход которого соединен с четвертым управляющим входом 19 устройства, пятый управляющий вход 20 которого соединен с управляющим входом формирователя 6 цифр результата, первый вход которого соединен с выходом переполнения сумматора 14 комбинационного, второй вход формирователя 6 цифр результата соединен с выходами двух старших разрядов регистра 15 частичных произведений.

Первый и второй входы блока 5 порядков (фиг.2) соединены с входами первого сумматора 21, первый выход которого соединен с входом первого элемента 22 задержки, выход которого соединен с первым входом второго сумматора 23, второй вход которого соединен с вторым выходом первого сумматора 21, выход второго сумматора 23 соединен с входом второго элемента 24 задержки, выход которого соединен с входом третьего элемента 25 задержки, выход которого соединен с входом четвертого элемента 26 задержки, выход которого соединен с первым входом третьего сумматора 27, второй вход которого соединен с третьим входом блока, управляющий вход 8 которого соединен с управляющим входом третьего сумматора 27, выходы которого являются выходами блока.

Первый и второй входы формирователя 6 цифр результата (фиг.3) соединены соответственно с первым и вторым входами сумматора 28, первый выход которого соединен с первыми входами первого и второго элементов И 29-30, выход первого элемента И 29 соединен с первым входом первого элемента ИЛИ 31, выход которого соединен с информационным входом первого триггера 32 управления нормализацией, информационный вход второго триггера 33 управления нормализацией соединен с выходом второго элемента И 30, второй выход сумматора 28 соединен с первыми входами с третьего по шестой элементов И 34-37, прямой выход первого триггера 32 управления нормализацией соединен с вторыми входами третьего и шестого элементов И 34, И 37, инверсный выход первого триггера 32 соединен с вторыми входами четвертого и пятого элементов И 35, И 36, прямой выход второго триггера 33 управления нормализацией соединен с третьими входами пятого и шестого элементов И 36, И 37 и вторым входом первого элемента И 29, инверсный выход второго триггера 33 соединен с третьими входами третьего и четвертого элементов И 34, И 35 и вторым входом второго элемента И 30, управляющий вход 20 формирователя соединен с третьими входами первого и второго элементов И 29-30, вторым входом первого элемента ИЛИ 31 и первыми входами с седьмого по девятый элементов И 38-40, выход третьего элемента И 34 соединен с вторым входом седьмого элемента И 38 и входом первого элемента 41 задержки нормализации, выход которого соединен с первым входом второго элемента ИЛИ 42, второй вход которого соединен с выходом четвертого элемента И 35, выход второго элемента ИЛИ 42 соединен с входом второго элемента 43 задержки нормализации, выход которого соединен с первым входом третьего элемента ИЛИ 44, второй вход которого соединен с вторым входом восьмого элемента И 39 и выходом пятого элемента И 36, выход третьего элемента ИЛИ 44 соединен с входом третьего элемента 45 задержки нормализации, выход которого соединен с первым входом четвертого элемента ИЛИ 46, второй вход которого соединен с вторым входом девятого элемента И 40 и выходом шестого элемента И 37, выход четвертого элемента ИЛИ 46 является первым выходом формирователя, вторым выходом которого являются выходы с седьмого по девятый элементов И 38-40.

Первый и второй входы блока 7 результата (фиг.4) соединены с первым и вторым входами соответственно элемента И- ИЛИ 47, третий вход блока соединен с третьим и четвертым входами элемента И-ИЛИ 47, первым входом элемента И-ИЛИ 48, первым входом элемента И 49, управляющий вход блока 9 соединен с вторым и третьим входами элемента И-ИЛИ 48 и вторым входом элемента И 49, первый и второй входы элемента ИЛИ 50 соединены с выходами соответственно элементов И-ИЛИ 47 и И-ИЛИ 48, выходы элементов И 49 и ИЛИ 50 являются выходами блока.

Первый информационный вход входного блока 3 (фиг.5), являющийся первым информационным входом устройства, соединен с первыми входами первого элемента И 51 и первого преобразователя 53, второй информационный вход блока, являющийся вторым информационным входом блока, соединен с первыми входами второго элемента И 52 и второго преобразователя 54, вторые входы обоих элементов И 51 и 52 и обоих преобразователей 53 и 54 соединены с управляющим входом блока, выходы первого и второго элементов И 51 и 52 соединены соответственно с первым и вторым выходами блока, первый и второй выходы преобразователя 53 являются соответственно третьим и четвертым выходами блока, пятым и шестым выходами которого являются соответственно первый и второй выходы преобразователя 54.

Информационный вход 1 (2) преобразователя 53 (54) (фиг. 6) соединен с входами первого и третьего элементов И 55, И 57, первыми входами второго элемента И 56 и элементами равнозначности И 58, И 59, второй вход второго элемента И 56 соединен с вторым входом преобразователя и первыми входами с четвертого по шестой элементов И 62-64, выход первого элемента И 55 соединен с вторым входом четвертого элемента И 62 и первым входом элемента неравнозначности 61, второй вход которого соединен с третьим входом четвертого элемента И 62 и выходом триггера 6, информационный вход которого соединен с выходом первого элемента равнозначности 58, второй вход которого соединен с выходом второго элемента И 56, выход третьего элемента И 57 соединен с вторым входом второго элемента равнозначности 59, выход которого соединен с вторым входом шестого элемента И 64, второй вход пятого элемента И 63 соединен с выходом элемента неравнозначности 61, выходы с четвертого по шестой элементов И 62-64 соединены с входами соответственное первого по третий элементов 65-67 задержки, выходы которых являются выходом Вi преобразователя 54, входы седьмого элемента И 68 соединены с выходами второго и третьего элементов 66, 67 задержки, выход которого соединен с входом пятого элемента 70 задержки, входы четвертого и шестого элементов 69 и 71 задержки соединены с выходами соответственно первого и третьего элементов 65 и 67 задержки, выходы с четвертого по шестой элементов 69-71 задержки являются выходом Ai-1 преобразователя 53, входы элемента ИЛИ 72 соединены с выходами четвертого и пятого элементов 69,70 задержки, вторым выходом ai-1(bi-1) преобразователя являются выходы элементов 69,71 и элемента ИЛИ 72.

Первые входы Aj-1(Bj-1), Aj(Bj) разрядов умножителя 13(16) (фиг.7) соединены соответственно: вход Aj-1(Bj-1) с первыми и вторыми входами первого и второго элементов И-ИЛИ 73 и 74, а вход Aj(Bj) -с первыми и вторыми входами элементов, И-ИЛИ 75 и 76, второй вход умножителя, bi-1(ai-1) соединен с третьими и четвертыми входами элементов И-ИЛИ 73-76, с первыми и вторыми входами элементов И-ИЛИ 77-80, выход элемента И-ИЛИ 73 соединен с третьими входами элементов И-ИЛИ 77 и 78, выход элемента И-ИЛИ 74 соединен с четвертыми входами элементов И-ИЛИ 78 и 79, выход элемента И-ИЛИ 75 соединен с третьими входами элементов И-ИЛИ 79-80, выход элемента И-ИЛИ 76 соединен с четвертыми входами элемента И-ИЛИ 80 и аналогичным элементом последующего разряда умножителя, четвертый вход элемента И-ИЛИ 77 соединен с выходом элемента предыдущего разряда умножителя, выходы элементов И-ИЛИ 77-78 являются выходами (j-1)-го разряда умножителя, а выходы элементов И-ИЛИ 79-80 - выходы j -то разряда умножителя.

Первый вход разряда сумматора 14 комбинационного S0,S1 (фиг. 8) соединен с первым и вторым входами элементарного сумматора 84 и с первым и вторым входами элементарного сумматора 83, второй вход разряда сумматора 1, 0 соединен с первыми входами соответственно элементарных сумматоров 81, 82, вторые входы которых соединены с выходами суммы соответствующих элементарных сумматоров 83 и 84, третьи входы которых соединены соответственно с третьим входом 1, 0 разряда сумматора 14 комбинационного, третий вход элементарного сумматора 81 соединен с выходом переноса П+ элементарного сумматора 84, а третий вход элементарного сумматора 82 соединен аналогично с выходом переноса П+ предыдущего младшего разряда сумматора комбинационного, выходы переносов П+ и П+ соответственно элементарных сумматоров 81 и 83 поступают на входы последующего старшего разряда сумматора комбинационного, первым выходом S1 разряда сумматора 14 комбинационного являются выход суммы элементарного сумматора 81 и выход переноса П+ элементарного сумматора 82, вторым выходом S0 является выход суммы элементарного сумматора 82 и выход переноса П+ аналогичного элементарного сумматора предыдущего младшего разряда сумматора 14 комбинационного.

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

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

Как видно из данных таблицы, для представления каждой цифры требуются три двоичных разряда. Это обусловливает последовательную передачу числовой информации в четверичном знакоразрядном коде по трем проводам. Каждая цифра может быть представлена как Xn(X2X1X0), где Х2 - старший бит цифры.

Устройство обрабатывает данные с плавающей запятой в двадцатиразрядном формате четверичного кода. Это эквивалентно сорока двоичным разрядам. Формат информации включает разряд маркера MP, четыре разряда порядка П и пятнадцать разрядов мантиссы М, принимающих значения из таблицы. Формат информации имеет вид, представленный в конце описания (см. схему 1).

Цифры операндов X(X1X2X3. ..Xn) и результата Z(Z1Z2Z3...Zn) для четверичного кода принимают значения {0 123}.

Устройство умножения выполняет операцию умножения Z=X Y над операндами в формате с плавающей запятой где ПX ПY ПZ - порядки операндов X, Y и результата Z, MX MY MZ - мантиссы операндов X, Y и результата Z.

Операнды, как показано выше, представлены в четверичном избыточном коде и поступают на входы по трем шинам.

С целью упрощения умножения и сокращения оборудования необходимо __ преобразовать мантиссы сомножителей XiYi {0, 1, 2, 3} в сомножители aibi {0, 1, 2}. В этом случае алгоритм умножения мантисс будет представлен следующим образом: S= a b, aibi = ai-1bi-1+(aibi), (aibi) = (ai-1bi+biai)4-i, Si = Si-14+(aibi),
где aibi - сомножители, накопленные на момент времени i,
Si -произведение на момент времени i,
(aibi) - - приращение произведения в момент времени i.

Предложенный алгоритм реализуется на устройстве следующим образом: на информационные входы 1 и 2 устройства (см. фиг. 1) поступают операнды Х и Y последовательными кодами цифра за цифрой, проходя через входной блок 3 (фиг. 5), по сигналу 4 осуществляется выделение порядков
nX(ny) = X(Y) nn
и преобразование мантисс

где ПП - потенциал выделения порядка,
a(b) - преобразованные мантиссы,
f - функция преобразования.

Преобразование мантисс сомножителей выполняется в преобразователях 53, 54 (фиг.6) в соответствии с алгоритмом:
Qi.=4Qi-1*+[Xi]+sign(Xi+1),
Q*i = Qi-2Qi-1, Q*i {0,-1}, i = 0, 1, 2,... 15,

где Xi - цифры числа, представленные дополнительным кодом,
[Xi] - значения кода цифры Xi, без знакового разряда ([Xi]0),
знаковый разряд кода цифры Xi+1.

Преобразованные сомножители ai-1,bi-1 в прямом коде поступают на умножители, а старшие цифры сомножителей Ai-1i, с выходов входного блока 3 в дополнительном коде записываются в регистры 12 и 17 соответственно первого и второго множимых. В результате в регистрах множимых по окончании приема фиксируются 8 старших цифр дополнительных кодов сомножителей Аi-1,Bi, имеющих каждый формат, представленный в конце описания (см. схему 2).

Первый и второй умножители 13 и 16 (фиг.7) формируют частичные произведения:
i-1 = Ai-1bi,
i-1 = Biai.
где i-1 и i-1 - частичные произведения соответственно первого и второго умножителей. Логические выражения для построения разрядов умножителей имеют следующий вид:




где
j = (1j, 0j), Aj= (A1j,A0j),bj= (b-i2,b+i2),(b-i1,b+i1);
j = (1j, 0j), Bj= (e1j,e0j),ai-1= (a-2i-1,a+2i-1),(a+1i-1,a-1i-1));
где 1 - индекс старшего разряда,
0-индекс младшего разряда.

Далее частичные произведения обоих умножителей поступают на сумматор 14 комбинационный (фиг. 8), на котором осуществляется сложение трех слагаемых:
Si = 4Si-1+i+i.
где S' - текущее значение суммы.

Третье слагаемое 4 Si-1 поступает из регистра 15 частичных произведений со сдвигом на разряд в сторону старших разрядов. Разряд сумматора построен в соответствии со следующими логическими выражениями:


где R = ++S++S-.


Текущие значения суммы запоминаются на регистре 15 частичных произведений.

Цифры произведения формируются на формирователе 6 цифр результата (фиг. 3) в каждом такте по значениям S0, снимаемых со старших двух разрядов регистра 15 частичных произведений, и переноса П, поступающего с сумматора 14 комбинационного, причем, S0 {0, 1, 2}, n {0, 1}.
На сумматоре 28 вычисляются цифры результата:
M = S0 + П,
а на элементах задержки 41, 43, 45 осуществляется нормализация мантиссы на два разряда в сторону старших разрядов и на один разряд в сторону младших разрядов, причем, сигналы управления нормализацией вырабатываются на триггерах управления 32, 33 в соответствии со следующими логическими выражениями: если цифра переполнения мантиссы M0 0 в момент времени T, то триггер 32 устанавливается в единичное состояние, иначе оба триггера - в "0".

+M := Mм 0T, при этом -M = 0.
В момент времени -1 , если M0 = 0 и M1 = 0, то триггер 33 устанавливается в "1".

при этом +M = 0.
В момент времени -2 , если M0 = 0, M1= 0 M2 = 0, то:
+M := (Mм = 0)T-2QT- при этом -M = 1.
Далее в соответствии с выработанными выше сигналами управления и нормализации +M и -M выполняется нормализация мантиссы произведения в следующем порядке:
- если то мантисса с выхода сумматора 28 поступает через элемент И 34 через три элемента задержки на выход блока - это нормализация на один разряд в сторону старших разрядов;
- если то мантисса нормализована и задерживается на двух элементах задержки, если то мантисса не нормализована на один разряд и задерживается на одном элементе задержки;
- если +M-M, мантисса не нормализована на два разряда и подается на выход без задержки.

В результате нормализации вырабатываются сигналы коррекции порядка на элементах И 38-39:


(n = -2), если +M-M.
С выходов формирователя нормализованная мантисса поступает на вход блока 7 результата, а сигналы коррекции порядка поступают на вход блока 5 порядков (фиг. 2), на другие входы которого поступают порядки сомножителей ПX, ПY с выходов входного блока 3.

Вычисление цифр порядка произведения осуществляется по следующему алгоритму:
S1 = ПX + ПY;

Ci* = Si - 4Pi;
Ci-1 = Ci-1* + Pi; i = 0,1,2,3;
где Si - текущая сумма цифр порядков сомножителей,
Pi - перенос текущей суммы цифр порядков,
i* - промежуточная сумма цифр,
i-1 - цифры суммы порядков, т.е. цифры порядка результата.

Как видно из алгоритма, отрицательный перенос Рi, четвертой цифры порядка результата формируется таким образом, что текущая сумма четвертой цифры порядка формируется так, что S3 = (ПX3 + ПY3) -2 с целью обеспечения нормализации мантиссы произведения на два разряда в сторону старших разрядов и чтобы при коррекции порядка произведения на величину П = -2 не возникало ложного переполнения.

На сумматорах 21 и 23 в соответствии с алгоритмом осуществляется формирование цифр порядка результата и преобразование порядка с целью "исключения в младшем разряде цифр -3,-3,-2. Цифра 3 в последнем разряде возможна лишь в том cлучае, когда все предыдущие цифры равны 3, а -3 или - 2 - когда все предыдущие цифры равны -3. Далее до получения результатов нормализации мантиссы порядок результата задерживается на элементах 24- 26 задержки, после чего на сумматоре 27 выполняется коррекция порядка результата. Как указывалось выше, сигнал коррекции порядка П может принимать значения П = {1, -1, -2, 0}.
При прохождении младшего разряда через сумматор 27 на второй вход подается величина П и подсуммируется к порядку. При этом может возникнуть перенос из младшего разряда порядка, который фиксируется как положительное переполнение, и возникает при порядке, равном 3333 и П = 1 , в результате нормализации мантиссы на один разряд вправо.

Отрицательный перенос может возникнуть, когда порядок равен -3-3-3-3 и П = -1-2 или когда порядок равен -3-3-3-2 и П = -2
Положительный перенос фиксируется как положительное + переполнение, по которому вырабатывается в блоке 7 результата сигнал "ОТКАЗ".

Отрицательный перенос фиксируется как отрицательное переполнение порядка - , по которому результат вычислений формируется как машинный нуль, у которого порядок П = -3 -3 -3-3, а мантисса М = 0.

С выхода блока 5 порядков скорректированный порядок и сигнал поступают на входы блока 7 результата (фиг.4), сюда же
поступает и нормализованная мантисса с выхода формирователя 6 цифр результата. В блоке 7 результата формируется результат, содержащий маркер, вырабатываемый по управляющему сигналу 9, порядок результата ПZ, представляющий собой либо скорректированный порядок ПH, поступающий с блока 5 порядков, при условии отсутствия сигнала - , либо при наличии сигнала - по управляющему сигналу 92 формируется машинный нуль, при котором ПZ = -3 -3-3-3, мантисса результата МZ есть либо нормализованная мантисса МH при отсутствии сигнала - , либо нуль при наличии сигнала - .

Сигнал "ОТКАЗ" формируется по управляющему сигналу 93 при наличии сигнала + .

Блоки заявляемого устройства умножения могут быть реализованы средствами вычислительной техники отечественного производства. Так, например, в качестве сумматоров в составе блока порядков, формирователя и сумматора в составе сумматора 14 комбинационного может быть использован сумматор, описанный в А. С. N 1663610 от 15.03.91, опубликованный в БИ N 26 от 15.04.91. Остальные блоки устройства, в том числе и сумматоры, могут быть реализованы на элементах серий 1531, 1533, 1554. В качестве элемента задержки используются D-триггеры.

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

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

Это способствует увеличению точности вычислений в случае ненормализованных чисел на один четверичный разряд по сравнению с прототипом.

Например, результат представляет собой после вычислений ненормализованное число:

В результате нормализации на два разряда в сторону старших разрядов результат будет следующий:

В-третьих, введение блока порядков позволяет исключить ложное переполнение порядка за счет преобразования порядка, что позволяет расширить диапазон обрабатываемых чисел.

Порядок обрабатываемых чисел преобразуется таким образом, что в младшем разряде порядка результата отсутствуют цифры 3,-3,-2. Цифра 3 в младшем разряде порядка возможна в случае, когда все предыдущие цифры 3, а цифры -3 и-2 в младшем разряде могут быть, когда все предыдущие цифры (-3). Такое преобразование порядка позволяет выполнить коррекцию в младшем разряде, не заботясь о том, что при коррекции может возникнуть перенос из младшего разряда. Это позволяет выдавать порядок результата на выход устройства сразу по мере его вычисления без дополнительной задержки, а в случае переноса из младшего разряда он фиксируется как переполнение порядка. Причем, положительный перенос возникает при порядке результата, равном +3,+3,+3,+3, и коррекции порядка П = 1 . А отрицательный перенос может возникнуть в двух случаях, когда порядок равен -3,-3,-3,-3 и П = -1-2 и когда порядок равен -3, -3, -3, -2 и П = -2 . Ложное положительное переполнение + при отсутствии преобразования может возникнуть при любом порядке, в котором младшая цифра равна 3, например, ПZ = - 3003 и П = 1 , хотя порядок далеко не максимальный. А отрицательное переполнение - возникает при порядке, например, ПZ = 300-3 и П = -1-2 и т.д. При отсутствии преобразования этого можно избежать, если задержать порядок результата, что существенно снижает быстродействие.

В-четвертых, введение дополнительного сумматора в блок порядков и блок результата позволяет корректно сформировать результат вычислений в виде нормализованной мантиссы и скорректированного порядка по результату нормализованной мантиссы:
Пн = П+П.
Кроме того, по положительному + и отрицательному - переполнениям порядка в блоке результата формируется либо сигнал "ОТКАЗ" при наличии + , по которому производится останов вычислений вследствие переполнения разрядной сетки, либо по - сформировать результат вычислений как машинный нуль, равный:
Z=-3-3-3-3,0.


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

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

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

РИСУНКИ

Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6, Рисунок 7, Рисунок 8, Рисунок 9, Рисунок 10



 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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