the original-case. However, the opportunities depend on the algorithm. Thus, since there is no arithmetic step associated with the control and a test for termination is required, there is little to be gained from running a straightline version of Figure 23 (though it can be done). However, one can attempt a cheaper implementation by time sharing a single DMgpa. This is shown in Figure 24. It uses two more control steps (taking more time) by substituting two memory cells for one DMgpa.
Fig. 25. Control part for signed multiplication.
The RP algorithm has several desirable properties that permit improvement of its specifications. It takes both its inputs in the same form, without requiring one to be shifted to the correct half word. It also will work on any 16-bit inputs, as long as the resulting product does not exceed 16 bits. If the latter happens it simply gives the correct low order 16 bits. Thus, none of the problems of specifying behavior in special cases arise, as they did for the original algorithm. Finally, with only a slight additional control, the algorithm can be extended to be used with signed numbers in a two's complement representation, whereas the schemes so far have permitted only positive integers. (See Chapter 5 for discussion of the representation.) We show the implementation of this in Figure 25, which involves only an additional initialization segment. The multiplier must be made positive in order to detect when to terminate. Therefore, the multiplier is complemented initially if it is negative.
VARIATIONS IN THE IMPLEMENTATION OF CONTROL
One of the most frequently-discussed trade-offs is that between hardware and software. Reference to it occurs repeatedly in the critical discussion of any computer -- in analyzing why one feature was realized "in hardware" and some other feature was realized "in software". At the RT level of design this trade-off appears as the option of whether to build a "direct RT system" to do a given job or whether to obtain a minicomputer and simply program it. Since in all cases the functioning system is realized in hardware consisting of K's, D's, M's, etc., the first step is to be clear on what constitutes a software system (realized in hardware). Then we can discuss what is being traded for what. -
The essential feature distinguishing software RT systems from nonsoftware