The Community for Technology Leaders
RSS Icon
Issue No.03 - May/June (2009 vol.26)
pp: 34-41
Jean-Yves Mignolet , IMEC Belgium
Roel Wuyts , IMEC Belgium
Multiprocessor system-on-chip (MPSoC) platforms have found their way into embedded systems. The reason is a balanced combination of power efficiency with flexibility, which makes them cost effective compared to dedicated hardware or general-purpose platforms. However they're notoriously difficult to program because it's hard to develop programs that can exploit the parallel resources in such platforms. To help with cost effectively developing efficient code for an MPSoC system, a team of IMEC researchers has developing an MPSoC programming approach supported by a tool chain that enables the mapping of a single application on multiple cores. The tool chain consists of a tool that cleans C code so that it can be analyzed more efficiently, mapping tools that can manage memory hierarchies and generate source code for parallel threads, and a runtime library that abstracts the underlying hardware.
multicore/single chip multiprocessor, parallel architectures, compilers, runtime environments, embedded systems
Jean-Yves Mignolet, Roel Wuyts, "Embedded Multiprocessor Systems-on-Chip Programming", IEEE Software, vol.26, no. 3, pp. 34-41, May/June 2009, doi:10.1109/MS.2009.64
1. J.A. Kahle et al., "Introduction to the Cell Multiprocessor," IBM J. Research and Development, vol. 49, July/Sept. 2005, pp. 589–604.
2. K. Hirata and J. Goodacre, "ARM MPCore: The Streamlined and Scalable ARM11 Processor Core," Proc. 2007 Asia and South Pacific Design Automation Conf. (ASP-DAC 07), IEEE Press, 2007, pp. 747–748.
3. S. Agarwala et al., "A 65nm C64x+ Multi-Core DSP Platform for Communications Infrastructure," Proc. 2007 IEEE Int'l Solid-State Circuits Conf. (ISSCC 07), IEEE Press, 2007, pp. 262–601.
4. B. Chapman et al., Using OpenMP: Portable Shared Memory Parallel Programming, MIT Press, 2007.
5. "MPI-2: Extensions to the Message-Passing Interface," MPI Forum, Nov. 2003;
6. ISO/IEC 9945-1:1996, Portable Operating System Interface (POSIX)—Part 1: System Application Program Interface, Int'l Standards Org., Nov. 1996; catalogue_detail.htm?csnumber=24426.
7. M. Van Bavel and M. Tilman, "Interactive C-Code Cleaning Tools Support Multiprocessor SoC Design," Embedded Systems Design Europe, Aug./Sept. 2008, pp. 12–19.
8. S. Udayakumaran et al., "Dynamic Allocation for Scratch-Pad Memory Using Compile-Time Decisions," Trans. Embedded Computing Systems, vol. 5, no. 2, 2006, pp. 472–511.
9. R. Baert et al., "An Automatic Scratch Pad Memory Management Tool and MPEG-4 Encoder Case Study," Proc. 45th ACM/IEEE Design Automation Conf. (DAC 08), ACM Press, 2008, pp. 201–204.
10. B. Mei et al., "Architecture Exploration for a Reconfigurable Architecture Template," IEEE Design &Test of Computers, vol. 22, no. 2, 2005, pp. 90–101.
11. R. Baert et al., "Exploring Parallelizations of Application for MPSoC Platforms Using MPA," to be published in Proc. Design, Automation, and Test in Europe (DATE 09), ACM Press, 2009.
3 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool