• DocumentCode
    1131605
  • Title

    Microprogram Optimization: A Survey

  • Author

    Agerwala, Tilak

  • Author_Institution
    Department of Electrical Engineering, University of Texas
  • Issue
    10
  • fYear
    1976
  • Firstpage
    962
  • Lastpage
    973
  • Abstract
    The application of microprogramming in present day computers is rapidly increasing and microprogramming will undoubtedly play a major role in the next generation of computer systems. Microprogram optimization is one way to increase efficiency and can be crucial in some applications. Optimization, in this context refers to a reduction/minimization of control store and/or execution time of microprograms. The numerous strategies are classified under four broad categories: word dimension reduction, bit dimension reduction, state reduction, and heuristic reduction. The various techniques are presented, analyzed, and compared. Unfortunately, the results of the survey are not too positive. The reason is that much of the work on optimization has been devoted to obtaining the absolute minimum solutions rather than "good engineering reductions." Whether the reduction is being performed with respect to the word dimension, the bit dimension or the number of states existing techniques to obtain the optimum solution use exhaustive enumeration. Thus, the effort involved is prohibitive and there are no guarantees that significant reductions can be obtained. It is thus doubtful that an optimum solution can be justified even when the microcode produced is frequently executed. Heuristic reduction techniques do not guarantee an optimum solution but can provide some reduction with little effort. For the majority of the techniques studied, much further work remains to be done before any practical applications can be foreseen. Some methods however constitute steps in the right directions. Directions for future research are briefly outlined in the conclusions.
  • Keywords
    Bit dimension reduction, compilation, concurrent microoperations, control memory, covering table, heuristic reduction, high-level microprogramming language, incompletely specified automaton, microprogramming, resource allocation, space/time optimization, state reduction, word dimension reduction.; Application software; Automata; Automatic control; Circuits; Computer applications; Hardware; Microprogramming; Optimization methods; Registers; Resource management; Bit dimension reduction, compilation, concurrent microoperations, control memory, covering table, heuristic reduction, high-level microprogramming language, incompletely specified automaton, microprogramming, resource allocation, space/time optimization, state reduction, word dimension reduction.;
  • fLanguage
    English
  • Journal_Title
    Computers, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0018-9340
  • Type

    jour

  • DOI
    10.1109/TC.1976.1674537
  • Filename
    1674537