Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PROFORG / Диплом-правка.doc
Скачиваний:
57
Добавлен:
16.04.2013
Размер:
1.18 Mб
Скачать

Быстродействующий умножитель

2.1 Введение

Умножитель является основным элементом «бабочки» микропроцессора. От его быстродействия зависит быстродействие всей системы в целом.

Простейший умножитель состоит из двух базовых частей: блока генерации частичных произведений и блока, суммирующего их. В простейшем случае умножения N-разрядных чисел, число частичных произведений также равноN(достаточно вспомнить школьный метод умножения «столбиком»). Бут предложил схему (а реально, существует множество схем, базирующихся на этой), сокращающую число частичных произведений.

Второй непременной составляющей умножителя является блок сумматоров, который складывает получившиеся на первом этапе частичные произведения для получения окончательного ответа. В данной дипломной работе, этот блок состоит из двух частей: дерева Уоллеса и сумматора с предвычислением переносов (СПП). Дерево Уоллеса сводит сложение Mчисел к сложению двух, а СПП складывает эти оставшиеся числа.

2.2 Архитектура умножителей

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

2.2.1 Итеративный умножитель

Самый простой способ сложить несколько частичных произведений показан на рисунке 2.1. Он основан на сумматоре с регистром - аккумулятором и сдвиговом регистре. Этот умножитель относительно медленен, т.к. сложение Nчастичных произведений занимаетNтактов. Самый простой способ тактирования – использовать синхронизацию системы, в которой применяется этот умножитель. Обычно частота системы гораздо меньше, чем максимально возможная частота работы такого умножителя, так что для того, чтобы минимизировать задержку, нужно использовать множитель частоты, что не всегда удобно и возможно, или умножитель должен тактироваться своей собственной частотой.

Рис 2.1 Итеративный умножитель

2.2.2 Линейная архитектура

Более быстрая версия итерационной архитектуры позволяет складывать более одного операнда за такт, используя несколько сумматоров и генераторов частичных произведений, соединенных последовательно (см. рис. 2.2). Это эквивалентно развертке простейшего итерационного метода. Степень развертки петли определяет, на сколько частичных произведений мы уменьшаем их общее количество за такт, но с ее ростом также увеличивается схемотехническая сложность. Обычно петля развертывается до точки, где частота системы начинает соответствовать частоте умножителя. Крайний вариант – когда петля развертывается полностью.

Рис 2.2 Сложение трех операндов за такт

2.2.3 Параллельная архитектура

Для того, чтобы сложить несколько частичных произведений, совсем необязательно соединять сумматоры последовательно. Вместо этого их можно соединить так, чтобы максимально распараллелить вычисления, как показано на рис. 2.3. В этом случае схемотехнические затраты такие же, как в случае умножителей с линейной архитектурой, но межсоединения элементов носят более сложный характер. Время сложения Nэлементов в этом случае пропорциональноlogN, что гораздо быстрее для больших значенийN. С другой стороны, дополнительная сложность межсоединений сумматоров может потребовать увеличения размеров и величины задержки.

Рис 2.3 Умножитель с параллельной архитектурой

Соседние файлы в папке PROFORG