Title : 
A Compiler Back-End for Reconfigurable, Mixed-ISA Processors with Clustered Register Files
         
        
            Author : 
Stripf, Timo ; Koenig, Ralf ; Rieder, Patrick ; Becker, Juergen
         
        
            Author_Institution : 
Karlsruhe Inst. of Technol., Karlsruhe, Germany
         
        
        
        
        
        
            Abstract : 
Reconfigurable tile-based architectures can dynamically interconnect several tiles in order to establish processor instances with varying resource, performance, and energy characteristics at run time. These flexible processor instances offer a new degree of freedom for adapting to changing applications´ requirements while optimizing resource and energy consumption. Our solution for dynamic interconnection of tiles requires a flexible Run-Time Scalable Issue-Width (RSIW) Instruction Set Architecture (ISA) that changes dependent on the configuration. In order to enable high-level programmability of our architecture in C/C++ a novel compiler back-end is needed. In this paper we address this necessity by presenting a novel LLVM compiler back-end targeting the reconfigurable RSIW ISA and supporting mixed-ISA software development. RSIW is comparable to clustered-VLIW ISAs since it expresses parallel operations within the ISA and explicitly uses clustered register files. Therefore, we extended our architecture description language based RISC LLVM back-end by representations of parallel operations as well as compilation passes for clustering and scheduling of parallel operations as well as mixed-ISA code generation. Based on the novel back-end we compare the performance characteristics of several applications compiled for and simulated on different configurations. Additionally, we demonstrate resource-aware reconfiguration by a mixed-ISA application scenario.
         
        
            Keywords : 
C++ language; instruction sets; parallel processing; pattern clustering; program compilers; reconfigurable architectures; software engineering; specification languages; C-C++; LLVM compiler back-end; RSIW; architecture description language; clustered register files; clustered-VLIW ISA; mixed-ISA code generation; mixed-ISA software development; parallel operations; reconfigurable mixed-ISA processors; reconfigurable tile-based architectures; resource-aware reconfiguration; run-time scalable issue-width instruction set architecture; tile dynamic interconnection; Clustering algorithms; Computer architecture; Hazards; Reduced instruction set computing; Registers; Resource management; Mixed-ISA Compiler; clustered VLIW; dynamic reconfigurable architecture; low level virtual machine;
         
        
        
        
            Conference_Titel : 
Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW), 2012 IEEE 26th International
         
        
            Conference_Location : 
Shanghai
         
        
            Print_ISBN : 
978-1-4673-0974-5
         
        
        
            DOI : 
10.1109/IPDPSW.2012.60