Stored-program computer

From HandWiki
Short description: Computer that stores program instructions in electronically or optically accessible memory


A stored-program computer is a computer that stores program instructions in electronically or optically accessible memory.[1] This contrasts with systems that stored the program instructions with plugboards or similar mechanisms.

The definition is often extended with the requirement that the treatment of programs and data in memory be interchangeable or uniform.[2][3][4]

Description

In principle, stored-program computers have been designed with various architectural characteristics. A computer with a von Neumann architecture stores program data and instruction data in the same memory, while a computer with a Harvard architecture has separate memories for storing program and data.[5][6] However, the term stored-program computer is sometimes used as a synonym for the von Neumann architecture.[7][8] Jack Copeland considers that it is "historically inappropriate, to refer to electronic stored-program digital computers as 'von Neumann machines'".[9] Hennessy and Patterson wrote that the early Harvard machines were regarded as "reactionary by the advocates of stored-program computers".[10]

History

The concept of the stored-program computer can be traced back to the 1936 theoretical concept of a universal Turing machine.[11] Von Neumann was aware of this paper, and he impressed it on his collaborators.[12]

Many early computers, such as the Atanasoff–Berry computer, were not reprogrammable. They executed a single hardwired program. As there were no program instructions, no program storage was necessary. Other computers, though programmable, stored their programs on punched tape, which was physically fed into the system as needed.

In 1936, Konrad Zuse anticipated in two patent applications that machine instructions could be stored in the same storage used for data.[13][14]

The University of Manchester's Baby[15] is generally recognized as world's first electronic computer that ran a stored program—an event that occurred on 21 June 1948.[16][17] However the Baby was not regarded as a full-fledged computer, but more a proof of concept predecessor to the Manchester Mark 1 computer, which was first put to research work in April 1949. On 6 May 1949 the EDSAC in Cambridge ran its first program, making it another electronic digital stored-program computer.[18] It is sometimes claimed that the IBM SSEC, operational in January 1948, was the first stored-program computer;[19] this claim is controversial, not least because of the hierarchical memory system of the SSEC, and because some aspects of its operations, like access to relays or tape drives, were determined by plugging.[20] The first stored-program computer to be built in continental Europe was the MESM, completed in the Soviet Union in 1950.[21]

The first stored-program computers

Several computers could be considered the first stored-program computer, depending on the criteria.[3]

  • IBM SSEC, became operational in January 1948 but was electromechanical[22]
  • In April 1948, modifications were completed to ENIAC to function as a stored-program computer, with the program stored by setting dials in its function tables, which could store 3,600 decimal digits for instructions. It ran its first stored program on 12 April 1948 and its first production program on 17 April[23][24] This claim is disputed by some computer historians.[25]
  • ARC2, a relay machine developed by Andrew Booth and Kathleen Booth at Birkbeck, University of London, officially came online on 12 May 1948.[26] It featured the first rotating drum storage device.[27][28]
  • Manchester Baby, a developmental, fully electronic computer that successfully ran a stored program on 21 June 1948. It was subsequently developed into the Manchester Mark 1, which ran its first program in early April 1949.
  • Electronic Delay Storage Automatic Calculator, EDSAC, which ran its first programs on 6 May 1949, and became a full-scale operational computer that served a user community beyond its developers.
  • EDVAC, conceived in June 1945 in First Draft of a Report on the EDVAC, but not delivered until August 1949.
  • BINAC, delivered to a customer on 22 August 1949. It worked at the factory but there is disagreement about whether or not it worked satisfactorily after being delivered. If it had been finished at the projected time, it would have been the first stored-program computer in the world. It was the first stored-program computer in the U.S.[29]
  • In 1951, the Ferranti Mark 1, a cleaned-up version of the Manchester Mark 1, became the first commercially available electronic digital computer.
  • The Bull Gamma 3 (1952) and IBM 650 (1953) were the first mass produced commercial computers, respectively selling about 1200 and 2000 units.
  • Manchester University Transistor Computer, is generally regarded as the first transistor-based stored-program computer having become operational in November 1953.[30][31]

Telecommunication

The concept of using a stored-program computer for switching of telecommunication circuits is called stored program control (SPC). It was instrumental to the development of the first electronic switching systems by American Telephone and Telegraph (AT&T) in the Bell System,[32] a development that started in earnest by c. 1954 with initial concept designs by Erna Schneider Hoover at Bell Labs. The first of such systems was installed on a trial basis in Morris, Illinois in 1960.[33] The storage medium for the program instructions was the flying-spot store, a photographic plate read by an optical scanner that had a speed of about one microsecond access time.[34] For temporary data, the system used a barrier-grid electrostatic storage tube.

See also

  • Stored program control

References

  1. Allison, Joanne (1997), Stored-program Computers, http://www.computer50.org/mark1/stored.html, retrieved 24 August 2011 
  2. William F. Gilreath; Phillip A. Laplante (2003). Computer Architecture: A Minimalist Perspective. Springer. p. 24. ISBN 978-1-4020-7416-5. https://books.google.com/books?id=9DuC35atMu0C&pg=RA1-PA24. 
  3. 3.0 3.1 Edwin D. Reilly (2003). Milestones in computer science and information technology. Greenwood Publishing Group. p. 245. ISBN 978-1-57356-521-9. https://archive.org/details/milestonesincomp0000reil. 
  4. Murdocca, Miles J.; Vincent P. Heuring (2000). Principles of Computer Architecture. Prentice-Hall. pp. 5. ISBN 0-201-43664-7. 
  5. Daniel Page (2009). A Practical Introduction to Computer Architecture. Springer. p. 148. ISBN 978-1-84882-255-9. 
  6. Mark Balch (2003). Complete digital design: a comprehensive guide to digital electronics and computer system architecture. McGraw-Hill Professional. p. 149. ISBN 978-0-07-140927-8. https://books.google.com/books?id=uFSRT-OIxyoC&pg=PA149. Retrieved 18 May 2011. 
  7. Daniel Page (2009). A Practical Introduction to Computer Architecture. Springer. p. 153. ISBN 978-1-84882-255-9. https://books.google.com/books?id=X1m1tNcfWQYC&pg=PA153. 
  8. Ivor Grattan-Guinness (2003). Companion encyclopedia of the history and philosophy of the mathematical sciences. JHU Press. p. 705. ISBN 978-0-8018-7396-6. https://books.google.com/books?id=2hDvzITtfdAC&pg=PA705. 
  9. Copeland, Jack (2000). "A Brief History of Computing". ENIAC and EDVAC. https://plato.stanford.edu/entries/computing-history/#ENIAC. 
  10. John L. Hennessy; David A. Patterson; David Goldberg (2003). Computer architecture: a quantitative approach. Morgan Kaufmann. p. 68. ISBN 978-1-55860-724-8. https://archive.org/details/computerarchitec0003henn. 
  11. B. Jack Copeland (2006). Colossus: the secrets of Bletchley Park's codebreaking computers. Oxford University Press. p. 104. ISBN 978-0-19-284055-4. https://books.google.com/books?id=gfL4ky-TQOMC&pg=PA104. 
  12. Christof Teuscher (2004). Alan Turing: life and legacy of a great thinker. Springer. p. 321–322. ISBN 978-3-540-20020-8. https://books.google.com/books?id=0IIsoRqw9hgC&pg=PA321. 
  13. Williams, F. C; Kilburn, T (25 September 1948), "Electronic Digital Computers", Nature 162 (4117): 487, doi:10.1038/162487a0, Bibcode1948Natur.162..487W, http://www.computer50.org/kgill/mark1/natletter.html 
  14. (in de) Konrad Zuses Bemühungen um die Patentanmeldung der Z3, 2000 
  15. Williams, Frederic; Kilburn, Tom (1948). "Electronic Digital Computers". Nature 162 (4117): 487. doi:10.1038/162487a0. Bibcode1948Natur.162..487W. http://www.computer50.org/kgill/mark1/natletter.html. 
  16. Rául Rojas; Ulf Hashagen (2002). The first computers: history and architectures. MIT Press. p. 379. ISBN 978-0-262-68137-7. https://books.google.com/books?id=nDWPW9uwZPAC&pg=PA379. 
  17. Daniel Page (2009). A Practical Introduction to Computer Architecture. Springer. p. 158. ISBN 978-1-84882-255-9. 
  18. Mike Hally (2005). Electronic brains: stories from the dawn of the computer age. National Academies Press. p. 96. ISBN 978-0-309-09630-0. https://books.google.com/books?id=DKcqJJacxxwC&pg=PA96. 
  19. Emerson W. Pugh (1995). Building IBM: shaping an industry and its technology. MIT Press. p. 136. ISBN 978-0-262-16147-3. https://books.google.com/books?id=Bc8BGhSOawgC&pg=PA136. 
  20. Olley, A. (2010). "Existence Precedes Essence - Meaning of the Stored-Program Concept". IFIP WG 9.7 International Conference, HC 2010. 325. pp. 169–178. doi:10.1007/978-3-642-15199-6_17. ISBN 978-3-642-15198-9. http://individual.utoronto.ca/fofound/RevisedExistEss1.pdf. 
  21. Graham, Loren R. (1993). Science in Russia and the Soviet Union: A Short History. Cambridge University Press. p. 256. ISBN 9780521287890. 
  22. Emerson W. Pugh; Lyle R. Johnson; John H. Palmer (1991). IBM's 360 and Early 370 Systems. MIT Press. p. 15. ISBN 978-0-262-51720-1. https://archive.org/details/ibms360early370s0000pugh. 
  23. Thomas Haigh; Mark Priestley; Crispen Rope (2016). ENIAC in Action:Making and Remaking the Modern Computer. MIT Press. pp. 153, 157, 164, 174, 194. ISBN 978-0-262-03398-5. 
  24. Haigh, Thomas (2014) (in en). Engineering “The Miracle of the ENIAC”: Implementing the Modern Code Paradigm. https://eniacinaction.com/wp-content/uploads/2014/02/EngineeringtheMiracleoftheENIAC-Published.pdf. 
  25. Bruderer, Herbert (4 January 2021). Milestones in Analog and Digital Computing. ISBN 9783030409746. https://books.google.com/books?id=Gh8SEAAAQBAJ&dq=ENIAC+Stored+Program&pg=PA987. 
  26. Campbell-Kelly, Martin (April 1982). "The Development of Computer Programming in Britain (1945 to 1955)". IEEE Annals of the History of Computing 4 (2): 121–139. doi:10.1109/MAHC.1982.10016. 
  27. Lavington, Simon, ed (2012). Alan Turing and his Contemporaries: Building the World's First Computers. London: British Computer Society. p. 61. ISBN 9781906124908. 
  28. Johnson, Roger (April 2008). "School of Computer Science & Information Systems: A Short History". University of London. http://www.dcs.bbk.ac.uk/site/assets/files/1029/50yearsofcomputing.pdf. 
  29. Hally, Mike (2005). Electronic Brains (First ed.). Granta. pp. 40–41. ISBN 978-1862076631. 
  30. Kilburn, T; Grimsdale, R L; Webb, D C (April 1956). "A transistor digital computer with a magnetic drum store". Proceedings of the IEE - Part B: Radio and Electronic Engineering (Cambridge University Press) 103 (35): 390–406. doi:10.1049/pi-b-1.1956.0079. ISSN 2054-0434. 
  31. Grimsdale, R L (Autumn 1995). "The Transition from Valves to Computers". Resurrection (Computer Conservation Society) (13). ISSN 0958-7403. https://www.computerconservationsociety.org/resurrection/res13.htm#c. 
  32. Carbaugh, D.H.; Marselos, N.L. (1983). "Switching System Software". in McDonald, J. C.. Fundamentals of Digital Switching Systems. Plenum Press. ISBN 0-306-41224-1. 
  33. Joel, A. E. (October 1958). "An Experimental Electronic Switching System". Bell Laboratories Record 36 (10): 359–363. https://worldradiohistory.com/Archive-Bell-Laboratories-Record/50s/Bell-Laboratories-Record-1958-10.pdf#page=5. Retrieved 13 October 2022. 
  34. "Electronic Central Office". Long Lines 40 (5): 16. December 1960. https://www.telephonecollectors.info/index.php/browse/document-repository/catalogs-manuals/bell-system-we/pubs-docs/12290-60dec-longlines-att-r/file.