Специализированный процессор для вычисления числа log2 (x), страница 10

Проанализируем различные структуры 32-х разрядного сумматора, собранного на 4-х разрядных секциях.

Схема, представленная на рис.1 идеальна с точки зрения аппаратных затрат, они минимизированы полностью, однако время суммирования очень велико и составляет:

 где

- время формирования выбранного переноса сумматора (от момента подачи операндов до надежного появления нового значения переноса);

- время распространения переноса от входа С1 до выхода СО;

- время формирования суммы, отсчитываемое от момента входного переноса;

n – разрядность много разрядной структуры (кратна 4)

Схема на рис.2 не является последовательной структурой. Использование ее  предпочтительнее предыдущей, поскольку в  данной реализации используется всего один слой дополнительного группового переноса.

Время суммирования:

 где

- время, необходимое для формирования распространения и генерации переноса от момента подачи операндов;

  - время формирования переносов схемой ускоренного переноса

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

В алгоритме вычисления «цифра за цифрой», кроме операции суммирования, используется операция сдвига. Рассмотрим отдельные способы организации выполнения этой операции с наибольшей скоростью.

Особенность операции сдвига заключается в том, что она требует намного  меньше времени, чем операция суммирования, умножения либо какие-либо другие операции, где сигнал проходит большую глубину в логических схемах. Из этого следует, что не всегда можно подобрать эффективным образом тактовую частоту управляющего автомата (УА) с тем, чтобы потери времени на операцию сдвига были как можно меньше. Иными словами, хотя и длительность операции сложения больше, чес сдвига, все же при направленном способе организации управления сдвигом на  большое количество разрядов,  время вычисления может определяться потерями, приносимыми операцией «сдвиг».

Схема, представленная на рис. 3 осуществляет сдвиг 32-ч разрядного операнда на число разрядов от 0 до 15за один такт. Сдвигатель имеет комбинационную природу, сдвиг операнда – логический.

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

На рис. 4 представлена схема наиболее простого регистрового сдвигателя, на реализацию которого требуется минимальное количество аппаратных затрат. В основе схемы лежит использование  сдвигающего регистра. Необходимое количество сдвигов заносится в счетчик СТ1, затем происходит загрузка счетчика СТ2 и производится столько одноразрядных сдвигов, сколько определяет комбинационная схема КС. Обычно это число равно или отличается на 1 от значения счетчика СТ1.

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

Более предпочтительна схема, изображенная на рис.5. В этой схеме практически полностью используется скоростные возможности последовательного сдвига, потеря времени происходит только при квитировании  управляющих автоматов УА1и УА2. Принцип функционирования заключается в том, что в некоторый момент времени t0  после решения основного управляющего автомата произвести сдвиг, в работу по сдвигу включается автомат УА2, на более высокой частоте, чем автомат УА1. Для осуществления этого условия УА1 формирует сигнал запроса сдвига (R), а УА2 формирует сигнал завершения запрошенной операции (D). При таком подходе к реализации сдвига у УА1 появляется дополнительное время на выполнение каких-либо действий в течении времени сдвига.