Local Microcode Compaction Techniques
ACM Computing Surveys (CSUR)
A comparison of list schedules for parallel processing systems
Communications of the ACM
Flow Analysis of Computer Programs
Flow Analysis of Computer Programs
On storage optimization of horizontal microprograms
MICRO 7 Conference record of the 7th annual workshop on Microprogramming
On the packing of micro-operations into micro-instruction words
MICRO 11 Proceedings of the 11th annual workshop on Microprogramming
Some Experiments in Local Microcode Compaction for Horizontal Machines
IEEE Transactions on Computers
Trace Scheduling: A Technique for Global Microcode Compaction
IEEE Transactions on Computers
IEEE Transactions on Computers
A High-Level Language for Horizontal Microprogramming
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
Hi-index | 14.98 |
This paper describes a global compaction algorithm which can produce efficient microprograms with respect to both space and time. The algorithm depends upon a generalized data dependency graph (GDDG), which can integratedly express the concurrency of microorders and their mobility past the boundaries of basic blocks, as well as the control flow for a microprogram. In the algorithm an initial GDDG is first built up from a source microprogram consisting of a sequence of microorders, and this is transformed by repeated application of a set of microscopic transformation rules to the graph's edges until all of them have been examined. Then microorders are packed into microinstruction fields so that the more frequently executed basic blocks may contain as few microinstructions as possible. The intrinsic nature of the control flow's joins and forks allows determination of which basic block should accommodate those microorders that can be placed in more than one basic block.