Spartan universal computer-constructor
Spartan universal computer-constructor | |||||||
View static image | |||||||
Pattern type | Miscellaneous | ||||||
---|---|---|---|---|---|---|---|
Number of cells | 481672 | ||||||
Bounding box | 84625 × 72374 | ||||||
Discovered by | Adam P. Goucher | ||||||
Year of discovery | 2009 | ||||||
| |||||||
|
Spartan universal computer-constructor is an implementation of a universal computer in Conway's Game of Life that was designed and built in 2009 by Adam P. Goucher.
Architecture
The computer contains 11 sliding block memory registers capable of storing any positive integer (including zero). Three of these are directly used by the microcode; the other eight are freely accessible to the program.
In addition to this, eight gates (simple, two-state switches) are provided for fast boolean storage.
Finally, the computer has three tapes (program tape, data tape and marker tape). The program tape consists of eater 1s and is read-only, whereas the other two tapes consist of blocks and can be altered during run-time.
The machine also has a Chapman-Greene construction arm capable of synthesising anything with a slow-salvo glider synthesis. Because the machine itself consists exclusively of still lifes with seven or fewer cells, a sufficient program tape would allow the machine to self-replicate forever. This could emulate (in increasing difficulty) a puffer, a rake or a spaceship. Goucher himself estimates that it would take up to 1018 generations to completely reproduce.
Comparison with other universal computers
Because of the architecture of the machine, it has several advantages over other universal computers:
- It is relatively easy to program, since the instruction set allows basic arithmetic operations, bitwise shifts and logical operations to be performed using a string of a few instructions.
- The main storage is in binary, meaning that it stores data exponentially more compact than an equivalent register machine.
- Conditional jumps are relative, rather than absolute, so a subroutine can be copied into a program without having to alter the pointers.
Design flaw
It was known by 2010 that the UCC's memory tapes leak gliders whenever '1' bits are read. These gliders escape without damaging the mechanism, but it would require some non-trivial redesign of the memory-tape component to produce a "safe" version of the Spartan UCC without these "memory leaks".
See also
External links
- Completed Universal Computer/Constructor at Game of Life News. Posted by Dave Greene on 2009 August 01.