This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Horizon: A Retargetable Compiler for Horizontal Microarchitectures
May 1988 (vol. 14 no. 5)
pp. 575-583

The vertical migration of complex application code into horizontal microcode makes traditional methods of handwritten and hand-optimized microcode with primitive assembly languages impractical. Higher-level languages that permit abstraction from low-level timing and concurrency details are considered a major step toward alleviating the problem. This approach is feasible only if compilers for these languages exist that can produce high-quality microcode and that can be targeted to new machines with modest effort and high reliability. An overview is provided of the Horizon retargetable microcode compiler, which facilitates the production of highly optimized microcode and the targeting of the compiler to specific machines.

[1] A. V. Aho, R. Sethi, and J. D. Ullman,Compilers: Principles, Techniques, and Tools. Reading, MA: Addison-Wesley, 1986.
[2] V. H. Allan, "A critical analysis of the global optimization problem for horizontal microcode," Ph.D. dissertation, Comput. Sci. Dep., Colorado State Univ., Fort Collins, CO 80523, 1986.
[3] V. H. Allan and R. A. Mueller, "Microcode compaction with general synchronous timing," this issue, pp. 595-599.
[4] T. Baba and H. Hagiwara, "The MPG system: A machine-independent efficient microprogram generator,"IEEE Trans. Comput., vol. C-30, no. 6, pp. 373-395, June 1981.
[5] U. Banerjee, S. Shen, D. J. Kuck, and R. A. Towle, "Time and parallel processor bounds for Fortran-like loops,"IEEE Trans. Comput., vol. C-28, no. 9, pp. 660-670, Sept. 1979.
[6] G. J. Chaitin, M. A. Auslander, A. K. Chandra, J. Cocke, M. E. Hopkins, and P. W. Markstein, "Register allocation via coloring,"Comput. Lang., vol. 6, 1981.
[7] W. Damm, "An axiomatization of low-level parallelism in microarchitectures," inProc. MICRO-17, New Orleans, LA, Washington, DC: IEEE Computer Society Press, 1984, pp. 314-323.
[8] W. Damm, "Automatic generation of simulation tools: A case study in the design of a retargetable firmware development system," inAdvances in Microprocessing and Microprogramming. Amsterdam, The Netherlands: North-Holland, 1984.
[9] W. Damm, G. Doehmen, K. Merkel, and M. Sichelschmidt, "The AADL/S*approach to firmware design specification,"IEEE Software, vol. 3, no. 4, pp. 27-37, July 1986.
[10] S. Dasgupta, "A model of clocked micro-architectures for firmware-engineering and design automation applications," inProc. MICRO-17, New Orleans, LA, 1984.
[11] S. Dasgupta, "Towards a microprogramming language scheme," inProc.MICRO-11, 1978, pp. 144-153.
[12] S. Dasgupta, P. A. Wilsey, and J. Heinanen, "Axiomatic specifications in firmware development systems,"IEEE Software, vol. 3, no. 4, pp. 49-58, July 1986.
[13] S. Davidson, "A survey of high-level languages for microprogramming," inHandbook of Microprogramming and Firmware Engineering, S. Habib and S. Dasgupta, Eds. New York: Van Nostrand, 1986.
[14] S. Davidson, "Design and construction of a virtual machine resource binding language," Ph.D. dissertation, Dep. Comput. Sci., Univ. Southwestern Louisiana, Lafayette, 1980.
[15] J. A. Fisher, "The Optimization of Horizontal Microcode Within and Beyond Basic Blocks: An Application of Processor Scheduling with Resources," PhD thesis, New York Univ., New York, 1979.
[16] J. A. Fisher, "Trace scheduling: A technique for global microcode compaction,"IEEE Trans. Comput., vol. C-30, no. 7, pp. 478-490, July 1981.
[17] J. A. Fisher, D. Landskov, and B. D. Shriver, "Microcode compaction: Looking backward and looking forward," inProc. Nat. Comput. Conf.Montvale, NJ: AFIPS Press, July 1981, pp. 95-102.
[18] M. Ganapathi, "Retargetable code generation and optimization using attribute grammars," Ph.D. dissertation, Dep. Comput. Sci., Univ. Wisconsin, Madison, 1980.
[19] R. P. Gurd, "Experience developing microcode using a high level language," inProc. 16th Microprogramming Workshop (MICRO-16), Downingtown, PA, Oct. 1983, pp. 179-184.
[20] P. W. Mallett, "Methods of compacting microprograms," Ph.D. dissertation, Dep. Comput. Sci., Univ. Southwestern Louisiana, Lafayette, Dec. 1978.
[21] P. Marwedel, "A retargetable compiler for a high-level microprogramming languages," inProc. MICRO-17. Washington, DC: IEEE Computer Society Press, 1984, pp. 267-274.
[22] R. A. Mueller, "Horizon compiler hypothetical micro-architecture 1," Firmware Eng. and Micro-Architecture Design Lab., Colorado State Univ., Fort Collins, Tech. Rep. MAD-86-15, Sept. 1986.
[23] R. A. Mueller, "Horizon compiler hypothetical micro-architecture 2," Firmware Eng. and Micro-Architecture Design Lab., Colorado State Univ., Fort Collins, Tech. Rep. MAD-86-19, Sept. 1986.
[24] R. A. Mueller, B. Su, M. R. Duda, and B. Plomondon, "A case study in signal processing microprogramming with the URPR software pipelining technique," inProc. 19th Microprogramming Workshop (MICRO-19), New York, Oct. 1986.
[25] R. A. Mueller and J. Varghese, "Fundamental concepts in microprogramming," inPrinciples of Microprogramming and Firmware Engineering, S. Habib and S. Dasgupta, Eds. New York: Van Nostrand, 1988.
[26] R. A. Mueller and J. S. Walicki, "Horizon code generator microarchitecture specification and representation," Firmware Eng. and Micro-Architecture Design Lab., Colorado State Univ., Fort Collins, CO, Tech. Rep. MAD-86-13, Sept. 1986.
[27] B. L. Plomondon, M. R. Duda, and R. A. Mueller, "Horizon compiler Am29500 FFT micro-architecture 1," Firmware Eng. and Micro-Architecture Design Lab., Colorado State Univ., Fort Collins, CO, Tech. Rep. MAD-86-16, Sept. 1986.
[28] B. Su, S. Ding, and L. Jin, "An improvement of trace scheduling for global microcode compaction," inProc. 17th Microprogramming Workshop (MICRO-17), New Orleans, LA, Nov. 1984, pp. 78-85.
[29] B. Su, S. Ding, and J. Xia, "URPR--An extension of URCR for software pipelining," inProc. 19th Microprogramming Workshop (MICRO-19), New York, Dec. 1986, pp. 94-103.
[30] S. R. Vegdahl, "Local code generation and compaction in optimizing microcode compilers," Ph.D. dissertation, Dep. Comput. Sci., Carnegie-Mellon Univ., Pittsburgh, PA, 1982.
[31] J. S. Walicki and J. D. Laughlin, "Operation scheduling in reconfigurable, multifunction pipelines," inProc. 20th Microprogramming Workshop, Dec. 1987.
[32] M. V. Wilkes, "The best way to design an automatic calculating machine," inRep. Manchester Univ. Computer Inaugural Conf., Dep. Elec. Eng., Manchester Univ., England, July 1951, pp. 16-18.

Index Terms:
retargetable compiler; horizontal microarchitectures; vertical migration; complex application code; horizontal microcode; assembly languages; abstraction; timing; concurrency; Horizon; optimized microcode; microprogramming; program compilers
Citation:
R.A. Mueller, M.R. Duda, P.H. Sweany, J.S. Walicki, "Horizon: A Retargetable Compiler for Horizontal Microarchitectures," IEEE Transactions on Software Engineering, vol. 14, no. 5, pp. 575-583, May 1988, doi:10.1109/32.6135
Usage of this product signifies your acceptance of the Terms of Use.