The design of a general-purpose microprogram-controlled computer with elementary structure1
Thomas W Kampe
Summary This paper presents the design of a parallel digital computer utilizing a 20-m sec core memory and a diode storage microprogram unit. The machine is intended as an on-line controller and is organized for ease of maintenance.
A word length of 19 bits provides 31 orders referring to memory locations. Fourteen bits are used for addressing, 12 for base address, one for index control, and one for indirect addressing. A 32nd order permits the address bits to be decoded to generate special functions which require no address.
The logic of the machine is resistor-transistor; the arithmetic unit is a bus structure which permits many variants of order structure.
In order to make logical decisions, a "general-purpose" logic unit has been incorporated so that the microcoder has as much freedom in this area as in the arithmetic unit.
This paper discusses the logical design of a binary, parallel, real-time computer. Only those aspects of packaging and circuitry which hear directly on this topic will be considered.
Since the specifications for the job a computer is to perform are not enough to fix the design, the logical designer is faced with an undetermined system. One of his main functions is to analyze the system in its natural environment, i.e., with malfunctions, operator errors, etc., and to supply the remainder of the side conditions which do fix the design.
In this discussion, the exposition will be directed toward the design philosophy which led to a machine now being built. In order to accomplish this, we shall consider the functional requirements, their analysis in terms of the state of the art, the basic design decisions, and, finally, a description of the computer as it stands.
The design of the computer (known, for a variety of reasons, as the SD-2) was undertaken to supply a computer capable of moderately fast arithmetic with perhaps five decimal places of accuracy and 3000 or more words of storage. Furthermore, the computer must reside in a hostile environment (a small house, 0° to 85° C temperature), withstand severe shocks, and be maintained by men with only two weeks training on the system. The volume limitation is 40 cubic feet. Within this space must reside the control computer, memory, power supplies, complete maintenance facilities, and sufficient input/output equipment to handle 20 shaft position outputs, 30 such inputs, numerous switch settings, and 20 or more display or relay signals.
The final specification (or blow) was that 15 months were available from the start of preliminary design to the delivery of an operating instrument with debugged program.
The maintenance requirement was evidently the major problem. In order to achieve the simplicity required, two design criteria were necessary.
First, the computer had to be readily understood. This implied that the usual clever logical tricks such as intensive time sharing of control and arithmetic were undesirable.
Second, if built-in maintenance facilities were to be kept simple, the machine must be designed with this in mind.
Since temperature and reliability were important, an extremely conservative approach had to be taken with respect to component performance.
With the schedule requirements, a machine which could he designed and released in pieces was needed. Since the control system is usually the most troublesome part of a computer to design, a simple control was needed.
1IRE Trans., EC-9, vol. 2, pp. 208-213, June, 1960.