This paper is in three parts. The second and third parts are reprints of two seminal papers [1,2]. The first part of this paper is a retrospective introduction by their author.
[1] was the first paper to expound the idea of microprogramming and the first to use the term. Wilkes was motivated to develop this concept by a desire for systematic processor design. History does repeat itself; the need for systematic, regular design is as strong with VLSI microprocessors as it ever was with vacuum tubes.
[2] shows the benefits of an additional year of work on microprogramming. The concepts have been refined to practicality. This paper contains the first published microprogram. It also contains a discussion of the hardware resources needed to support microprogramming effectively. While registers are no longer the critical resource they were in 1953, the concepts presented here form the basis of most systems in 1986.
The retrospective introduction goes over the mental process Wilkes went through on the way to presenting his concept to the world. The author points out that the use of microprogramming in the IBM System/360 may well have resulted directly from his 1951 lecture.
In our harried world of the 1980’s, it could be argued that these prehistoric relics have no practical value. They will, it is true, be of no help to a person grappling with a specific technical problem, even a microprogramming problem. Yet they do have value even to a pragmatist. System designers have always made tradeoffs and always will. Tradeoffs that are made with a view only to the exigencies of the moment have a tendency to turn out wrong soon after. Tradeoffs made with a sense of historical perspective usually stand the test of time better. These papers can help provide this perspective.
Beyond that, these papers can be profitably read by people who are not designing a computer. We can all gain from a sense of history. There was a time before integrated circuits, before standardized instruction sets, and before megabytes on every desk. An appreciation of what computing equipment was like in 1951 helps appreciate, and utilize, the computing equipment of 1986.
As Newton said, “If I have seen further, it is by standing upon the shoulders of giants.” The same is true in computer design. These papers let the reader view an important area through the eyes of one such giant as he began to stand erect.