Сумматоры

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

 
 

Функция имеет две выходные переменные: сумма вход­ных переменных А и В и перенос на следующую (левую) позицию. Схема для вычисления бита суммы и бита переноса, обычно называемая полусумматор
ом, показана на рисунке

Полусумматор подходит для сложения битов младших разрядов двух много­битовых слов.


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

 

Полный сумматор состоит из двух полусумматоров:

 
 

Сумма равна 1, если нечетное число перемен­ных А, В ивход переноса принимает значение 1 (то есть, если единице равна или одна из переменных, или все три).

Выход переноса принимает значение 1, если либо А и В одновременно равны 1 (левый вход в вентиль ИЛИ), либо один из них равен 1 и вход переноса также равен 1.

Два полусумматора порождают и би­ты суммы, и биты переноса.

Чтобы построить сумматор, например, для двух 16-разрядных слов, нужно 16 раз продублировать схему, полного сумматора.

Перенос производится в левый соседний бит. Перенос в самый правый бит соединен с 0.

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

Рассмотрим пример более быстрого сумматора. Разобьем 32-разрядный сум­матор на 2 половины: младшую 16-разрядную и старшую 16-разрядную. Когда начинается сложение, старший сумматор еще не может приступить к работе, по­скольку не знает значение переноса, а узнать его он сможет, после того как завер­шится 16 суммирований в младшем сумматоре.

Для обеспечения работы такого сумматора нужно сделать следующее преобразование. Вместо одного старшего сумма­тора можно создать два старших сумматора, продублировав соответствующую часть аппаратуры. Тогда схема будет состоять из трех 16-разрядных сумматоров: одного младшего и двух старших, Uо и U1работающих параллельно, В качестве переноса устанавливается 0 для сумматора U0, и 1 для сумматор U1.

Оба старших сумматора начинают работать одновременно с нижним сумматором, но только один из ре­зультатов суммирования в двух старших сумматорах будет правильным.

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

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








Дата добавления: 2015-07-24; просмотров: 2751;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.