iCHSTM 2013 Programme • Version 5.3.6, 27 July 2013 • ONLINE (includes late changes)
Index
| Paper sessions timetable | Lunch and evening timetable | Main site
Rethinking the stored-program concept
Thomas Haigh | University of Wisconsin-Milwaukee, United States

Thirty years ago, as the history of computing began to develop as an academic field, its practitioners agreed that adoption of the “stored program concept” was the crucial dividing line between modern computers and the machines that preceded them. This judgment has been little questioned since.

However the literature shows no such unanimity on what the stored program concept actually is, and its relationship to other concepts such as a “general purpose,” “practical” or “universal” computer. Implicit definitions entail more than simply “storing” a program, but the core package of features varies between authors. The primary advantage offered by the concept is sometimes seen as one of theoretical computational power and sometimes one of engineering practicality.

This paper is a first step toward reinterpreting “stored program concept” as an idea with its own history, evolving over time in the service of a number of distinct agendas and in the hands of a number of distinct social groups. It sketches three periods. The first is the immediate reception of the ideas contained in John von Neumann’s “First Draft of a Report on the EDVAC” (1945). This is invariably cited as the seminal expression of the stored program concept, though it does not include the phrase “stored program” or even the word “program.” A variety of advantages were attributed to “EDVAC-type” machines by early authors and the presenters at key computing meetings, the most important being the promise of a flexible computer with many fewer vacuum tubes than otherwise required.

During the 1950s, the second period examined, the phrase “stored program” began to enter use. Archival research suggests that it originated within IBM in 1949. For an experimental hybrid machine with two distinct programming mechanisms it distinguished the program loaded into electronic memory from the one wired onto a plug board. Early usage in the published literature was predominantly by IBM representatives.

It achieved its current prominence only in the late-1970s and early-1980s. Its appeal to historians of computing was as a means of putting to rest bitter and unproductive feuds about the identity of the “first computer.” A kind of truce was reached, as each early machine was awarded a set of qualifying adjectives such as “general purpose,” “electronic” or “full scale.” The “stored program concept” was articulated clearly enough for this purpose, but never really defined clearly enough to be a satisfactory analytical tool.

My conclusion is that the concept has been overloaded with too many different meanings to be salvaged for analytical use. Instead I define a more precise alternative, the “modern code paradigm” to describe crucial ideas on code format and capabilities from the 1945 report. I separate this from two other crucial aspects of the 1945 report: the von Neumann architecture and the EDVAC hardware paradigm.