previous | contents | next

90 Part 1½ Fundamentals Section 2 ½ The Computer Space

T's, and Ms's and even to organize information in Mp for transshipment; additional Pio's specialized to handle graphic displays (hence P. display); a Pc specialized to tolerate failure; and even P's specialized to work on specific data-types (for example, P. array) or specific algorithms (e.g., the fast Fourier transform). In addition, any of these processors may be realized by microprogramming which is to say, by having its ISP interpreted by a specialized P. microprogram.

Although the existence of various functionally specialized processors is coupled most closely with the PMS structure dimension, the processors themselves are defined primarily by the data-types they can process. On the other hand, the inclusion of microprogrammed processors really extends the PMS structure dimension to where a P can be seen as a cascade of two P's.

The processor-function dimension in the computer space is laid out in an evolutionary way, so that its correspondence with PMS structure is clear. P. microprogram is put at the beginning of the dimension ahead of Pc, not because it occurs earlier in evolutionary development, but because it extends the PMS dimension down into the processor. Any of the P's along the dimension can be attained by a P.microprogram.

As an actual dimension characterizing a total computer it must be viewed cumulatively (similarly to the data-type dimension). Thus, if a computer has a Pio, it also has a Pc, and if it has a P.array it also has the prior ones. There are numerous exceptions to this, such as small Pc's with P.displays (hence with no Pio's). This evolutionary ordering does not correspond to complexity or number of data-types in the P. Pc and P.array are the most complex; Pio and P.vector. move are least.

We will make a few brief comments on each functional type, taking them in the order of the dimension.

Microprogram Processor (P. microprogram)

The term microprogramming was introduced initially in "The Best Way to Design an Automatic Calculating Machine" [Wilkes, 1951]. We use microprogrammed to mean that an ISP is defined by an interpreter program residing in an internal Mp, processed by an internal processor (the P. microprogram). Thus the structure is really an external processor (ISP) being defined by the computer formed as

The operations that microprogram processors perform are primitive in comparison with other processors. The task of the microprocessor is to interpret the instructions of the ISP it is realizing. This involves mostly data transfers among the registers of the processor state (Mps) plus simple boolean tests. Although it

must handle all the data-types of the larger ISP, it does so only as bit fields to be extracted and transferred from one register to another. The complex data operations (e.g., multiplication) are carried out by other units (D's). In fact, if a complex instruction set were to be used for the P. microprogram, the external processor might as well be implemented directly in hardware. In very minimal P's, for example, C(PDP-8) in Chap. 8, the ISP is essentially already at the level of a microprogram ISP, as shown by the inclusion of instructions that can be microcoded.

The long lag between the idea of microprogramming and its more widespread adoption is due to several reasons. Early ISPs were comparatively straightforward, so that a microprogram approach was not economically justified. The interpretation overhead time is higher than with the hardwired approach, and unless complex functions are realized this time becomes objectionable. In addition, suitable read-only memories were not developed until the mid-1960s (though it is unclear whether this is cause or effect). An additional feature of using a P. microprogram is the ability to realize several ISPs within a single physical processor. IBM has exploited this feature extensively in the System/360 and System/370 (Chap. 40, 41, and 51), by far the most ambitious use of microprogramming. One can argue that without the additional payoff, which was used to ease the transition to a new, incompatible computer system by providing emulation of the old system, the microprogramming would be marginal.

Microprogramming is now so popular that all but the very largest or very smallest machines are being microprogrammed. The microprogramming dimension is explored in detail in Sec. 1 of Part 2.

Central Processors (Pc)

Central processors interpret an instruction set for manipulating arithmetic, logic, and symbolic data-types. In all simple systems it is the only processor and thus does all tasks. The growth of processor specialization can be described in terms of relieving the Pc of simpler functions that require substantial processing time but do not make full use of the devices within the Pc, such as the arithmetic units. Crucial to this issue is the time it takes the Pc to switch from one task to another (recall the discussion on Mps, the processor state), since many of the jobs that are removed to specialized processors are demand jobs, such as input/output.

With the removal of tasks from the Pc, it becomes more specialized. A very pure example of this is the Pc of the CDC 6600 (Chap. 43), which has no input/output instructions of any kind in the Pc. That is, not only has the control and management of communication and transmission with the T's and Ms's been removed from the Pc, but the act of initiation has been removed as well and placed in the Pio's. Thus, the 6600 Pc is just an engine for working on the arithmetic, logic, and symbolic (address) data- types.

1Many contemporary microprogrammed processors have read/write memory to allow changes in the microprogram.

previous | contents | next