Компьютер из 10000 костей домино

Мэтт Паркер, отметившийся в проектах Numberphile и Standup Maths, в компании с командой Domino Computer Builders построили, наверное, самый медленный компьютер в мире из костей домино. [embedded content]Немного деталей под катом.Первым делом нужны базовые элементы. Вот так выглядит AND gate: 05d334e6d523b8c7111c78993fb14cd6.pngЕсли толкнуть один из входов («послать единицу»), на выходе получим «ноль»: «единица» на правом входе просто «закроет ключ», единица на левом же раздвоится, и тот сигнал, который ушёл вправо, закроет ключ для левого прежде чем тот дойдёт до него. Если же толкнуть оба входа, правый сигнал, закрыв ключ, не даст левому входу «самоуничтожиться», и на выход уйдёт «единица».

А это — XOR gate.4aff407d7c6a7e7d6171723f37e29449.pngЗдесь, если послать «единицы» на оба входа, домино остановятся посередине, и на выходе будет «ноль».

Из этих двух элементов составляется полусумматор, который принимает на вход два бита и на два выхода выдаёт их сумму: выход «единиц» — это XOR, выход «двоек» — AND.b742e752e1b0d736e13e1c8cc47d1bfd.pngЗигзаг справа — задержка сигнала, чтобы дать возможность закрыть ключ перед выходом двоек, если необходимо.Левый выход — x XOR y — единицы, правый — (NOT (x XOR y)) AND y = x AND y — двойки.

Из двух полусумматоров получается уже полноценный сумматор, который помимо входных битов принимает ещё и бит переноса. Соединив три таких сумматора (и полусумматор для начальных битов, где перенос не требуется), команда получила калькулятор, который может сложить два четырёхбитных числа и выдать пятибитный ответ.

Главная проблема таких цепей — утечка сигнала. Неправильно упавшая или улетевшая кость домино может запустить другую цепочку, «сломав» таким образом вывод.

© Habrahabr.ru