Local Microcode Compaction Techniques
ACM Computing Surveys (CSUR)
A comparison of list schedules for parallel processing systems
Communications of the ACM
On storage optimization of horizontal microprograms
MICRO 7 Conference record of the 7th annual workshop on Microprogramming
A technique of global optimization of microprograms
MICRO 11 Proceedings of the 11th annual workshop on Microprogramming
On the packing of micro-operations into micro-instruction words
MICRO 11 Proceedings of the 11th annual workshop on Microprogramming
The history of FORTRAN I, II, and III
ACM SIGPLAN Notices - Special issue: History of programming languages conference
A machine independent approach to the production of optimized horizontal microcode.
A machine independent approach to the production of optimized horizontal microcode.
Methods of compacting microprograms
Methods of compacting microprograms
The optimization of horizontal microcode within and beyond basic blocks: an application of processor scheduling with resources
Optimization Strategies for Microprograms
IEEE Transactions on Computers
A High-Level Language for Horizontal Microprogramming
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
Parallel operation in the control data 6600
AFIPS '64 (Fall, part II) Proceedings of the October 27-29, 1964, fall joint computer conference, part II: very high speed computer systems
A survey of techniques for recognizing parallel processable streams in computer programs
AFIPS '69 (Fall) Proceedings of the November 18-20, 1969, fall joint computer conference
Microcode compaction: looking backward and looking forward
AFIPS '81 Proceedings of the May 4-7, 1981, national computer conference
Effective Compilation Support for Variable Instruction Set Architecture
Proceedings of the 2002 International Conference on Parallel Architectures and Compilation Techniques
Instruction-Set Modeling for ASIP Code Generation
VLSID '96 Proceedings of the 9th International Conference on VLSI Design: VLSI in Mobile Communication
Symbolic Binding for Clustered VLIW ASIPs
ICCD '00 Proceedings of the 2000 IEEE International Conference on Computer Design: VLSI in Computers & Processors
Local and global microcode compaction using reduction operators
ACM SIGMICRO Newsletter
A resource request model for microcode compaction
ACM SIGMICRO Newsletter
A Hierarchical Description Model for Microcode
IEEE Transactions on Computers
Global Compaction of Horizontal Microprograms Based on the Generalized Data Dependency Graph
IEEE Transactions on Computers
A Preliminary Evaluation of Trace Scheduling for Global Microcode Compaction
IEEE Transactions on Computers
A low-power scheduling tool for system on a chip designs
WSEAS Transactions on Circuits and Systems
Microcode compaction: looking backward and looking forward
AFIPS '81 Proceedings of the May 4-7, 1981, national computer conference
An ILP Approach to the Simultaneous Application of Operation Scheduling and Power Management
IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences
Hi-index | 14.99 |
Microcode compaction is an essential tool for the compilation of high-level language microprograms into microinstructions with parallel microoperations. The purpose of the research reported in this paper is to compare four microcode compaction methods reported in the literature: first-come first-served, critical path, branch and bound, and list scheduling. In order to do this a complete, machine independent method of representing the microoperations of real machines had to be developed; and the compaction algorithms had to be recast to use this representation. The compaction algorithms were then implemented and tested on microcode produced by a compiler for a high-level microprogramming language. The results of these experiments were that for all cases examined the first-come first-served and list scheduling algorithms produced microcode compacted into a minimal number of microinstructions in time that was a polynomial function of order two of the number of input microoperations.