Issue No. 07 - July (1981 vol. 30)
S. Davidson , Engineering Research Center, Western Electric Company
Microcode compaction is an essential tool for the compilation of high-level language microprograms into microinstructions with parallel microoperations. The purpose of the research reported in this paper is to compare four microcode compaction methods reported in the literature: first-come first-served, critical path, branch and bound, and list scheduling. In order to do this a complete, machine independent method of representing the microoperations of real machines had to be developed; and the compaction algorithms had to be recast to use this representation. The compaction algorithms were then implemented and tested on microcode produced by a compiler for a high-level microprogramming language. The results of these experiments were that for all cases examined the first-come first-served and list scheduling algorithms produced microcode compacted into a minimal number of microinstructions in time that was a polynomial function of order two of the number of input microoperations.
microprogramming, Microcode compaction, microcode optimization
S. Davidson, B. Shriver, P. Mallett and D. Landskov, "Some Experiments in Local Microcode Compaction for Horizontal Machines," in IEEE Transactions on Computers, vol. 30, no. , pp. 460-477, 1981.