A Scalable Application-Specific Processor Synthesis Methodology

  • Authors:
  • Fei Sun;Srivaths Ravi;Anand Raghunathan;Niraj K. Jha

  • Affiliations:
  • Princeton University, Princeton, NJ;NEC Laboratories America, Princeton, NJ;NEC Laboratories America, Princeton, NJ;Princeton University, Princeton, NJ

  • Venue:
  • Proceedings of the 2003 IEEE/ACM international conference on Computer-aided design
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Custom processors based on application-specific ordomain-specific instruction sets are gaining popularity, and areoften used to implement critical architectural blocks in complex system-on-chips. While several advances have been madein custom processor architectures, tools, and design methodologies, designers are still required to manually perform somecritical tasks, such as selection of the custom instructions bestsuited to the given application and design constraints.We present a scalable methodology for the synthesis of acustom processor from an embedded software program. A keyfeature of the proposed methodology is its scalability, whichis achieved by exploiting the structured, hierarchical natureof large software programs. We motivate the need for such amethodology, and describe the algorithms used for the criticalsteps, 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 ourmethodology can effectively tackle large programs. It resultedin the synthesis of high-quality custom processors that demonstrated an average speedup of 2.61X and a maximum speedupof 6.32X. The CPU times required for custom processor synthesis were quite small, indicating that the proposed techniquescan be applied to embedded software programs of significantcomplexity.