TCEMC: A co-design flow for application-specific multicores

Contemporary embedded systems are often designed as Multiprocessor System-on-Chips (MPSoC) which include multiple processors and other peripherals on a single chip. In contrast to general purpose multiprocessors, the design of an embedded MPSoC is usually customized to the requirements of the application domain. The need for fast time to market of new embedded MPSoC designs calls for a rapid design flow of the included customized processors. This paper proposes a Multicore Application-Specific Instruction Set Processor (MCASIP) co-design flow that exploits parallel programming languages as the application description format. The designer can capture the parallelism of the algorithm and exploit specialized instructions using a single high-level programming language. Parallelism of the designed MCASIP architectures can be scaled both at instruction and task levels, enabling easy exploration of the MCASIP design space. This paper describes the design flow and its key technical challenges, and demonstrates its scalability potential. The presented preliminary results show promise for an efficient multiprocessor design methodology.

[1]  Vikram S. Adve,et al.  LLVM: a compilation framework for lifelong program analysis & transformation , 2004, International Symposium on Code Generation and Optimization, 2004. CGO 2004..

[2]  Rainer Leupers,et al.  Customizable Embedded Processors: Design Technologies and Applications , 2006 .

[3]  Martin Hopkins,et al.  Synergistic Processing in Cell's Multicore Architecture , 2006, IEEE Micro.

[4]  P. Stenstrom A survey of cache coherence schemes for multiprocessors , 1990, Computer.

[5]  Timo Hämäläinen,et al.  Instruction Memory Architecture Evaluation on Multiprocessor FPGA MPEG-4 Encoder , 2007, 2007 IEEE Design and Diagnostics of Electronic Circuits and Systems.

[6]  Jarmo Takala,et al.  Customized Exposed Datapath Soft-Core Design Flow with Compiler Support , 2010, 2010 International Conference on Field Programmable Logic and Applications.

[7]  Ahmed Amine Jerraya,et al.  Multiprocessor System-on-Chip (MPSoC) Technology , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[8]  Angela C. Sodan,et al.  Parallelism via Multithreaded and Multicore CPUs , 2010, Computer.

[9]  Henk Corporaal,et al.  TTAs: Missing the ILP complexity wall , 1999, J. Syst. Archit..

[10]  Jarmo Takala,et al.  Codesign toolset for application-specific instruction-set processors , 2007, Electronic Imaging.

[11]  Jarmo Takala,et al.  OpenCL-based design methodology for application-specific processors , 2010, 2010 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation.