Сумматоры
Схема выполнения операций сложения является существенной частью любого процессора. Таблица истинности для функции сложения одноразрядных целых имеет вид:
Функция имеет две выходные переменные: сумма входных переменных А и В и перенос на следующую (левую) позицию. Схема для вычисления бита суммы и бита переноса, обычно называемая полусумматор
ом, показана на рисунке
Полусумматор подходит для сложения битов младших разрядов двух многобитовых слов.
Однако он не годится для сложения битов в середине слова, потому что не может учитывать перенос, возникающий после суммирования битов справа.. Поэтому необходим полный сумматор,имеющий следующую таблицу истинности:
Полный сумматор состоит из двух полусумматоров:
Сумма равна 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;