Content deleted Content added
Citation bot (talk | contribs) Altered title. Added publisher. Removed URL that duplicated identifier. Removed parameters. | Use this bot. Report bugs. | Suggested by Jay8g | #UCB_toolbar |
m ce Tags: Visual edit Mobile edit Mobile web edit Advanced mobile edit |
||
(10 intermediate revisions by 7 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 ===
|