- •Факультет мПиТк
- •Специальный раздел
- •1. Специализированный микропроцессор для вычисления быстрого преобразования Фурье
- •Микропроцессор для вычисления бпф
- •1.2 Введение
- •1.3 Бпф и его реализация
- •1.4 Архитектура микропроцессора
- •1.5.1 Пзу микропроцессора
- •1.6 Взаимодействие с внешним озу
- •1.6.1 Цикл чтения из озу:
- •1.6.2 Цикл записи в озу:
- •1.7 Устройство, вычисляющее бпф
- •Быстродействующий умножитель
- •2.1 Введение
- •2.2 Архитектура умножителей
- •2.2.1 Итеративный умножитель
- •2.2.2 Линейная архитектура
- •2.2.3 Параллельная архитектура
- •2.3 Генерация частичных произведений
- •2.3.1 Классическая генерация частичных произведений
- •2.3.2 Алгоритм Бута
- •2.4 Дерево Уоллеса
- •2.5 Сумматор с предвычислением переносов
- •2. Технологический процесс монтажа печатной платы устройства бпф на базе специализированного микропроцессора
- •2.1. Введение
- •2.2. Монтаж навесных компонентов на печатных платах.
- •2.2.1 Основные методы пайки
- •2.3. Выбор варианта монтажа.
- •2.4. Разработка технологического процесса сборки и монтажа печатной платы устройства бпф
- •2.4.1 Выбор флюса.
- •2.4.2 Выбор припоя.
- •2.4.3 Выбор очистительных жидкостей
- •2.4.4 Выбор клеев.
- •2.5. Алгоритм технологического процесса сборки и монтажа устройства на базе специализированного микропроцессора.
- •2.6 Вывод
- •3. Сегментация рынка пользователей специализированного микропроцессора
- •3.1 Введение
- •3.2 Принципы сегментации
- •3.3 Формализованная методика расчета сегментации рынка
- •3.4 Поиск сегментов рынка микропроцессора
- •3.5 Вывод
- •4. Рациональная организация рабочего места проектировщика интегральных схем
- •4.1 Введение
- •4.2 Неблагоприятные факторы
- •4.3 Электроопасность и пожароопасность
- •4.4 Шумы
- •4.5 Микроклимат
- •4.6 Освещенность
- •4.7 Расчет искусственного освещения
- •4.8 Воздействие статического электричества и излучения
- •4.9 Организационные мероприятия по созданию условий безопасного труда
- •4.10 Психофизиологические факторы
- •4.11Вывод
2.4 Дерево Уоллеса
Как уже было рассмотрено, существует множество различных архитектур умножителей, т.к. полученные на выходе схемы Бута частичные произведения можно суммировать по-разному. Классические способы (итеративный, линейный) с относительно медленны. Одним из наиболее эффективных их известных им замен является дерево Уоллеса.
Архитектура дерева Уоллеса позволяет складывать биты разных разрядов частичных произведений одновременно. Это делается так: на каждом шаге мы уменьшаем количество слагаемых с nдо 2n/3 с помощью сумматоров с запоминанием переноса (полных сумматоров). Эта процедура рекурсивно повторяется до тех пор, пока не останется два слагаемых. Пример схемы, уменьшающей число операндов с трех до двух можно видеть на рисунке 2.8

CSA – Carry save adder, полный сумматор.
Рис. 2.8
Рассмотрим общую идею подробнее:
Возьмем любой «срез» суммы частичных произведений шириной в 1 бит. Приплюсуем к нему биты, получившиеся на выходе предыдущей колонки (переносы). Пусть общее число битов n.
Разложим nкакn=3k0+l0, где 0<=l0<=2. На первом шаге каждый изk0триплетов сжимается полным сумматором до двух значений - сумма/перенос. Переносы приплюсуются к битам следующей колонки, всего же осталось 2k0+l0бит. Их можно разложить как 2k0+l0= 3k1+l1, где 0<=l1=2, а затем сжать триплеты полными сумматорами.
Продолжаем процедуру рекурсивно до тех пор, пока не останется два значения.
В качестве иллюстрации к вышесказанному приведу пример построения дерева Уоллеса для первых младших 8-ми бит. Замечу, что один из битов-переносов в следующий разряд выгодно оставить в качестве одного из выходных битов этого разряда (вторым выходным битом будет значение суммы в этом разряде). Поэтому, несмотря на то, что число переносов в следующий разряд равно n, участвовать в суммировании следующего будут толькоn-1 бит переноса.
|
Номера бит (младшие биты имеют меньшие номера) |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
Общее число бит (с учетом переносов из предыдущего разряда) |
4+2 |
5+1 |
3+1 |
4 |
2 |
3 |
1 |
2 |
|
Количество переносов в следующий разряд |
3 |
3 |
2 |
2 |
1 |
1 |
0 |
0 |
|
Количество требуемых сумматоров 1 |
2+ |
2+ |
1+ |
1+ |
|
1 |
0 |
0 |
|
Количество бит на выходе |
2 |
2 |
2 |
2 |
2 |
1 |
1 |
2 |
1- дробь
означает полусумматор.
2.5 Сумматор с предвычислением переносов
Рассмотрим классическое каскадное суммирование двух чисел. Сложение двух бит в разряде может привести к формированию переноса. В любом случае мы не можем перейти к суммированию следующего разряда, не получив значения переноса в текущем. Это приводит к тому, что перенос «путешествует» через все разряды. Как результат, финальная сумма и перенос будут доступны после значительной задержки. Для схемы на рисунке 2.9, значение бита суммы в самом старшем разряде будет доступно после 2(N-1) +1 значений задержек срабатывания вентилей., гдеN– число бит операндов. Финальный перенос будет доступен через 2Nзначений задержек срабатывания вентилей Эта задержка добавляется ко всем остальным задержкам, связанным с межсоединениями.

Рис 2.9
Недостаток каскадного сложения в том, что работа его становится чересчур медленной в случае сложения операндов большой разрядности. Например, для 32х разрядного сумматора, который используется в данной дипломной работе, эта задержка составит около 63 ns, если время срабатывания логического элемента будет 1 ns, что приведет к тому, что значение максимальной частоты, на которой будет работать этот сумматор, составит всего лишь около 16MHz! Эту проблему решает сумматор с предвычислением переносов, вычисляющий переносы в процессе, основываясь на входных операндах. Общая идея такова – перенос из разряда формируется в двух случаях: когда оба входных бита операндов ai и bi равны 1, или когда один из них 1, и перенос из предыдущего разряда также 1. Следовательно, можно записать:
![]()
Произведем замену обозначений:
;
![]()
Заметим, что GиPзависят только от бит операндов, и не зависят от значения переноса из предыдущего разряда. Если нужно вычислить значение переноса в конкретном разряде, не нужно ждать, пока перенос пройдет все предыдущие разряды. Рассмотрим на примере 4х битного сумматора.
![]()
![]()
![]()
![]()
Обратите внимание, что C4, выходной бит переноса, будет доступен после трех задержек. Бит суммы вычисляется следующим образом:
![]()
Бит суммы будет доступен после дополнительной задержки. Преимущество же данного подхода, как видно, в том, что величины задержек не зависят от числа суммируемых бит, в отличие от каскадного сумматора.
В реализации сумматор с предвычислением переносов выгодно разбить на два блока: полный сумматор, генерирующий дополнительно сигналы PиG, и логику (схема ускоренного переноса), вычисляющую переносы, исходя из подаваемых ей на входы сигналовP,G,C0. Построим на их базе 4-битный сумматор.

Рис 2.10 4х битный сумматор
Недостаток сумматора с предвычислением переносов в том, что логика схемы ускоренного переноса становится слишком сложной для случая более 4 бит. По этой причине используют иерархическую структуру при построении сумматоров разрядностью более 4х бит. Пример для сумматора разрядностью 16 бит на рисунке 2.11

Рис 2.11 16-ти битный сумматор
ТЕХНОЛОГИЧЕСКАЯ ЧАСТЬ
