Computer that stores program instructions in electronically or optically accessible memory
Astored-program computer is acomputer that storesprogram instructions in electronically, electromagnetically, or optically accessible memory.[1] This contrasts with systems that stored the program instructions withplugboards 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]
In principle, stored-program computers have been designed with various architectural characteristics. A computer with avon Neumann architecture stores program data and instruction data in the same memory, while a computer with aHarvard architecture has separate memories for storing program and data.[5][6] However, the termstored-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]
The concept of the stored-program computer can be traced back to the 1936 theoretical concept of auniversal Turing machine.[11] Von Neumann was aware of this paper, and he impressed it on his collaborators.[12]
Many early computers, such as theAtanasoff–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 onpunched tape, which was physically fed into the system as needed, as was the case for theZuse Z3 and theHarvard Mark I, or were only programmable by physical manipulation of switches and plugs, as was the case for theColossus computer.
In 1936,Konrad Zuse anticipated in two patent applications that machine instructions could be stored in the same storage used for data.[13]
In 1948, theManchester Baby, built atUniversity of Manchester,[14] is generally recognized as world's first electronic computer that ran a stored program—an event on 21 June 1948.[15][16] However the Baby was not regarded as a full-fledged computer, but more aproof of concept predecessor to theManchester Mark 1 computer, which was first put to research work in April 1949. On 6 May 1949 theEDSAC in Cambridge ran its first program, making it another electronic digital stored-program computer.[17] It is sometimes claimed that theIBM SSEC, operational in January 1948, was the first stored-program computer;[18] 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.[19] The first stored-program computer to be built in continental Europe was theMESM, completed in theSoviet Union in 1950.[20]
In April 1948, modifications were completed toENIAC 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[22][23] This claim is disputed by some computer historians.[24]
Manchester Baby, a developmental, fully electronic computer that successfully ran a stored program on 21 June 1948. It was subsequently developed into theManchester 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.
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.[28]
In 1951, theFerranti Mark 1, a cleaned-up version of the Manchester Mark 1, became the first commercially available electronic digital computer.
TheBull Gamma 3 (1952) andIBM 650 (1953) were the first mass produced commercial computers, respectively selling about 1200 and 2000 units.
^Thomas Haigh; Mark Priestley; Crispen Rope (2016).ENIAC in Action:Making and Remaking the Modern Computer. MIT Press. pp. 153, 157, 164, 174, 194.ISBN978-0-262-03398-5.
^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.S2CID14861159.
^Lavington, Simon, ed. (2012).Alan Turing and his Contemporaries: Building the World's First Computers. London: British Computer Society. p. 61.ISBN9781906124908.
^Carbaugh, D.H.; Marselos, N.L. (1983). "Switching System Software". In McDonald, J. C. (ed.).Fundamentals of Digital Switching Systems.Plenum Press.ISBN0-306-41224-1.