Multiprocessor System-on-Chip Profiling Architecture: Design and Implementation

With the growing needs for advanced functionalities in modern embedded systems, it is now necessary to integrate multiple processors in the system, preferably on a single chip, to support the required computing complexity. The problem is that such multiprocessor system-on-chip (MPSoC) architecture is very complex and its internal behavior is very difficult to track. An effective tool for profiling the behavior of the MPSoC system is in great need. Such a tool is very useful during system design for exploiting various options and identifying potential bottlenecks. In this paper, we introduce the MultiProcessor Profiling Architecture (MPPA) -- a general framework for profiling MPSoC embedded systems. The MPPA framework entails the use of FPGA emulation for the target system, the embedding of performance counters for recording system events, and the development of OS drivers for collecting the profiled data. To demonstrate its use, we show the implementation of an MPSoC emulation system based on Leon3 cores following the MPPA framework. We also show how the MPPA framework and the emulator help the designers to identify performance problems and improve their MPSoC embedded system design.

[1]  Lennart Lindh,et al.  A hardware and software monitor for high-level system-on-chip verification , 2001, Proceedings of the IEEE 2001. 2nd International Symposium on Quality Electronic Design.

[2]  Margaret Martonosi,et al.  Full-system chip multiprocessor power evaluations using FPGA-based emulation , 2008, Proceeding of the 13th international symposium on Low power electronics and design (ISLPED '08).

[3]  Rob Williams,et al.  Linux device drivers , 2006 .

[4]  Brinkley Sprunt,et al.  The Basics of Performance-Monitoring Hardware , 2002, IEEE Micro.

[5]  Luca Benini,et al.  MPARM: Exploring the Multi-Processor SoC Design Space with SystemC , 2005, J. VLSI Signal Process..

[6]  SpruntBrinkley The Basics of Performance-Monitoring Hardware , 2002 .

[7]  Brinkley Sprunt,et al.  Pentium 4 Performance-Monitoring Features , 2002, IEEE Micro.

[8]  Timo Hämäläinen,et al.  HIBI-based multiprocessor SoC on FPGA , 2005, 2005 IEEE International Symposium on Circuits and Systems.

[9]  Hassan Shojania,et al.  Hardware-based performance monitoring with VTune Performance Analyzer under Linux Hassan Shojania shojania , 2003 .

[10]  Fredrik Larsson,et al.  Simics: A Full System Simulation Platform , 2002, Computer.

[11]  Gabriela Nicolescu,et al.  Multiprocessor SoC platforms: a component-based design approach , 2002, IEEE Design & Test of Computers.