Topzle Topzle

Manchester Baby

Updated: Wikipedia source

Manchester Baby

The Manchester Baby, also called the Small-Scale Experimental Machine (SSEM), was the first electronic stored-program computer. It was built at the Victoria University of Manchester by Frederic C. Williams, Tom Kilburn, and Geoff Tootill, and ran its first program on 21 June 1948. The Baby was not intended to be a practical computing engine, but was instead designed as a testbed for the Williams tube, the first truly random-access memory. Described as "small and primitive" 50 years after its creation, it was the first working machine to contain all the elements essential to a modern electronic digital computer. As soon as the Baby had demonstrated the feasibility of its design, a project was initiated at the university to develop it into a full-scale operational machine, the Manchester Mark 1. The Mark 1 in turn quickly became the prototype for the Ferranti Mark 1, the world's first commercially available general-purpose computer. The Baby had a 32-bit word length and a memory of 32 words (1 kibibit, 1,024 bits). As it was designed to be the simplest possible stored-program computer, the only arithmetic operations implemented in hardware were subtraction and negation; other arithmetic operations were implemented in software. The first of three programs written for the machine calculated the highest proper divisor of 218 (262,144), by testing every integer from 218 downwards. This algorithm would take a long time to execute—and so prove the computer's reliability, as division was implemented by repeated subtraction of the divisor. The program consisted of 17 instructions and ran for about 52 minutes before reaching the correct answer of 131,072, after the Baby had performed about 3.5 million operations (for an effective CPU speed of about 1100 instructions per second).

Infobox

Also known as
Small-Scale Experimental Machine
Developer
Frederic Calland WilliamsTom KilburnGeoff Tootill
Product family
Manchester computers
Release date
21 June 1948; 77 years ago (1948-06-21)
Memory
1 kibibit (1,024 bits)
Successor
Manchester Mark 1

Tables

Baby's instruction set[36] · Programming
000
000
Binary code
000
Original notation
S, Cl
Modern mnemonic
JMP S
Operation
Jump to the instruction at the address obtained from the specified memory address S (absolute unconditional indirect jump)
100
100
Binary code
100
Original notation
Add S, Cl
Modern mnemonic
JRP S
Operation
Jump to the instruction at the program counter plus (+) the relative value obtained from the specified memory address S (relative unconditional jump)
010
010
Binary code
010
Original notation
-S, C
Modern mnemonic
LDN S
Operation
Take the number from the specified memory address S, negate it, and load it into the accumulator
110
110
Binary code
110
Original notation
c, S
Modern mnemonic
STO S
Operation
Store the number in the accumulator to the specified memory address S
001 or101
001 or101
Binary code
001 or101
Original notation
SUB S
Modern mnemonic
SUB S
Operation
Subtract the number at the specified memory address S from the value in accumulator, and store the result in the accumulator
011
011
Binary code
011
Original notation
Test
Modern mnemonic
CMP
Operation
Skip next instruction if the accumulator contains a negative value
111
111
Binary code
111
Original notation
Stop
Modern mnemonic
STP
Operation
Stop
Binary code
Original notation
Modern mnemonic
Operation
000
S, Cl
JMP S
Jump to the instruction at the address obtained from the specified memory address S (absolute unconditional indirect jump)
100
Add S, Cl
JRP S
Jump to the instruction at the program counter plus (+) the relative value obtained from the specified memory address S (relative unconditional jump)
010
-S, C
LDN S
Take the number from the specified memory address S, negate it, and load it into the accumulator
110
c, S
STO S
Store the number in the accumulator to the specified memory address S
001 or101
SUB S
SUB S
Subtract the number at the specified memory address S from the value in accumulator, and store the result in the accumulator
011
Test
CMP
Skip next instruction if the accumulator contains a negative value
111
Stop
STP
Stop

References

  1. As the program counter was incremented at the end of the decoding process, the stored address had to be the target addre
  2. The function bits were only partially decoded, to save on logic elements.
  3. IEEE Annals of the History of Computing
    https://doi.org/10.1109%2FMAHC.2005.42
  4. Resurrection
    https://web.archive.org/web/20120109142655/http://www.cs.man.ac.uk/CCS/res/res20.htm#d
  5. "Early Electronic Computers (1946–51)"
    https://web.archive.org/web/20090105031620/http://www.computer50.org/mark1/contemporary.html
  6. Introduction to the Mark 1
    https://web.archive.org/web/20081026080604/http://www.computer50.org/mark1/mark1intro.html
  7. BBC
    https://www.bbc.com/news/science-environment-44554891
  8. Proceedings of the London Mathematical Society
    http://www.comlab.ox.ac.uk/activities/ieg/e-library/sources/tp2-ie.pdf
  9. "Rechenhilfe für Ingenieure Konrad Zuses Idee vom ersten Computer der Welt wurde an der Technischen Hochschule geboren"
    https://web.archive.org/web/20090213222711/http://www2.tu-berlin.de/alumni/parTU/00dez/zuse.htm
  10. John Vincent Atanasoff and the Birth Of Electronic Digital Computing
    http://jva.cs.iastate.edu/history.php
  11. Copeland (2010), pp. 91–100
  12. EPE Online
    https://web.archive.org/web/20071210232351/http://www.epemag.com/zuse/default.htm
  13. Lavington (1998), p. 7
  14. Lavington (1998), p. 1
  15. Brown (1999), p. 429
  16. Lavington (1998), p. 9
  17. Lavington (1980), chapter 5
  18. Lavington (1998), pp. 8–9
  19. Lavington (1998), p. 5
  20. Mathematics of Computation
    https://www.ams.org/journals/mcom/1950-04-030/S0025-5718-1950-0037589-7/
  21. Resurrection
    https://web.archive.org/web/20170828010743/http://www.cs.man.ac.uk/CCS/res/res04.htm#g
  22. Lavington (1998), pp. 13, 24
  23. Lavington (1998), p. 12
  24. Lavington (1998), pp. 8, 12
  25. IEEE Annals of the History of Computing
    https://doi.org/10.1109%2FMAHC.2007.4338447
  26. Napper (2000), p. 366
  27. Lavington (1998), p. 13
  28. Lavington (1998), p. 16
  29. Copeland 2011
  30. I. J. Good, "The Baby Machine", note, 4 May 1947, in Good, Early Notes on Electronic Computers (Virginia Tech University
  31. Lavington (1998), pp. 6–7
  32. Anderson (2010), p. 61
  33. The Manchester Baby: The World's First Stored-Program Computer
    https://m.youtube.com/watch?v=cozcXiSSkwE
  34. History of Tywardeath School. Centenary 1903-2003
  35. "The "Baby": The World's First Stored-Program Computer"
    https://wayback.archive-it.org/all/20090304054926/http://www.msim.org.uk/media/33871703/thebaby,theworldsfirststored-programcomputer.pdf
  36. Napper (2000), p. 367
  37. Lavington (1998), p. 14
  38. Lavington (1998), p. 15
  39. Napper (2000), pp. 366–367
  40. curation.cs.manchester.ac.uk
    http://curation.cs.manchester.ac.uk/computer50/www.computer50.org/mark1/prog98/ssemref.html
  41. www.davidsharp.com
    http://www.davidsharp.com/baby/
  42. Lavington (1998), pp. 16–17
  43. Resurrection
    https://web.archive.org/web/20120109142655/http://www.cs.man.ac.uk/CCS/res/res20.htm#e
  44. Lavington (1998), p. 17
  45. Nature
    https://doi.org/10.1038%2F162487a0
  46. "Meet Baby"
    https://www.scienceandindustrymuseum.org.uk/whats-on/meet-baby
  47. The Daily Telegraph
    https://www.telegraph.co.uk/news/science/science-news/3344661/Photo-of-great-grandfather-of-modern-computers-found.html
  48. "Dead Media Beat: Baby"
    https://www.wired.com/2008/06/dead-media-be-5-2/
Image
Source:
Tip: Wheel or +/− to zoom, drag to pan, Esc to close.