previous | contents | next

Chapter 3½ PMS Notation 19

Switch - the addressing switch - and a number of submemories. Thus a memory is recursively defined. The decomposition stops with the unit memory, which is one that stores only a single i-unit and hence requires no addressing. Likewise, a switch is often composed of a cascade of 1-way to n-way switches. For example, the switch that addresses a word on a multiple-headed disk might look like

The first S[random] selects a specific Ms.disk.drive.unit; the second S[random] is a switch with random addressing that selects the head (hence the platter and side); S[linear] is a switch with linear accessing that selects the track; and S [cyclic] is a switch with cyclic addressing that finally selects the M[word] along the circular track. Note that the switches are realized by differing technologies. The first two S[random]s are generally electronic (AND-OR gates) with selection times of 10 ~ 100 m s, or perhaps electromechanical (relays). The S[linear] is the electromechanical action of a stepping motor or a pneumatic-driven, servomechanism-controlled arm that holds the read/write heads; the selection time for a new track is 20 ~ 500ms. Finally, the S [cyclic] is determined by the rotation time of the disk and requires from 16 ~ 60 ms, depending on the speed (3,600 ~ 1,000 r/min).

We can write such decompositions of a component into subcomponents either when we actually know the structure of the component or even when we know only the behavior. For example, we could write a memory as random access (M.random) even if it was, in fact, cyclic, as long as its behavior as far as the larger system was concerned took no account of its cyclic character, accepting the average access time as the random-access time.

When people speak of the control element of a computer, they often refer mainly to the processors - not to the control of a disk or magnetic tape, which, however, can often be more complex. When we suppress detail, the control often disappears from a PMS diagram. Similarly, when we agglomerate primitive components (as we did above when combining Mp and Kmemory to be just Mp) into the physically distinct subparts of a computer system, a separate control, K, often occurs. The functionally and physically separate control' has evolved. These controls, often as big as a Pc, can be computers with stored control programs. When we decompose a compound control, we find data-operations (D) for calculating addresses or for error-detection and error- correction data; transducers (T) for changing logic signal levels and information flow widths; memory (M) as it is used in D, T, K, and for buffering; and finally a large control (K) which coordinates the activities of all the other primitives.

It should be clear from the above discussion that components are named according to the function they perform and that they can be composed of many different types of components. Thus, a control (K) may have memory (M) as a subcomponent, and a memory (M) may have a transducer (T) as well as a switch (8) as subcomponents. All these subcomponents exist to accomplish the total function of the component and do not make the component also some other type. For instance, the M that does a transduction (T) from voltages on its input wires to magnetism in its cores and a second transduction from magnetism to voltages on its output wires does not thereby become a transducer as far as the total system functioning is concerned. To the rest of the system all the M can do is to remember i-units, accepting and delivering them in the same form (voltages).
 
 

PMS Notation

In the above discussions we used various notations to designate additional specifications for a component, Mp for a functional classification and S[cyclic] for a type of access function. There are many additional specifications one wants to give - so many that it makes no sense to enumerate them all in advance. A fixed position notation, such as standard function notation, F[~, y, x], where the first, second, and third argument places have fixed interpretation, is not suitable. Instead we agree on a single general way of providing additional specifications. If X is a component, we can write

X[a1:v1;a2:v2; . .]

to indicate that X is further specified by attribute a, having value v1, attribute a, having value v,, etc. Each parameter (as we call the pair a: v) is well defined independently of whatever other parameters are given; hence there is no significance to the order in which they are written or the number which have to be written.

According to this notation we should have written M[function:primary] or S[access-function:random] rather than Mp or S[random]. This shows immediately the price paid for the general convention: it requires an excessive amount of writing (which would be even more apparent if a large number of parameters were given), and the extra information seems to be redundant in some cases. We compensate for these disadvantages by several conventions for abbreviating and abstracting parameters. Let us illustrate them by showing some alternative ways of writing Mp:

1A variety of names for K's are used: controller; adapter, channel, buffer, interface, etc.

previous | contents | next