
4.3.Полусумматоры
Создадим устройство
для суммирования двух двоичных чисели
.
Опишем закон формирования младшего
разряда суммы
и
переноса в следующий разряд
с
помощью таблицы истинности.
|
|
|
|
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
Т.о. получим уравнения для младшего разряда суммы и переноса:
По полученным уравнениям получаем схему т.н. полусумматора.
Рис.4.7. Полусумматор
Обозначим разработанное устройство блоком S0.
Закон формирования любого следующего разряда суммы и разряда переноса в следующий разряд описывается таблицей истинности.
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
Т.о. получаем уравнения для произвольного разряда суммы и переноса:
Т.о. получаем схему суммирования чисел произвольной разрядности.
Рис. 4.8. Полусумматор для произвольного разряда
Включая параллельно несколько подобных схем можно получить устройство для суммирования произвольного числа разрядов.
Создадим схему, реализующую преобразование прямого кода числа в его дополнительный код. Как известно для этого необходимо найти обратный код числа и прибавить к нему 1.
Схема, вычисляющая обратный код числа описывается уравнением
Эта схема называется “инвертор”.
Обозначим это устройство как
Подав на один вход сумматора код с выхода инвертора, а на другой код числа “1”, на выходе сумматора получим дополнительный код числа.
Обозначим это устройство
Включив параллельно несколько схем вышеописанного мультиплексора получим мультиплексор на требуемое число разрядов.
Создадим устройство, способное складывать или вычитать два числа, в зависимости от состояния управляющего сигнала c. Для этого необходимо подать на один вход сумматора код одного из чисел, а на другой его вход подать либо прямой либо дополнительный код второго из чисел, в зависимости от состояния управляющего входаc. Такую коммутацию сигналов можно осуществить с помощью мультиплексора.
Разработанное устройство представляет собой примитивный прообраз арифметическо-логического устройства процессора.
4.4.Сумматоры
Построение двоичных сумматоров обычно начинается с сумматора по модулю 2. На рис.4.9. приведена таблица истинности этого сумматора. Ее можно получить исходя из правил суммирования в двоичной арифметике. Предполагается, что читатель знаком с основами двоичной арифметики. Более подробно операции над двоичными числами будут рассмотрены позднее.
Рис 4.9. Таблица истинности сумматора по модулю 2.
В соответствии с принципами построения произвольной таблицы истинности, рассмотренными в предыдущей главе, получим схему сумматора по модулю 2. Эта схема приведена на рис.4. 10.
Рис.4.10.Принципиальная схема, реализующая таблицу истинности сумматора по модулю 2.
Сумматор по модулю 2 (для двоичной арифметики его схема совпадает со схемой исключающего "ИЛИ") изображается на схемах как показано на рис.4.11.
Рис.4.11. Изображение схемы, выполняющей логическую функцию исключающего "ИЛИ".
Сумматор по модулю 2 выполняет суммирование без учета переноса. В полном двоичном сумматоре требуется учитывать перенос, поэтому требуются схемы, позволяющие формировать перенос в следующий двоичный разряд. Таблица истинности такой схемы, называемой полусумматором, приведена на рис.4.12.
Рис. 4.12. Таблица истинности полусумматора.
В соответствии с принципами построения произвольной таблицы истинности получим схему полусумматора. Эта схема приведена на рис.4.13.
Рис.4.13. Принципиальная схема, реализующая таблицу истинности полусумматора.
Полусумматор изображается на схемах как показано на рис.4.14.
Рис.4.14. Изображение полусумматора на схемах.
Схема полусумматора формирует перенос в следующий разряд, но не может учитывать перенос из предыдущего разряда, поэтому она и называется полусумматором. Таблицу истинности полного двоичного одноразрядного сумматора можно получить из правил суммирования двоичных чисел. Она приведена на рисунке 7. В обозначении входов использовано следующее правило: в качестве входов использованы одноразрядные числа A и B; перенос обозначен буквой P; для обозначения входа переноса используется буква I (сокращение от английского слова input – вход); для обозначения выхода переноса используется буква O (сокращение от английского слова output – выход).
Рис 4.15. Таблица истинности полного двоичного одноразрядного сумматора.
В соответствии с принципами построения принципиальной схемы по произвольной таблице истинности получим схему полного двоичного одноразрядного сумматора. Эта схема приведена на рисунке 8. Ее можно минимизировать, но это несколько усложняет принципы построения сумматоров, поэтому вопросы минимизации рассматриваться не будут.
Рис.4.16. Принципиальная схема, реализующая таблицу истинности полного двоичного одноразрядного сумматора.
Полный двоичный одноразрядный сумматор изображается на схемах как показано на рис.4.17.
Рис.4.17. Изображение полного двоичного одноразрядного сумматора на схемах.
Для того чтобы получить многоразрядный сумматор, достаточно соединить входы и выходы переносов соответствующих двоичных разрядов. Схема соединения одноразрядных сумматоров для реализации четырехразрядного сумматора приведена на рис.4.18.
Рис.4.18. Принципиальная схема многоразрядного двоичного сумматора.
Одноразрядные сумматоры практически никогда не использовались, так как почти сразу же были выпущены микросхемы многоразрядных сумматоров. Полный двоичный четырехразрядный сумматор изображается на схемах как показано на рис.4.19.
Рис.4.19. Изображение полного двоичного многоразрядного сумматора на схемах.
Естественно, в приведенной на рисунке 10 схеме рассматриваются только принципы работы двоичных сумматоров. В реальных схемах никогда не допускают последовательного распространения переноса через все разряды многоразрядного сумматора. Для увеличения скорости работы двоичного сумматора применяется отдельная схема формирования переносов для каждого двоичного разряда. Таблицу истинности для такой схемы легко получить из алгоритма суммирования двоичных чисел, а затем применить хорошо известные нам принципы построения цифровой схемы по произвольной таблице истинности.
На этом пока закончим рассмотрение принципов работы сумматора, более сложные операции будут рассмотрены позднее, а пока для дальнейшего понимания работы операционного блока процессора необходимо научиться переключать двоичные числа на входах и выходе сумматора. Это позволяют сделать мультиплексоры и демультиплексоры, основной частью которых является дешифратор, поэтому следующим устройством, которое мы рассмотрим, будет декодер. Дешифратор является частным случаем декодера.