-
-
Notifications
You must be signed in to change notification settings - Fork 1
The SAP1 Computer
A lot of this is outdated. Documentation is slowly moving over to sap1emu.net/Docs/Docs
The SAP-1 Computer has 11 components that work together to move around 8-bit words in a logical path. T The components are the following:
- Program Counter
- Memory Address Register (MAR)
- RAM
- Instruction Register
- Controller/Sequencer
- Accumulator / A Register
- Adder/Subtractor
- B Register
- Output Register
- Binary Display
The block diagram of their connections can be seen below.
It is the job of the Controller/Sequencer to produce the correct microcode to properly control the other components via their control lines. A control line with a line above it is active low. This means, that the particular function occurs when the Controller/Sequencer sends a low signal to it. Since there is no support for overlining and subscripts in GitHub Wiki, we will refer to these control signals as X_.
For example, the signal for load-B-register will be represented as LB_.
The SAP1Emu Project makes some simplifications to the SAP-1 from Malvino, but it accomplishes the same thing. For example, the Emulator Engine added a Clock component that implements the Observer Pattern. The use of the Observer Pattern, using IObservable<T> and IObserver<T>, means the Engine running the emulated hardware doesn't tell the hardware when or where to move data. The individual components act to their own. The Engine just keeps the clock going and the right value in the Sequencer.
© Bob Baker 2020