IBM 1620 Project Journal

Sim Notes

After a good, interactive email discussion of initial implementation issues and some prototyping, the simulator team has settled on the following points:

  1. The implementation is in Java and uses separate threads for the core simulator, console display, console typewriter, and each I/O device.

  2. The granularity of simulation is at what the 1620 defines as the "Cycle" level. That is, the 'Single Cycle' button causes the expected behavior. This level of simulation is higher than gate-level and lower than instruction-level.

  3. The simulator thread follows the machine specifications and it maintains a 100% consistent state of what should be displayed on the console lights at any given instant.

  4. For the communication between the simulator and display threads there is a display state structure. The display thread requests that the structure be updated and the core simulator updates it with current state.

  5. The display thread does the best it can to display a realistic picture of the current console when the machine is running. When the simulator is stopped, the console display is perfect.

  6. The console display will be in a single window with zoom and pan capability. This will be done using scalable graphic elements. The overriding consideration is that the simulator passes the "Parody Check".

Chap Harrison has been busy working on the core simulator with technical support from several people on the team. He has the basic instruction set implemented and it passes the IBM CU01 instruction diagnostic! Still to be added, is the divide instruction, indirect addressing, floating point and I/O simulations. The latest version of the simulator (with a text-based UI) is available via ftp from Chap. Contact Chap for more information.

Richard Jowsey has been working hard on the Graphic UI. For a sneak peak at how it's shaping up have a look here.

For fun, Adams Douglas did a rough timing comparison between the 1620 and Mathematica on a 300MHz Pentium II computing powers of 2. If it is any indication then we may be ok with running the 1620 simulator in real time (or faster with appropriate speed throttling).