Content deleted Content added
→The first stored-program computers: Add design date for IBM SSEC (info taken from its own page). Add operational data for EDVAC (info taken from its own page). |
m ce Tags: Visual edit Mobile edit Mobile web edit Advanced mobile edit |
||
(12 intermediate revisions by 9 users not shown) | |||
Line 1:
{{short description|Computer that stores program instructions in electronically or optically accessible memory}}
{{Use dmy dates|date=February 2023}}
A '''stored-program computer''' is a [[computer]] that stores [[Instruction (computer science)|program instructions]] in electronically, electromagnetically, or optically accessible memory.<ref>{{Citation | last = Allison | first = Joanne | title = Stored-program Computers | year = 1997 | url = http://www.computer50.org/mark1/stored.html | access-date = 24 August 2011 | url-status = dead | archive-url = https://web.archive.org/web/20110927012816/http://www.computer50.org/mark1/stored.html | archive-date = 27 September 2011}}</ref> This contrasts with systems that stored the program instructions with [[plugboard]]s or similar mechanisms.
The definition is often extended with the requirement that the treatment of programs and data in memory be interchangeable or uniform.<ref name="GilreathLaplante2003">{{cite book|author1=William F. Gilreath|author2=Phillip A. Laplante|title=Computer Architecture: A Minimalist Perspective|url=https://books.google.com/books?id=9DuC35atMu0C&pg=RA1-PA24|year=2003|publisher=Springer|isbn=978-1-4020-7416-5|page=24}}</ref><ref name="Reilly2003">{{cite book|author=Edwin D. Reilly|title=Milestones in computer science and information technology|url=https://archive.org/details/milestonesincomp0000reil|url-access=registration|year=2003|publisher=Greenwood Publishing Group|isbn=978-1-57356-521-9|page=[https://archive.org/details/milestonesincomp0000reil/page/245 245]}}</ref><ref name="POCA">{{cite book|first=Miles J.|last=Murdocca|author2=Vincent P. Heuring |year=2000|title=Principles of Computer Architecture|publisher=Prentice-Hall|isbn=0-201-43664-7|pages=5}}</ref>
== 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.<ref name="Page2009">{{cite book|author=Daniel Page|title=A Practical Introduction to Computer Architecture|year=2009|publisher=Springer|isbn=978-1-84882-255-9|page=148}}</ref><ref name="Balch2003">{{cite book|author=Mark Balch|title=Complete digital design: a comprehensive guide to digital electronics and computer system architecture|url=https://books.google.com/books?id=uFSRT-OIxyoC&pg=PA149|access-date=18 May 2011|year=2003|publisher=McGraw-Hill Professional|isbn=978-0-07-140927-8|page=149}}</ref> However, the term ''stored-program computer'' is sometimes used as a synonym for the von Neumann architecture.<ref name="Page2009b">{{cite book|author=Daniel Page|title=A Practical Introduction to Computer Architecture|year=2009|publisher=Springer|isbn=978-1-84882-255-9|page=153|url=https://books.google.com/books?id=X1m1tNcfWQYC&pg=PA153}}</ref><ref name="Grattan-Guinness2003">{{cite book|author=Ivor Grattan-Guinness|author-link=Ivor Grattan-Guinness|title=Companion encyclopedia of the history and philosophy of the mathematical sciences|url=https://books.google.com/books?id=2hDvzITtfdAC&pg=PA705|year=2003|publisher=JHU Press|isbn=978-0-8018-7396-6|page=705}}</ref> [[Jack Copeland]] considers that it is "historically inappropriate, to refer to electronic stored-program digital computers as 'von Neumann machines{{'"}}.<ref>{{Cite web | last = Copeland | first = Jack | author-link = Jack Copeland | title = A Brief History of Computing |at = ENIAC and EDVAC | year = 2000 | url = https://plato.stanford.edu/entries/computing-history/#ENIAC | access-date = 27 January 2010 }}</ref> Hennessy and Patterson wrote that the early Harvard machines were regarded as "reactionary by the advocates of stored-program computers".<ref name="HennessyPatterson2003">{{cite book|author1=John L. Hennessy|author-link=John L. Hennessy|author2=David A. Patterson|author2-link=David Patterson (scientist)|author3=David Goldberg|title=Computer architecture: a quantitative approach|url=https://archive.org/details/computerarchitec0003henn|url-access=registration|year=2003|publisher=Morgan Kaufmann|isbn=978-1-55860-724-8|page=[https://archive.org/details/computerarchitec0003henn/page/68 68]}}</ref>
== History ==
The concept of the stored-program computer can be traced back to the 1936 theoretical concept of a [[universal Turing machine]].<ref name="Copeland2006">{{cite book|author=B. Jack Copeland|author-link=B. Jack Copeland|title=Colossus: the secrets of Bletchley Park's codebreaking computers|url=https://books.google.com/books?id=gfL4ky-TQOMC&pg=PA104|year=2006|publisher=Oxford University Press|isbn=978-0-19-284055-4|page=104}}</ref> Von Neumann was aware of this paper, and he impressed it on his collaborators.<ref name="Teuscher2004">{{cite book|author=Christof Teuscher|title=Alan Turing: life and legacy of a great thinker|url=https://books.google.com/books?id=0IIsoRqw9hgC&pg=PA321|year=2004|publisher=Springer|isbn=978-3-540-20020-8|page=321–322}}</ref>
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, as was the case for the [[Zuse Z3]] and the [[Harvard Mark I]], or were only programmable by physical manipulation of switches and plugs, as was the case for the [[Colossus computer]].
In 1936, [[Konrad Zuse]] anticipated in two patent applications that machine instructions could be stored in the same storage used for data.
=== The first stored-program computers ===
Line 27 ⟶ 26:
|publisher=MIT Press
|isbn=978-0-262-03398-5
|pages=153, 157, 164, 174, 194}}</ref><ref>{{Cite book |last=Haigh |first=Thomas |url=https://eniacinaction.com/wp-content/uploads/2014/02/EngineeringtheMiracleoftheENIAC-Published.pdf |title=Engineering
* [[APEXC|ARC2]], a relay machine developed by [[Andrew Donald Booth|Andrew Booth]] and [[Kathleen Booth]] at [[Birkbeck, University of London]], officially came online on 12 May 1948.<ref name="birkbeck">{{cite journal|last1=Campbell-Kelly|first1=Martin|title=The Development of Computer Programming in Britain (1945 to 1955)|journal=IEEE Annals of the History of Computing|date=April 1982|volume=4|issue=2|pages=121–139|doi=10.1109/MAHC.1982.10016|s2cid=14861159}}</ref> It featured the first [[drum memory|rotating drum storage device]].<ref>{{cite book|editor1-last=Lavington|editor1-first=Simon|title=Alan Turing and his Contemporaries: Building the World's First Computers|date=2012|publisher=British Computer Society|___location=London|isbn=9781906124908|page=61}}</ref><ref>{{cite web|last1=Johnson|first1=Roger|title=School of Computer Science & Information Systems: A Short History|url=http://www.dcs.bbk.ac.uk/site/assets/files/1029/50yearsofcomputing.pdf|website=Birkbeck College|publisher=University of London|access-date=23 July 2017|date=April 2008}}</ref>
* [[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.
|