DocumentCode :
3471973
Title :
Compiling for EDGE architectures
Author :
Smith, Aaron ; Burrill, Jim ; Gibson, Jon ; Maher, Bertrand ; Nethercote, Nick ; Yoder, Bill ; Burger, Doug ; McKinley, Kathryn S.
Author_Institution :
Dept. of Comput. Sci., Texas Univ., Austin, TX, USA
fYear :
2006
fDate :
26-29 March 2006
Abstract :
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.
Keywords :
data flow graphs; instruction sets; parallel architectures; program compilers; Alpha 21264; EEMBC; SPEC2000; TRIPS EDGE architecture; TRIPS compiler; compiler algorithm; explicit data graph execution architectures; high instruction-level parallelism; microarchitecture; microbenchmark; program compiler; Computer architecture; Concurrent computing; Delay; Energy efficiency; Hardware; Microarchitecture; Pipeline processing; Program processors; Reduced instruction set computing; VLIW;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Code Generation and Optimization, 2006. CGO 2006. International Symposium on
Print_ISBN :
0-7695-2499-0
Type :
conf
DOI :
10.1109/CGO.2006.10
Filename :
1611540
Link To Document :
بازگشت