Tree compaction of microprograms

Although Fisher's trace scheduling procedure for global compaction may produce significant reduction in execution time of compacted microcode, the growth of memory size by extensive copying of blocks can be enormous. In the worst case, the memory size can grow exponentially [FIS81a] and the complex bookkeeping stage of the trace scheduling is an obstacle to implementation.A technique called tree compaction, which is based on the trace scheduling, is proposed to mitigate these drawbacks. Basically, it partitions a given set of microprogram blocks into tree-shaped subsets and applies the idea of trace scheduling on each tree-shaped subset separately. It achieves almost all of the compaction of the Fisher's trace scheduling procedure except that which causes copying of blocks. Preliminary tests indicate that tree compaction gives almost as short execution time as trace scheduling but with much less memory. The paper includes such an example.

[1]  MARIO TOKORO,et al.  Optimization of Microprograms , 1981, IEEE Transactions on Computers.

[2]  Alfred V. Aho,et al.  Principles of Compiler Design , 1977 .

[3]  Edward L. Robertson Microcode Bit Optimization is NP-Complete , 1979, IEEE Transactions on Computers.

[4]  Alfred V. Aho,et al.  Principles of Compiler Design (Addison-Wesley series in computer science and information processing) , 1977 .

[5]  Joseph A. Fisher,et al.  Trace Scheduling: A Technique for Global Microcode Compaction , 1981, IEEE Transactions on Computers.

[6]  Bruce D. Shriver,et al.  Some Experiments in Local Microcode Compaction for Horizontal Machines , 1981, IEEE Transactions on Computers.

[7]  Mario Tokoro,et al.  A technique of global optimization of microprograms , 1978, MICRO 11.

[8]  Marleen Sint A survey of high level microprogramming languages , 1980, SIGM.

[9]  Subrata Dasgupta,et al.  The Organization of Microprogram Stores , 1979, CSUR.

[10]  Bruce D. Shriver,et al.  Microcode compaction: looking backward and looking forward , 1981, AFIPS '81.

[11]  William Graham Wood The computer aided design of microprograms , 1979 .

[12]  Joseph Allen Fisher,et al.  The Optimization of Horizontal Microcode within and Beyond Basic Blocks: an Application of Processor Scheduling with Resources , 2018 .

[13]  Bruce D. Shriver,et al.  Local Microcode Compaction Techniques , 1980, CSUR.

[14]  Tilak Agerwala Microprogram Optimization: A Survey , 1976, IEEE Transactions on Computers.

[15]  David A. Patterson Strum: Structured Microprogram Development System for Correct Firmware , 1976, IEEE Transactions on Computers.

[16]  David Johns Dewitt A machine independent approach to the production of optimized horizontal microcode. , 1976 .

[17]  Steven R. Vegdahl A new perspective on the classical microcode compaction problem , 1983, SIGM.