previous | contents | next

344 Part 4 The instruction-set processor level: special-function processors

Section 3 Processors defined by a microprogram

Fig. 3. Arithmetic unit detail.

Figure 4 is a diagram of the microprogram unit. The eight-bit J register, augmented by the TO flip-flop of the alteration unit, is decoded for up to 512 steps. Students of microprogramming will recognize the Wilkes model in its pure form [Wilkes and Stringer, 1953]. The "next" value of the microprogram register may be chosen in one of three ways.

First, the value may be controlled by the microprogram itself.

Second, five bits of the bus, corresponding to the order portion of the word, may be entered; the other three bits are set to zero. In this manner, the order decoding is accomplished.

Third, all eight bits of the J register may be filled from the d bus. In practice, the order is shifted five bits to the left, presenting eight bits of the address to get the J register. In this manner, one may generate "no address" commands.

In principle, the programmer may start on any microstep which amuses him; in practice, only a limited number of these will yield no-address orders, the other steps being used for parts of add, subtract, order procure, etc. The author has no doubt, however, that someone will find a useful reason for popping into the middle of divide or some other command. There is no feature of a machine, however pathological, which cannot be exploited by a programmer.

The actual decoding of these nine bits is accomplished partly by logic, and partly by current switching of the clock pulse. A diode matrix is used to convert the microsteps into control signals.

No more than 15 micro operations may be called out on a single step, including selection of the next microorder.

When stepping the microregister, a ploy is used to reduce the number of diodes. Instead of specifying the next step, the microcoder specifies the bits of J which he wishes to reverse. Instead of the minimum latency coding of earlier days, the microcoder of the SD-2 must do minimum diode coding. This is roughly analogous to asking for a fast, efficient computer program containing a minimum of 1's. The author, as well as others, has spent endless hours trying to devise a computer program to do such microcoding, with no results.

One may note in passing that the man who wrote the microcode, Tomo Hayata, has for several years specialized in advanced programming problems. Wilkes' views,1 that logical design will in the future be done by programmers, seem to be verified here. Because of the limited microarithmetic available here, microcoding of the highest order is a must, since each microstep is 4 m sec of time.

For simple orders (e.g., extract), the processes of order procure, indexing (but not indirect addressing), operand procure and execution can be compressed into the time for two memory cycles, i.e., 40 m sec. Each indirect reference adds another memory cycle

1Private communication; Aug. 17, 1959.

Fig. 4. Microprogram unit.

previous | contents | next