Spartan universal computer-constructor: Difference between revisions

From LifeWiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
(24 intermediate revisions by 10 users not shown)
Line 1: Line 1:
{{Pattern|name=Spartan Universal Computer-Constructor|pname=succ|t=Miscellaneous|c=481672|bx=84625|by=72374|discoverer=Adam P. Goucher|discoveryear=2009|nofile=true}}
{{Pattern
 
|name         = Spartan universal computer-constructor
 
|pname       = succ
This is a Life implementation of a universal computer designed and built in 2009 by Adam P. Goucher.
|c           = 481672
 
|bx           = 84625
|by           = 72374
|symmetry    = C1
|discoverer   = Adam P. Goucher
|discoveryear = 2009
|rulemin      = B3/S23
|rulemax      = B3/S23
|rulespecial  = [[Conway's Game of Life|Conway Life]]
|mc          = true
}}
'''Spartan universal computer-constructor''' is an implementation of a [[universal computer]] in [[Conway's Game of Life]] that was designed and built in {{year|2009}} by [[Adam P. Goucher]].


== Architecture ==
== 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.
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.
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]]s and is read-only, whereas the other two tapes consist of blocks and can be altered during run-time.
Finally, the computer has three tapes (program tape, data tape and marker tape). The program tape consists of [[eater 1]]s and is read-only, whereas the other two tapes consist of [[block]]s and can be altered during run-time.
 
The machine also has a construction arm (by Paul Chapman and Dave Greene) 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. Adam P. Goucher estimates that it will take up to 10^18 generations to completely reproduce.


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 life]]s with seven or fewer [[cell]]s, 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 10<sup>18</sup> [[generation]]s to completely reproduce.


== Comparison with other universal computers ==
== Comparison with other universal computers ==
Because of the architecture of the machine, it has several advantages over 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.
* 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.


* The main storage is in binary, meaning that it stores data exponentially more compact than an equivalent Register Machine.
== 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".
* Conditional jumps are relative, rather than absolute, so a suborutine can be copied into a program without having to alter the pointers.


== See also ==
* [[APGsembly]]


== External Links ==
== External links ==
* {{LinkGoLNews|2009/08/post.html|title=Completed Universal Computer/Constructor|author=Dave Greene|date=2009 August 01}}


The [http://myweb.tiscali.co.uk/calcy/life/universal-CC.7z zipped file] of the U.C.C. at [http://www.calcyman.co.uk calcyman.co.uk]
[[Category:Universal computation]]
[[Category:Universal construction]]
__NOTOC__

Latest revision as of 16:28, 21 August 2024

Spartan universal computer-constructor
Spartan universal computer-constructor image
Pattern type Miscellaneous
Number of cells 481672
Bounding box 84625 × 72374
Static symmetry C1
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