Организация процессоров
Таким образом, время на выполнение этого умножения можно приближенно оценить как : Tумн = 4(t + 4*tsm + tsh) , где t -задержка на 1 логическом вентиле (при умножении A на bi), 4tsm-задержка на сложение при использовании сумматора с последовательным переносом, tsm – задержка одноразрядного полного двоичного сумматора, которую можно принять равной 2t, tsh -задержка на 1 сдвиг, которую также можно приравнять 2t. Тогда время умножения = 44 t. С другой стороны, поскольку все произведения A bi в принципе можно рассчитать параллельно, сдвиги также можно задать жестко, а переносы при сложении можно учесть только при завершении сложения всех 4 слагаемых (частичных произведений), вместо того, чтобы рассчитывать их на каждом шаге, процесс умножения можно значительно ускорить, если реализовать схему матричного умножителя, представленную на рис. 3.1. Это схема умножителя Брауна. На схеме не показаны вентили, необходимые для получения всхе частичных произведений, а также фиксаторы, необходимые на выходе каждой линейки сумматоров. Каждая линейка сумматоров представляет собой так называемый сумматор с сохранением переноса (ССП), который широко применяется в различных арифметических устройствах.
Рис. 3.4 Пунктиром на рисунке обведен параллельный сумматор, который может быть реализован, как показано на рисунке, то есть как сумматор с последовательным переносом, или – по схеме с ускорением переноса. Время умножения на подобном уножителе : Tумн = t + (n + m - 2)*tsm,
где n – разрядность множимого, m – разрядность множителя. В формуле не присутствуют затраты на сдвиги, так как они залдаются жестко путем соединений линеек сумматоров, кроме того, считаем, что все частичные произведения формируются за 1 логическое умножение. Для нашего случая время на умножение оказывается равным 13 t. Таким образом, быстродействие умножителя по сравнению с обычной схемой примерно в 3 раза выше.
|