Bounds on scheduling with limited resources
SOSP '73 Proceedings of the fourth ACM symposium on Operating system principles
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)
Global optimization of microprograms through modular control constructs
MICRO 12 Proceedings of the 12th annual workshop on Microprogramming
Algorithms for a self-tuning microprogrammed computer
MICRO 10 Proceedings of the 10th 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
The design of a system for the synthesis of correct 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
Microprogram design at the processor level
ACM SIGMICRO Newsletter
The MPG System: A Machine-Independent Efficient Microprogram Generator
IEEE Transactions on Computers
Microprogram Optimization: A Survey
IEEE Transactions on Computers
Strum: Structured Microprogram Development System for Correct Firmware
IEEE Transactions on Computers
The Identification of Maximal Parallelism in Straight-Line Microprograms
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
Hi-index | 0.01 |
Detection of concurrently executable microoperations is an important consideration for effective horizontal microprogramming. Since it is highly machine-dependent and requires knowledge of highly intricate features of a machine, only limited effort has been made so far to derive an algorithm for detection of microprogram parallelism to enable optimization of horizontal microprograms. In this paper, problems involved in optimization of horizontal microprograms are described. Existing techniques are applied to detect microprogram parallelism in a sequential source microprogram to allow subsequent optimization of the microprogram in a horizontal format. An algorithm for optimization of horizontal microprograms is derived. An upper bound for microprogram execution time is determined. The results derived in this paper are very general so that they are applicable to any machine with a horizontal microinstruction format (including a vertical format which is a special case of a horizontal format). An example is given to illustrate the algorithm.