|
The SSEM (aka: "the Baby") was a computer constructed at the University of Manchester to test the Williams-Kilburn Tube memory system in preparation for the construction of the Manchester Mark 1 computer.
On June 21, 1948 the SSEM became the first stored-program machine to run a program and so claimed it's niche in the history of computing.
Contents (this page): | Sub-pages: |
The SSEM was a minimal machine, providing only enough functionality to support it's purpose of testing the memory system.
The SSEM had 32 words of 32 bits of main memory (the Store), a single 32-bit Accumulator, a program counter (Current Instruction), and an instruction register (Present Instruction). The Store, Accumulator and CI/PI registers were implemented in three Williams-Kilburn Tube memories.
The SSEM was a bit-serial machine, with two single-bit serial adders, one for data arithmetic and one for program counter arithmetic.
Input was performed bit by bit with switches and pushbuttons. Output was presented on a fourth CRT which monitored the Williams-Kilburn tube memories.
Figure 1: Architecture of the SSEM | |
|
The SSEM implemented only seven instructions. It didn't even have an add instruction - one had to use a load negative followed by a subtract to obtain addition. The instruction format was laid out so it could expand as the SSEM grew to become the Manchester Mark 1.
A memory location was referred to as a 'line' because it occupied one line on the CRT raster. Note that because the scanning of the memory tubes was from left to right, and in bit-serial machines one deals with low-order bits first, all displays on the SSEM and documentation present the lowest order bit on the left.
In contrast to modern machines, the SSEM performed an increment/fetch/execute cycle rather than fetch/increment/execute. Consequently, the target values for JMP instructions must be one less than the actual target line (address) of the jump and programs typically begin in line 1 as line 0 will be skipped when the program starts with CI at 0.
All instructions except Skip Negative and Halt use the L operand. Unused bits in an instruction are ignored during instruction decoding.
Arithmetic is two's complement.
Some symbol definitions:
|
|
For more information about the SSEM and the Manchester Mark 1 direct from the source:
Much of the information used to create the simulation was obtained from the article:
Programs
| Simulation
SSEM |
bhilpert 2002 |