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

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

Пусть имеются два целых двоичных числа без знаков Am=am-1…a0 и Bn=bn-1…b0. Их перемножение выполняется по известной схеме «умножение столбиком». Для четырехразрядных чисел, т.е. m=n=4 имеем:

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

Как видно, произведение выражается числом Pm+n=pm+n-1pm+n-2…p0.

Члены вида aibj, где i=0…(m-1) и j=0…(n-1) вырабатываются параллельно во времени конъюнкторами. Их сложение в столбцах составляет основную операцию для умножителя и определяет почти целиком время перемножения.

Матричные блоки могут быть просто множительными блоками (МБ) или множительно-суммирующими (МСБ).

МСБ реализуют операцию P=Am×Bn + Сm + Dn, т.е. добавляет к произведению два слагаемых: одно разрядности m, совпадающей с разрядностью множимого, другое разрядности n, совпадающей с разрядностью множителя.

МСБ для четырехразрядных сомножителей без набора конъюнкторов, вырабатывающих члены вида aibj, показан ниже на рисунке. Для одноразрядного сумматора принято обозначение (рис. б).

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

Максимальная длительность умножения – сумма задержек сигналов в конъюнкторах для выработки членов aibj и задержки в наиболее длинной цепочке передачи сигнала в матрице одноразрядных сумматоров, равной 2n-1 (m+m-1 в общем случае). Таким образом, задержка МСБ: t=tK+(2n-1)tSM, где tK – задержка конъюнктора.

Что касается МБ, то от схемы МСБ схема МБ отличается тем, что в ней отсутствуют сумматоры правой диагонали, т.к. при Cm=0 и Dn=0 они не требуются.

Преобразователи кодов.

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

Преобразователь прямого кода в обратный:

Матричные умножители (математические выражения, схема множительно-суммирующего блока для четырехразрядных сомножителей). - student2.ru В прямом двоичном коде XПР=XЗНXn-1…X1 один разряд, обычно старший, отображает знак числа, остальные – значение цифровых разрядов; при этом для положительного числа XЗН=0, а для отрицательного XЗН=1. Обратный код положительного двоичного числа совпадает с прямым кодом, а для отрицательного числа цифровые разряды прямого кода инвертируются.

В процессе преобразования прямого кода в обратный значение знакового разряда XЗН используется в качестве управляющего сигнала, который обеспечивает получение следующего выражения: Матричные умножители (математические выражения, схема множительно-суммирующего блока для четырехразрядных сомножителей). - student2.ru , где Yi – значение i-го разряда обратного кода; Xi – значение i-го разряда положительного входного числа (XЗН=0); Матричные умножители (математические выражения, схема множительно-суммирующего блока для четырехразрядных сомножителей). - student2.ru - значение i-го разряда отрицательного входного числа ( Матричные умножители (математические выражения, схема множительно-суммирующего блока для четырехразрядных сомножителей). - student2.ru ).

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

Преобразователь прямого кода в дополнительный:

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

Знаковый разряд прямого кода используется в качестве управляющего сигнала: если XЗН=0, то выходной код повторяет значение входного; при XЗН=1 реализуется преобразование согласно формуле:

Матричные умножители (математические выражения, схема множительно-суммирующего блока для четырехразрядных сомножителей). - student2.ru (*)

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

Схема преобразователя прямого кода в дополнительный на основе выражения (*) показана на рисунке ниже. Данный преобразователь характеризуется высоким быстродействием. Время установления выходного кода определяется тремя задержками распространения сигнала, однако по мере возрастания номера разряда линейно возрастает и требуемое число входов используемых элементов ИЛИ.

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

Еще один вариант схемы представлен ниже.

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

Здесь используются только двухвходовые элементы ИЛИ, при этом дизъюнктивная сумма переменных образуется последовательным способом. В такой реализации схема преобразователя упрощается, однако время установления выходного кода существенно увеличивается.

Практическое правило получения дополнительного кода состоит в том, что справа от первой единицы (учитывая и саму единицу) в прямом коде числа значения разрядов – неизменны, а слева от единицы (кроме знакового) - инвертируются. Например, для прямого кода 10100100 дополнительным будет код 11011100.

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

Наши рекомендации