loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
International Symposium on Code Generation and Optimization (CGO'06)
Compiling for EDGE Architectures
New York, New York
March 26-March 29
ISBN: 0-7695-2499-0
Aaron Smith, University of Texas at Austin
Jon Gibson, University of Texas at Austin
Bertrand Maher, University of Texas at Austin
Nick Nethercote, University of Texas at Austin
Bill Yoder, University of Texas at Austin
Doug Burger, University of Texas at Austin
Kathryn S. McKinle, University of Texas at Austin
Jim Burrill, University of Massachusetts

Explicit Data Graph Execution (EDGE) architectures offer the possibility of high instruction-level parallelism with energy efficiency. In EDGE architectures, the compiler breaks a program into a sequence of structured blocks that the hardware executes atomically. The instructions within each block communicate directly, instead of communicating through shared registers. The TRIPS EDGE architecture imposes restrictions on its blocks to simplify the microarchitecture: each TRIPS block has at most 128 instructions, issues at most 32 loads and/or stores, and executes at most 32 register bank reads and 32 writes. To detect block completion, each TRIPS block must produce a constant number of outputs (stores and register writes) and a branch decision.

The goal of the TRIPS compiler is to produce TRIPS blocks full of useful instructions while enforcing these constraints. This paper describes a set of compiler algorithms that meet these sometimes conflicting goals, including an algorithm that assigns load and store identifiers to maximize the number of loads and stores within a block. We demonstrate the correctness of these algorithms in simulation on SPEC2000, EEMBC, and microbenchmarks extracted from SPEC2000 and others. We measure speedup in cycles over an Alpha 21264 on microbenchmarks.

Citation:
Aaron Smith, Jon Gibson, Bertrand Maher, Nick Nethercote, Bill Yoder, Doug Burger, Kathryn S. McKinle, Jim Burrill, "Compiling for EDGE Architectures," cgo, pp.185-195, International Symposium on Code Generation and Optimization (CGO'06), 2006
Usage of this product signifies your acceptance of the Terms of Use.