| The Cellular Automata of John von Neumann
C-arms and RW-arms of JVN automata
The files described in this page contain a few annotations in grayed diamonds, hereafter referred to by bold capitals. To analyze in detail how the automata works, run them several times in different modes.
- C-ARM_CONTROLS.JVN: The constructing arm provided of controls described in this file is an important component of the JVN universal constructor found in UC_REP_UNITS.JVN. On the Main view left, an encoding-decoding system formed by 4 coders C and 8 decoders D send ordered pairs of activation pulses to the input lines of the arm-move coders AMC. These indeed must work in pair to feed coordinately the blue and the red lines of the C-arm. This signal-multiplexing method compensates for the lack of activation train crossings in JVN automata. The input line annotated as CELL CODES can be used for quiescent-state generation (see for instance Q-STATE_CODERS.JVN), provided that appropriate activation trains are suitably inputted. To watch the organ at work, activate the input line indicated by ¬ or ® or . The line indicated by ¯ must be activated after that indicated by , as in the initial configuration of the given example the C-arm end cannot move downwards.
- RW-ARM_ADV.JVN (advancing): This file contains a RW-arm that reads one bit at time moving one step forwards according to the read-first-then-move rule. The red arrows near some OTS lines represent activation trains generated by coders (f.i., C, C') or sent to decoders (f.i. D, D'). An activation pulse (cyan right-arrow) set on the beginning of the input line IN, which activates the triplet-coder TC, initializes the reading process. The triplet 111 generated by TC reaches the decoder D', then the pulse released by this is encoded by C' as the spaced triplet 10101. This is sent to the blue line of the working arm to read the tape-bit so that the collecting line returns the spaced triplet or a singleton according as the bit is 1 or 0. The returned spaced triplet is re-coded as a pulse doublet (11) and the returned singleton as a spaced doublet (101). Finally, they are sent as outputs to the ordinary transmission lines OUT visible on the automaton left. Before reaching the ouput lines, however, these doublets are also sent to the decoder-coder pair D, C, and from here re-encoded in a way suitable for the arm-move controls. The doublet 11 is filtered by D and the resulting pulse is encoded by C as 1011, whereas 101 is filtered by D and re-encoded by C as 1101 (the red lines near coder's output lines these bit sequence in reverse order). The train 1011 is effective for the forward move when the tape-bit was 1, whereas 1101 is effective for the forward move with bridging state annihilation when the tape-bit was 0. These trains are decoded by DD' and DD'' and the re-encoder by CC', CC'' as doublets of activation trains that determine specific behaviors of the working arm. Subsequent reading operations can be performed by inputting the activation pulse to IN and running the automaton repeatedly.
- RW-ARM_RET.JVN (retracting): This arm reads one bit at time moving one step backwards according to the read-first-then-move rule. It works exactly as the arm illustrated above. In this case, however, the activation trains encoded by C are 11001 and 10101 and DD', DD'', CC', CC'' are different and differently located with respect to the corresponding organs in RW-ARM_ADV.JVN.
- RW-ARM_CONTROL.JVN: The RW-arms described in RW-ARM_ADV.JVN and RW-ARM_RET.JVN are here combined to form a unique RW-arm capable of moving forwards or backwards. To activate one of these two moving modes send a pulse to the line respectively indicated by >> or <<. This double switch is stored apart as a fragment in the file LU_SWITCH.JFR (left up switch). To import a fragment click button on the top-toolbar. The RW-arm here described is used in the universal constructor UC_REP_UNITS.JVN.