Бинарный сумматор
Глава 16 - Принципы цифровых вычислений
Предположим, мы хотели создать устройство, которое могло бы добавить два двоичных бита вместе. Такое устройство известно как сумматор, и его схема затвора выглядит так:

Символ Σ представляет собой «суммарный» вывод полуаддера, младшего значащего бита суммы (LSB). C out представляет собой «перенос» вывода полуаддера, самого значимого бита суммы (MSB).
Если бы мы реализовали эту же функцию в логике лестницы (реле), она выглядела бы так:

Любая схема может добавлять две двоичные цифры вместе. Математические «правила» того, как добавлять биты вместе, являются неотъемлемой частью жесткой логики схем. Если бы мы хотели выполнить другую арифметическую операцию с бинарными битами, например умножение, нам пришлось бы построить еще одну схему. Вышеупомянутые схемы могут выполнять только одну функцию: добавить два двоичных бита вместе. Чтобы заставить их сделать что-то другое, потребуется повторная проводка и, возможно, разные компоненты.
В этом смысле цифровые арифметические схемы мало чем отличаются от аналоговых схем арифметики (операционного усилителя): они делают именно то, что они подключают, не больше и не меньше. Однако мы не ограничиваемся таким образом разработкой цифровых компьютерных схем. Можно встроить математические «правила» для любой арифметической операции в виде цифровых данных, а не в проводные соединения между воротами. Результатом является беспрецедентная гибкость в работе, что приводит к появлению нового типа цифровых устройств: программируемого компьютера.
Хотя эта глава ни в коем случае не является исчерпывающей, она обеспечивает то, что, как я считаю, представляет собой уникальный и интересный взгляд на природу программируемых компьютерных устройств, начиная с двух устройств, которые часто пропускаются во вводных учебниках: справочные таблицы и конечные машины.