This Article 
 Bibliographic References 
 Add to: 
Two Complementary Approaches for Microcode Bit Optimization
February 1994 (vol. 43 no. 2)
pp. 234-239

In the design of microprogrammed processors, the minimization of microcode width is very crucial to reduce the required microcode ROM area. The paper suggests two different procedures which are complementary in nature: first an integer linear programming formulation which guarantees an optimal solution for small or medium size problems; and second, a heuristic algorithm based on the graph bipartitioning to deal with large size problems. Experimental results show that the proposed heuristic algorithm yields near-optimal solutions with polynomial time complexity.

[1] T. G. Rauscher and P. M. Adams, "Micrprogramming: A tutorial and survey of recent developments,"IEEE Trans. Comput., vol. C-29, pp. 2-20, Jan. 1980.
[2] T. Agerwala, "Microprogram optimization: A survey,"IEEE Trans. Comput., vol. C-25, pp. 962-973, Oct. 1976.
[3] S. Dasqupta, "The organization of microprogram stores,"Comput. Surveys, vol. 11, no. 1, pp. 39-65, Mar. 1979.
[4] S. Davidsonet al., "Some experiments in local microcode compaction for horizontal machines,"IEEE Trans. Comput., vol. C-31, pp. 460-477, July 1981.
[5] J. A. Fisher, "Trace scheduling: A technique for global microcode compaction,"IEEE Trans. Comput., pp. 478-490, July 1981.
[6] S. Isodaet al., "Global compaction of horizontal micro-programs based on the generalized data dependency graphs,"IEEE Trans. Comput., vol. C-32, pp. 922-932, Oct. 1983.
[7] S. J. Schwartz, "An algorithm for minimizing read only memories for machine control," inProc. IEEE 10th Ann. Symp. Switch. Automata Theory, 1968, pp. 28-33A.
[8] E. L. Robertson, "Microcode bit optimization is NP-complete,"IEEE Trans. Comput., vol. C-28, pp. 316-319, Apr. 1979.
[9] A. Grasselli and V. Montanari, "On the minimization of read-only memories in microprogrammed digital computers,"IEEE Trans. Comput., vol. C-19, pp. 1111-1114, Nov. 1970.
[10] T. Jayasri and D. Basu, "An approach to organizing microinstructions which minimizes the width of control store words,"IEEE Trans. Comput., vol. C-25, pp. 514-521, May 1976.
[11] J. L. Baer and B. Koyama, "On the minimization of the width of the control memory of microprogrammed processor,"IEEE Trans. Comput., vol. C-28, pp. 310-316, Apr. 1979.
[12] C. D. V. P. Rao and N. N. Biswas, "On the minimization of word width in the control memory of microprogrammed digital computers,"IEEE Trans. Comput., vol. C-32, pp. 863-868, Sept. 1983.
[13] S. R. Das, D. K. Banerji, and A. Chattopadhyay, "On control memory minimization in microprogrammed digital computers,"IEEE Trans. Comput., vol. C-22, pp. 845-848, 1973.
[14] R. S. Garfinkel and G. L. Nemhauser,Integer Programming. New York: Wiley Interscience, 1972.
[15] B. W. Kernighan and S. Lin, "An efficient heuristic procedure for partitioning graphs,"Bell Syst. Tech. J., pp. 291-307, Feb. 1970.
[16] "LINDO: Linear interactive and discrete optimizer for linear, integer, and quadratic programming problems," LINDO Systems Inc.
[17] A. W. Nagle, R. Cloutier, and A. C. Parker, "Synthesis of hardware for the control of digital systems,"IEEE Trans. Comput.-Aid. Des., vol. CAD-1, pp. 201-212, Oct. 1982.
[18] J. P. Hayes,Computer Architecture and Organization. New York: McGraw-Hill, 1978.
[19] R. Puri, Calgary Univ., Canada, private communication.
[20] C. M. Fiduccia and R. M. Mattheyses, "A linear-time heuristic for improving network partitions," inProc. 19th Design Automat. Conf., 1982, pp. 175-181.

Index Terms:
minimisation; linear programming; microprogramming; computational complexity; microcode bit optimization; microprogrammed processors; minimization; microcode width; integer linear programming; graph bipartitioning; heuristic algorithm; polynomial time complexity; microprogramming.
In-Cheol Park, Se-Kyoung Hong, Chong-Min Kyung, "Two Complementary Approaches for Microcode Bit Optimization," IEEE Transactions on Computers, vol. 43, no. 2, pp. 234-239, Feb. 1994, doi:10.1109/12.262130
Usage of this product signifies your acceptance of the Terms of Use.