Subexpression ordering in the execution of arithmetic expressions
Communications of the ACM
Mirager, the "best-yet" approach for horizontal microprogramming
ACM '72 Proceedings of the ACM annual conference - Volume 1
MPGS: a high-level language for microprogram generating system
ACM '72 Proceedings of the ACM annual conference - Volume 1
A standardized microprogram sequencing control with a push down storage
MICRO 5 Conference record of the 5th annual workshop on Microprogramming
Direct microprogrammed execution of the intermediate text from a high-level language compiler
ACM '73 Proceedings of the ACM annual conference
A survey of compiler optimization techniques
ACM '73 Proceedings of the ACM annual conference
ACM SIGMICRO Newsletter
A survey on bit dimension optimization strategies of microprograms
MICRO 23 Proceedings of the 23rd annual workshop and symposium on Microprogramming and microarchitecture
MICRO 20 Proceedings of the 20th annual workshop on Microprogramming
The Organization of Microprogram Stores
ACM Computing Surveys (CSUR)
Local Microcode Compaction Techniques
ACM Computing Surveys (CSUR)
Design of a Machine-Independent Optimizing System for Emulator Development
ACM Transactions on Programming Languages and Systems (TOPLAS)
An algorithm for global compaction of horizontal microprograms
ACM SIGMICRO Newsletter
Hardware microcontrol schemes using PLAs
MICRO 14 Proceedings of the 14th annual workshop on Microprogramming
Considerations for local compaction of nanocode for the nanodata QM-1
MICRO 14 Proceedings of the 14th annual workshop on Microprogramming
Global optimization of microprograms through modular control constructs
MICRO 12 Proceedings of the 12th annual workshop on Microprogramming
On the packing of micro-operations into micro-instruction words
MICRO 11 Proceedings of the 11th annual workshop on Microprogramming
A Control Word Model for detecting conflicts between microprograms
MICRO 8 Proceedings of the 8th annual workshop on Microprogramming
Improved instruction formation in the exhaustive local microcode compaction algorithm
MICRO 17 Proceedings of the 17th annual workshop on Microprogramming
A survey of resource allocation methods in optimizing microcode compilers
MICRO 17 Proceedings of the 17th annual workshop on Microprogramming
The design of some language constructs for horizontal microprogramming
ISCA '77 Proceedings of the 4th annual symposium on Computer architecture
Local and global microcode compaction using reduction operators
ACM SIGMICRO Newsletter
A resource request model for microcode compaction
ACM SIGMICRO Newsletter
Microprogram design at the processor level
ACM SIGMICRO Newsletter
A new perspective on the classical microcode compaction problem
ACM SIGMICRO Newsletter
On the formal pescription of microoperations and its impact on automatic microcode generation
ACM SIGMICRO Newsletter
The MPG System: A Machine-Independent Efficient Microprogram Generator
IEEE Transactions on Computers
Some Experiments in Local Microcode Compaction for Horizontal Machines
IEEE Transactions on Computers
IEEE Transactions on Computers
Microprogram Optimization: A Survey
IEEE Transactions on Computers
The Identification of Maximal Parallelism in Straight-Line Microprograms
IEEE Transactions on Computers
Toward Optimization of Horizontal Microprograms
IEEE Transactions on Computers
Global Compaction of Horizontal Microprograms Based on the Generalized Data Dependency Graph
IEEE Transactions on Computers
The design of a firmware engineering tool: the microcode compiler
AFIPS '81 Proceedings of the May 4-7, 1981, national computer conference
Paper: A boltzmann machine approach to code optimization
Parallel Computing
Worst-case analysis of heuristics for the local microcode optimization problem
Operations Research Letters
Hi-index | 0.02 |
The storage requirement of a horizontal microprogram can be reduced by optimal packing of micro-operations into micro-instructions. The purpose of this paper is to examine micro-instruction generation for horizontally microprogrammable computers in order to reduce the number of required micro-instructions for a loop-free segment of micro-operations. Although some methods for solving this problem exist, so far no systematic approach has been used to determine what type of analysis must be performed on each sequential segment of micro-operations. In this paper, the micro-instruction generation process is analyzed and two optimization methods are presented. The first method is algorithmic in that it will always generate the minimum micro-instruction set for a given subblock of micro-operations. The other method is heuristic and does not always result in the minimum micro-instruction set. The methods developed here are shown to achieve better results than those of the existing methods.