A design environment for addressing architecture and compiler interactions

Abstract Often a computer architecture is designed and implemented without determining whether its associated compilers will actually use all of the architecture's features. A more effective machine can result when the interactions between an architecture and a compiler are addressed. This paper presents an environment that integrates the tasks of translating a source program to machine instructions for a proposed architecture, imitating the execution of these instructions and collecting measurements. The environment, which is easily retargeted and quickly collects detailed measurements, facilitates experimentation with a proposed architecture and a compiler.

[1]  Michael J. Flynn,et al.  ASIC microprocessors , 1989, MICRO 22.

[2]  David W. Wall,et al.  Generation and analysis of very long address traces , 1990, ISCA '90.

[3]  Susan J. Eggers,et al.  Techniques for efficient inline tracing on a shared-memory multiprocessor , 1990, SIGMETRICS '90.

[4]  W. Kent Fuchs,et al.  TRAPEDS: producing traces for multicomputers via execution driven simulation , 1989, SIGMETRICS '89.

[5]  Daniel P. Siewiorek,et al.  An architectural research facility: ISP descriptions, simulation, data collection , 1977, AFIPS '77.

[6]  Murray Hill,et al.  Yacc: Yet Another Compiler-Compiler , 1978 .

[7]  Jack W. Davidson,et al.  A retargetable instruction reorganizer , 1986, SIGPLAN '86.

[8]  Tomás Lang,et al.  A block-and-actions generator as an alternative to a simulator for collecting architecture measurements , 1987, SIGPLAN '87.

[9]  Manuel E. Benitez,et al.  A portable global optimizer and linker , 1988, PLDI '88.

[10]  David B. Whalley,et al.  Reducing the cost of branches by using registers , 1990, [1990] Proceedings. The 17th Annual International Symposium on Computer Architecture.

[11]  Mario Barbacci,et al.  Instruction set processor specifications (ISPS): The notation and its applications , 1981, IEEE Transactions on Computers.

[12]  David B. Whalley,et al.  Methods for saving and restoring register values across function calls , 1991, Softw. Pract. Exp..

[13]  George Radin,et al.  The 801 minicomputer , 1982, ASPLOS I.

[14]  Norman P. Jouppi,et al.  Hardware/software tradeoffs for increased performance , 1982, ASPLOS I.

[15]  David B. Whalley,et al.  Ease: an environment for architecture study and experimentation , 1990, SIGMETRICS '90.

[16]  James R. Larus,et al.  Abstract execution: A technique for efficiently tracing programs , 1990, Softw. Pract. Exp..

[17]  David B. Wortman,et al.  Static and Dynamic Characteristics of XPL Programs , 1975, Computer.

[18]  Christopher W. Fraser,et al.  Code selection through object code optimization , 1984, TOPL.

[19]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[20]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[21]  Christopher W. Fraser,et al.  The Design and Application of a Retargetable Peephole Optimizer , 1980, TOPL.