previous | contents | next

Chapter 6 ½ Structure 91

The mixture of operations to be performed in most complex algorithms prevents specialization of the Pc from going very far, e.g., from there being a P. arithmetic, for with every switch between capabilities distributed in distinct P's there must be intercommunication of the components, which introduces communication delays.

Input/Output Processors (Pio)

The Pio specializes in the management of peripherals (secondary memories and terminals). It is also called a peripheral processor, a data channel, and a channel.1 The tasks a Pio and its subordinate peripherals perform are the transmission of information between Ms and Mp; the transmission of information between the computer and some real time system outside the computer (e.g., human); and the transmission of information outside the C, via a T to other information media (e.g., a card reader, a card punch, or a line printer). All these tasks are similar and often are considered the same, though in principle they can be quite different. A task in this environment is the management of some quantum of information, whether it be one bit or character, a voice message, or a record or file from magnetic disk or magnetic tape. Thus a Pio does not usually change any information; it is merely an interpreter for moving information. There are three exceptions: computation is required for error correction and/or detection; computation is required if recoding and reformatting are done; and computation is required when search operations are carried out on Ms without Pc intervention.

These computing tasks require only a fairly simple instruction set. Typically it contains jumping (branching); data transmission with Mp to initialize process variables; simple counting ability, e.g., to control error retries; subroutine calling; interrupt process handling; initializing KMs or KT; testing the state of KMs or KT; and sometimes code conversion (data in one code format are converted to another code). Thus substantial arithmetic and logic facility is not needed.

Display Processors (P. display)

The P.display is a complex Pio that processes information for display terminals. The data-type is a representation of a complex graphic object, usually made up of curves, and spatially localized text. The representations vary considerably from system to system, using various list pointers and vector encodings. The operations on the data-types include refreshing the display (due to the short-term persistence of the CRT); the selective modification of the representation under commands from the T. display or the Pc, such as adding or deleting a line, or inserting text; the control of T.inputs such as keyboards, light pens, or joysticks; and the performance of more complex geometric transformations, such as translation, rotation, scale change, and determination of hidden lines.

Language Processors (P.language)

Language P's interpret a high-level language that has been designed to some external criterion, such as a procedure-oriented language (ALGOL or FORTRAN) or a list language (LISP). Thus complexity takes the form of a complex data-type for the instruction, rather than a complex data-type for processing (e.g., floating complex numbers). When such processors are extended to do all the things a Pc also does, they become more complex than a Pc.

Language-based machines are discussed in greater depth in Sec. 7of Part 2.

Array Processors (P. array)

The array processor might be considered a more general Pc. It has been proposed or discussed in the literature for some time. The information unit processed is an array of one (vector) or two (matrix) dimensions. Instructions are provided to operate on these data. The specification of algorithms for a P.array is based on the assumption that an operation can be carried out in parallel for all array elements. Actually, both serial (sequential) and parallel (concurrent) execution can be implemented. Both structures have the same logical characteristics, from an ISP viewpoint, and may differ only in execution rate.

Section 3 of Part 2 categorizes array processors and presents several examples, including STARAN, TI ASC, and Illiac IV.

Vector-Move Processors

The vector-move processor is a special-case P.array. It is capable only of moving a vector of words at some location in Mp to some other location within Mp. Because of its limited instruction set, such a P is found only in computers that require constant Mp shuffling. This condition arises either because of a hierarchy of Mp speeds or because the programs must have a particular structure before they can be interpreted by the processor. A time-shared computer might require such a processor for multiprogram memory management. It is therefore common to find block (vector) transmission instructions in a Pc. The IBM System/360 has Pio[Storage channel] for this function.

Special Algorithm Processors (P.algorithm)

Only a small number of special algorithm processors have been specified or implemented. High performance is almost guaranteed by hardwiring and specialization. The time to fetch the

1These terms are usually used without distinguishing between a Pio and a Kio, that is, whether the device interprets a sequential program (and thus is capable of sustained independent activity) or only decodes a single instruction.

previous | contents | next