Александр Бугаев (a_bugaev) wrote,
Александр Бугаев
a_bugaev

Двоичный сумматор из пластмассовых кирпичей

Сережка давно интересуется компьютерами. Был очень удивлен недавно, когда узнал, что раньше компьютеры занимали огромные залы, были без мышки, без дисплея, а еще раньше - и без клавиатуры.

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

Начал с двоичных чисел, причем не на бумаге с нулями и единицами, а пластмассовыми кирпичиками на полу.

Один кирпичик - это исполнитель "переключатель". У него есть команды "Установить в 0" (кладем плашмя), "Установить в 1" (ставим вертикально), "Переключить" и команда "Дать значение".

Дальше из трех переключателей делаем исполнителя "Сумматор" (одноразрядный). Располагаем в вертикальном ряду три кирпича: красный (первый операнд), желтый (второй операнд), и зеленый (результат). У зеленого есть дополнительное положение "поперек" - это когда он переполнился, т.е. переключился из вертикального положения (на самом деле, конечно, для результата нужна пара триггеров, но мы обошлись одним кирпичем с тремя положениями).
Разумеется, у сумматора есть своя система команд - очистка, загрузка оперндов и суммирование. Разумеется, эти команды реализуются на основе команд регистров.
Формулируем простые правила сложения - и уже умеем вычислять 0+0, 0+1, 1+0 и 1+1 (с тем самым переполнением, требующим переноса).

А теперь располагаем одноразрядные сумматоры последовательно (пять разрядов, т.е. от 1 до 16), формулируем правило переноса (оно очевидное, к тому же перенос с десятичными числами он давно уже знает) - и сумматор готов.

Замечательно складываем:
00101 + 00101 = 01010
Переводим в десятичную форму и убеждаемся, что все сработало правильно
5+5=10

00110 + 01011 = 10001
6+11=17

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

А лучше скажите, как на первых "Марках" и "Эниаках" вводились команды? Я что-то слышал про щиты со штырями, но не помню точно, то ли это самое.
Tags: children
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments