Title :
A scalable application-specific processor synthesis methodology
Author :
Sun, Fei ; Ravi, Srivaths ; Raghunathan, Anand ; Jha, Niraj K.
Author_Institution :
Dept. of Electr. Eng., Princeton Univ., NJ, USA
Abstract :
Custom processors based on application-specific or domain-specific instruction sets are gaining popularity, and are often used to implement critical architectural blocks in complex system-on-chips. While several advances have been made in custom processor architectures, tools, and design methodologies, designers are still required to manually perform some critical tasks, such as selection of the custom instructions best suited to the given application and design constraints. We present a scalable methodology for the synthesis of a custom processor from an embedded software program. A key feature of the proposed methodology is its scalability, which is achieved by exploiting the structured, hierarchical nature of large software programs. We motivate the need for such a methodology, and describe the algorithms used for the critical steps, including hardware resource budgeting, local optimizations, and global exploration. Our methodology utilizes the concept of "soft" instruction templates, which can be adapted by adding operations to them or deleting operations from them at any time during the design space exploration process, allowing for global design decisions to be interleaved with fine-grained optimizations. We have integrated our methodology in an open source compiler, and verified it using a commercial extensible processor. Experiments with several benchmarks indicate that our methodology can effectively tackle large programs. It resulted in the synthesis of high-quality custom processors that demonstrated an average speedup of 2.61X and a maximum speedup of 6.32X. The CPU times required for custom processor synthesis were quite small, indicating that the proposed techniques can be applied to embedded software programs of significant complexity.
Keywords :
embedded systems; instruction sets; microprocessor chips; program compilers; system-on-chip; CPU times; application-specific processor synthesis; commercial extensible processor; complex system-on-chips; critical architectural blocks; custom instructions; custom processors; design constraints; design space exploration process; domain-specific instruction sets; embedded software program; fine grained optimizations; global design decisions; global exploration; hardware resource budgeting; local optimizations; open source compiler; soft instruction templates; software programs; Application software; Application specific processors; Computer architecture; Design methodology; Embedded software; Hardware; Instruction sets; Optimization methods; Scalability; System-on-a-chip;
Conference_Titel :
Computer Aided Design, 2003. ICCAD-2003. International Conference on
Conference_Location :
San Jose, CA, USA
Print_ISBN :
1-58113-762-1
DOI :
10.1109/ICCAD.2003.159702