Domino computer

Last updated
An OR gate built from dominoes, with the bottom left and bottom right dominoes as its inputs and the top domino as its output. If the bottom left or the bottom right domino is pushed (or if both are pushed), then the top domino will fall; if neither is pushed, it will not fall. Domino logic gate.jpg
An OR gate built from dominoes, with the bottom left and bottom right dominoes as its inputs and the top domino as its output. If the bottom left or the bottom right domino is pushed (or if both are pushed), then the top domino will fall; if neither is pushed, it will not fall.

A domino computer is a mechanical computer built using dominoes [1] to represent mechanical amplification or logic gating of digital signals. [2]

Contents

Basic phenomenon

Sequences of standing dominoes (so that each domino topples the next one) can be arranged to demonstrate digital concepts such as amplification and digital signals. Since digital information is conducted by a string of dominoes, this effect differs from phenomena where:

The Domino Day event shows many constructs, mainly for the purposes of entertainment. Some constructs may remind people of digital circuits, suggesting that not only telegraph-like tools can be shown, but also simple information processing modules can be constructed.

It is possible to use this phenomenon for constructing unconventional computing tools. [1] [2] [3] The base phenomenon is sufficient to achieve this goal, [2] but also sophisticated “mechanical synapses” can be used (see online [4] ), to the analogy of electrical synapses or chemical synapses.

Logical aspects

The two domino logic gates, from which, with the addition of NOT, all other gates can be built. The XOR gate is dependent on timing. Domino Logic Gates.svg
The two domino logic gates, from which, with the addition of NOT, all other gates can be built. The XOR gate is dependent on timing.

The logic OR gate is simple to make in dominoes. The problem is which gate is able to be added to OR, and obtain a functionally complete set. Note that no domino gate can produce output 1 with all inputs 0, so there is no NOT gate, making it impossible to make an IMPLY gate without an external 'power source' sequence. Therefore, NOT is realized and we have a complete set.

It is, however, distant to lead in a sequence from one source to many gates in each suitable timing. Let us suppose we do not have one.

A root breaking system is basically needed if one wants a logical connective with output 0 for input 1. Let P$Q be the gate in which the sequence to be turned down by P is broken by that by Q. Then P$Q is logically equivalent to P AND (NOT Q), if the input Q is earlier than P. The set of OR and $ can represent any logical connectives in any parity except for ones which generates 1 with all inputs 0.

Similarly, an XOR gate can be realized with the gate as a bi-root breaking system.[ clarification needed ]

The problems of these two root breaking systems is that they heavily depend on the simultaneity of two inputs. In an XOR gate, one input may destroy the opposite input root tracking back. Note that the expression of P AND Q, P$(P$Q) OR Q$(Q$P) is symmetric. Hence, it does not depend on the simultaneity, and with no worry of tracking back, though it is complicated.

Record

The current record for biggest domino computer is a 5-bit adder.

At the Manchester Science Festival in 2012, mathematician Matt Parker and a team of volunteers worked together to build a domino binary adder which could add two three-bit inputs and produce a 3-bit output, which ran successfully. The following day, they attempted to build a 4-bit adder, which they completed, but the final test run had some errors (one due to signal bleed between chains of dominoes, and one timing issue). [5]

In 2018, at Bank Muscat headquarters in Oman, a team of American British Academy (ABA) Grade 12 students led by Saatvik Suryajit Korisepati, assisted by Alex Freyer, Zoltan Sojitory, and other computer students, used 15,000 dominoes to build a 5-bit adder able to add any numbers up to the sum of 63. [6]

See also

Notes

  1. 1 2 Domino computer
  2. 1 2 3 Domino computers Archived August 16, 2006, at the Wayback Machine , a detailed description written by David Johnston
  3. James Maguire: IBM Creates Molecular Computer Circuit Archived July 19, 2006, at the Wayback Machine NewsFactor Magazine Online, 2006. A topic in the intersection of molecular computing and domino computer
  4. Perrucci, Mike: Domino Toppling.
  5. Archived at Ghostarchive and the Wayback Machine : The 10,000 Domino Computer. YouTube .
  6. "ABA Oman students set world record for dominoes circuit". 31 October 2018.

Related Research Articles

In digital logic and computing, a counter is a device which stores the number of times a particular event or process has occurred, often in relationship to a clock. The most common type is a sequential digital logic circuit with an input line called the clock and multiple output lines. The values on the output lines represent a number in the binary or BCD number system. Each pulse applied to the clock input increments or decrements the number in the counter.

<span class="mw-page-title-main">Logic gate</span> Device performing a Boolean function

A logic gate is a device that performs a Boolean function, a logical operation performed on one or more binary inputs that produces a single binary output. Depending on the context, the term may refer to an ideal logic gate, one that has, for instance, zero rise time and unlimited fan-out, or it may refer to a non-ideal physical device.

<span class="mw-page-title-main">Digital electronics</span> Electronic circuits that utilize digital signals

Digital electronics is a field of electronics involving the study of digital signals and the engineering of devices that use or produce them. This is in contrast to analog electronics which work primarily with analog signals. Despite the name, digital electronics designs includes important analog design considerations.

In digital circuits, an adder–subtractor is a circuit that is capable of adding or subtracting numbers. Below is a circuit that adds or subtracts depending on a control signal. It is also possible to construct a circuit that performs both addition and subtraction at the same time.

In computing, a linear-feedback shift register (LFSR) is a shift register whose input bit is a linear function of its previous state.

<span class="mw-page-title-main">Inverter (logic gate)</span> Logic gate implementing negation

In digital logic, an inverter or NOT gate is a logic gate which implements logical negation. It outputs a bit opposite of the bit that is put into it. The bits are typically implemented as two differing voltage levels.

<span class="mw-page-title-main">Exclusive or</span> True when either but not both inputs are true

Exclusive or, exclusive disjunction, exclusive alternation, logical non-equivalence, or logical inequality is a logical operator whose negation is the logical biconditional. With two inputs, XOR is true if and only if the inputs differ. With multiple inputs, XOR is true if and only if the number of true inputs is odd.

An adder, or summer, is a digital circuit that performs addition of numbers. In many computers and other kinds of processors, adders are used in the arithmetic logic units (ALUs). They are also used in other parts of the processor, where they are used to calculate addresses, table indices, increment and decrement operators and similar operations.

In Boolean algebra, any Boolean function can be expressed in the canonical disjunctive normal form (CDNF) or minterm canonical form, and its dual, the canonical conjunctive normal form (CCNF) or maxterm canonical form. Other canonical forms include the complete sum of prime implicants or Blake canonical form, and the algebraic normal form.

The Fredkin gate is a computational circuit suitable for reversible computing, invented by Edward Fredkin. It is universal, which means that any logical or arithmetic operation can be constructed entirely of Fredkin gates. The Fredkin gate is a circuit or device with three inputs and three outputs that transmits the first bit unchanged and swaps the last two bits if, and only if, the first bit is 1.

The OR gate is a digital logic gate that implements logical disjunction. The OR gate outputs "true" if any of its inputs are "true"; otherwise it outputs "false". The input and output states are normally represented by different voltage levels.

A stuck-at fault is a particular fault model used by fault simulators and automatic test pattern generation (ATPG) tools to mimic a manufacturing defect within an integrated circuit. Individual signals and pins are assumed to be stuck at Logical '1', '0' and 'X'. For example, an input is tied to a logical 1 state during test generation to assure that a manufacturing defect with that type of behavior can be found with a specific test pattern. Likewise the input could be tied to a logical 0 to model the behavior of a defective circuit that cannot switch its output pin. Not all faults can be analyzed using the stuck-at fault model. Compensation for static hazards, namely branching signals, can render a circuit untestable using this model. Also, redundant circuits cannot be tested using this model, since by design there is no change in any output as a result of a single fault.

A carry-lookahead adder (CLA) or fast adder is a type of electronics adder used in digital logic. A carry-lookahead adder improves speed by reducing the amount of time required to determine carry bits. It can be contrasted with the simpler, but usually slower, ripple-carry adder (RCA), for which the carry bit is calculated alongside the sum bit, and each stage must wait until the previous carry bit has been calculated to begin calculating its own sum bit and carry bit. The carry-lookahead adder calculates one or more carry bits before the sum, which reduces the wait time to calculate the result of the larger-value bits of the adder.

Lola is designed to be a simple hardware description language for describing synchronous, digital circuits. Niklaus Wirth developed the language to teach digital design on field-programmable gate arrays (FPGAs) to computer science students while a professor at ETH Zurich.

A ring counter is a type of counter composed of flip-flops connected into a shift register, with the output of the last flip-flop fed to the input of the first, making a "circular" or "ring" structure.

XOR gate is a digital logic gate that gives a true output when the number of true inputs is odd. An XOR gate implements an exclusive or from mathematical logic; that is, a true output results if one, and only one, of the inputs to the gate is true. If both inputs are false (0/LOW) or both are true, a false output results. XOR represents the inequality function, i.e., the output is true if the inputs are not alike otherwise the output is false. A way to remember XOR is "must have one or the other but not both".

The XNOR gate is a digital logic gate whose function is the logical complement of the Exclusive OR (XOR) gate. It is equivalent to the logical connective from mathematical logic, also known as the material biconditional. The two-input version implements logical equality, behaving according to the truth table to the right, and hence the gate is sometimes called an "equivalence gate". A high output (1) results if both of the inputs to the gate are the same. If one but not both inputs are high (1), a low output (0) results.

A truth table is a mathematical table used in logic—specifically in connection with Boolean algebra, Boolean functions, and propositional calculus—which sets out the functional values of logical expressions on each of their functional arguments, that is, for each combination of values taken by their logical variables. In particular, truth tables can be used to show whether a propositional expression is true for all legitimate input values, that is, logically valid.

<span class="mw-page-title-main">Arithmetic logic unit</span> Combinational digital circuit

In computing, an arithmetic logic unit (ALU) is a combinational digital circuit that performs arithmetic and bitwise operations on integer binary numbers. This is in contrast to a floating-point unit (FPU), which operates on floating point numbers. It is a fundamental building block of many types of computing circuits, including the central processing unit (CPU) of computers, FPUs, and graphics processing units (GPUs).

<span class="mw-page-title-main">Flip-flop (electronics)</span> Electronic circuit with two stable states

In electronics, flip-flops and latches are circuits that have two stable states that can store state information – a bistable multivibrator. The circuit can be made to change state by signals applied to one or more control inputs and will output its state. It is the basic storage element in sequential logic. Flip-flops and latches are fundamental building blocks of digital electronics systems used in computers, communications, and many other types of systems.