previous | contents | next


As in the earlier section, we may not be concerned about obtaining more speed (by paying more hardware). Rather, we can be concerned about doing the operation more cheaply, being prepared to give up some speed in the process. Such a decision need not occur because of any general weighing of speed versus cost in an overall objective function. It can occur just as well because we are working on a part of a larger system that is speed critical or speed non critical. For instance, it is quite possible that the multiplication in question is being done in parallel with another process that takes much longer. Consequently, no increase in speed will make any improvement at all and no decrease in speed (up to some limit) will detract from overall performance at all. Hence, one wants to implement the cheapest version of multiply possible consistent with the lower limit on speed.

In such a case, the general strategy is to look for facilities to share. In the present case, taking Figure 4 as the defining RTM flowchart, we observe two DMgpa's, one for control and one for the multiplication step. These become candidates for sharing. We can anticipate that some additional control will be necessary to share facilities (as it was with subroutines, for instance). But DMgpa's are relatively expensive, so that we can undoubtedly afford additional control and still reduce cost.

The present case turns out to involve more than control, however. The DMgpa's perform two functions: the arithmetic operation and the memory operation. The arithmetic operation can be shared, but the memory cannot, since the registers of both DMgpa's are fully occupied throughout the computation with holding the relevant data. Thus, to share the arithmetic part, by having only a single DMgpa, implies that one must introduce additional modules to provide the memory. Figure 16 shows the resulting implementation, using two M(transfer register)'s. Since these cost roughly 1/3 of a DMgpa, the resulting system is still somewhat less expensive overall, even with the additional Ke's for control. If the


previous | contents | next