Simon
 
Information Gaps and Alterations  

Following is a list of the information gaps in the articles and the resolution for them in the Simon2006E design. Some of the gaps influence the machine definition, others are limited to implementation issues. Further below is a list of other alterations and optimisations to the original design.

Contents (this page):

Machine Definition Information Gaps
Unspecified: Are the ALU operations all as defined here? In article VII, the association between C1,2,3 and a,b,p,q,r is not fully specified. Especially, how is register CR3 involved in the ALU? Simon2006E Resolution: a) The LSB of CR3 is used as the decision operand for the SEL function.
b) The LSB of CR5 receives the result of the GT function.

The carry flag could be used in both these cases and the need for CR3 eliminated.

Unspecified: What is the use of the 5th bit of the 2nd triplet element alluded to at the end of article VII? (Or: article I mentions a programmed stop, but how it is invoked or implemented is not mentioned.) Simon2006E Resolution: The bit is used to invoke a programmed stop. This fits well in the design and there aren't a lot of alternatives for invoking the stop.
Unspecified: What is the use, if any, of the 5th bit of the 3rd triplet element alluded to at the end of article VII? Simon2006E Resolution: The bit is not used.
Unspecified: What is the result of attempting to load the 4-bit register CR4 from a 2-bit register? Simon2006E Resolution: CR4 is loaded from IR regardless of the source specification.

The obvious possible alternative is to copy the source into the lower 2 bits of CR4 and clear the upper 2 bits. This would permit a limited ability to compute an instruction, but it's usefulness is questionable.

The chosen solution does present a restriction to the machine but it makes it possible to eliminate the physical relays of CR4 by controlling the ALU function directly from IR.

Unspecified: Similarly, what is the result of loading a 2-bit register from CR4? Simon2006E Resolution: The 2-bit destination register will be cleared.

See previous issue.

Question: Loading or altering of CR5 relative to CR1 and 2. Simon2006E Resolution: CR5 is altered only by loading CR4.


Implementation Information Gaps
Question: When one starts execution of a program, the machine must be at the beginning of a timing cycle. How is this ensured? Simon2006E Resolution: Either power the machine off and on, or manually step the timing to the beginning of the cycle.
Question: How do the 5 lamps display the 10 steps of the machine cycle? Perhaps a form of biquinary notation: 1 lamp = 0/5, 4 lamps enumerated = 1&6, 2&7, 3&8, 4&9? Simon2006E Resolution: 10 lamps added for the timing system. This provides more blinkenlights and eliminates the front panel switch which selected the display on the output lights.
Question: How does one check the data manually entered on the front panel pushbuttons? There is no mention of the input buttons displaying on the lamps, and to do so would require extra circuitry. Simon2006E Resolution: Toggle switches used instead of push-buttons. This also permits elimination of the BR relays.
Question: The use of severals relays is not explained (RR12.5, RR30..32, SYR1, SYR2). Simon2006E Resolution: The relays are either irrelevant or replaced by functionality of other relays.
Inconsistency: Ambiguous reference to RR13 for entrance relay for CR5. Simon2006E Resolution: Not relevant.
Flaw: In article VII, circuit 6 (input register load) does not provide isolation between latched relays through PR contacts. Simon2006E Resolution: Back-feed prevention diodes added to input register.
Question: There is a large gap in the details of the ALU wiring and use of the C7..9 relays. Simon2006E Resolution: New ALU design.
Question: Why is T17 (destination register reset) 3 steps long, couldn't it just use T7 instead? Simon2006E Resolution: This may have been a requirement of propagation delay through the RR relays. As the RR relays have been eliminated, the reset period has been reduced to 1 step.
Question: What type of circuit is used for the master clock? Suggestion: A motor with cam and contact.
Question: Article VII refers to a few capacitors used in the design but does not indicate where or under what circumstances they are used. Simon2006E Resolution: Such capacitors are not included.


Other Alterations and Optimisations Incorporated in Simon2006E
Alteration: The timing stepper switch has been replaced with a circuit using ordinary relays.
Alteration: Timing signal T11 (hold/reset for the Entrance Relays) replaced with nØ1.
Optimisation: RR17 and the Register Reset relays have been eliminated. It was first observed that RR17 could be eliminated by moving control of the RR relays to a contact on the ERs rather than the coils of the ERs. A further step eliminated the Register Reset relays by replacing the register latch release with N.C. contacts on ERx in parallel with a nØ5 contact and diodes.
Nomenclature: ER relays renamed to start at 0. The name now corresponds directly to the register code.
Nomenclature: Timing signals renamed to correspond to step number.



  Machine Definition | Relay Implementation | Programs | Simulation | Alterations
Simon
bhilpert
2006 Sep