Fine-grain design space exploration for a cartographic SoC multiprocessor

Traditionally, in the field of embedded systems low power consumption and low cost have been always regarded as stringent specification constraints. In recent years, high computational power has become a fundamental requirement as well. This has been mainly determined by the introduction of new features, typical of general-purpose systems, e.g. GUI-based interfaces. In this setting, low cost, low power consumption, significant computational power and short time-to-market are conflicting needs that have to be accommodated. The adoption of a simple multiprocessor on a single chip can be deemed a convenient answer, because it is able to deliver a considerable computing power using low-cost and low-power CPU cores. In this paper, we take into account SPP, a cartographic system to be deployed on hand-held devices. We present the overall methodology used for designing the multiprocessor architecture of its hardware platform, and we focus on the activities that have been carried out to get to the more convenient setting for the system, respect to the specification requirements.The adopted design process includes two phases. The former (coarse-grain exploration) is aimed at selecting an architecture suitable to properly support the appliance features; the latter (finegrain exploration) is aimed at tuning the parameter values with the purpose of obtaining to the best system setting. We show how this tuning phase for the SPP chipset has involved the selection the clock rate and the cache coherence strategy, and the analysis of bus traffic. Moreover, from the discussed study it becomes evident that further improvements in the system performance have to be pursued possibly operating on the software components.

[1]  Cosimo Antonio Prete,et al.  The ChARM tool for tuning embedded systems , 1997, IEEE Micro.

[2]  Pierfrancesco Foglia,et al.  An algorithm for the Classification of Coherence Related Overhead in Shared-Bus Shared-Memory Multiprocessors , 2001 .

[3]  Kunle Olukotun,et al.  A Single-Chip Multiprocessor , 1997, Computer.

[4]  Thorsten von Eicken,et al.  技術解説 IEEE Computer , 1999 .

[5]  Michael J. Flynn,et al.  Computer Architecture: Pipelined and Parallel Processor Design , 1995 .

[6]  Kunle Olukotun,et al.  Data speculation support for a chip multiprocessor , 1998, ASPLOS VIII.

[7]  Manfred Schlett Trends in Embedded-Microprocessor Design , 1998, Computer.

[8]  Veljko M. Milutinovic,et al.  Hardware approaches to cache coherence in shared-memory multiprocessors, Part 1 , 1994, IEEE Micro.

[9]  Donatella Sciuto,et al.  Metrics for design space exploration of heterogeneous multiprocessor embedded systems , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[10]  Veljko Milutinovic,et al.  The Cache Coherence Problem in Shared-Memory Multiprocessors: Software Solutions , 1996 .

[11]  Veljko M. Milutinovic,et al.  Hardware approaches to cache coherence in shared-memory multiprocessors. 2 , 1994, IEEE Micro.

[12]  Cosimo Antonio Prete,et al.  Performance‐steered design of software architectures for embedded multicore systems , 2002, Softw. Pract. Exp..

[13]  Josep Torrellas,et al.  False Sharing ans Spatial Locality in Multiprocessor Caches , 1994, IEEE Trans. Computers.

[14]  Cosimo Antonio Prete,et al.  PSCR: A Coherence Protocol for Eliminating Passive Sharing in Shared-Bus Shared-Memory Multiprocessors , 1999, IEEE Trans. Parallel Distributed Syst..

[15]  K. Olukotun,et al.  Evaluation of Design Alternatives for a Multiprocessor Microprocessor , 1996, 23rd Annual International Symposium on Computer Architecture (ISCA'96).

[16]  Simon Segars ARM7TDMI power consumption , 1997, IEEE Micro.

[17]  Cosimo Antonio Prete,et al.  RST cache memory design for a highly coupled multiprocessor system , 1991, IEEE Micro.

[18]  Luigi M. Ricciardi,et al.  Trace Factory: generating workloads for trace-driven simulation of shared-bus multiprocessors , 1997, IEEE Concurrency.

[19]  Edward A. Lee,et al.  What's Ahead for Embedded Software? , 2000, Computer.

[20]  Richard T. Witek,et al.  A 160 MHz 32 b 0.5 W CMOS RISC microprocessor , 1996, 1996 IEEE International Solid-State Circuits Conference. Digest of TEchnical Papers, ISSCC.

[21]  Elliott D. Kaplan Understanding GPS : principles and applications , 1996 .

[22]  Alessio Bechini,et al.  Evaluation of On-Chip Multiprocessor Architectures for an Embedded Cartographic System , 2001 .

[23]  Henk Corporaal,et al.  Design of heterogenous multi-processor embedded systems: applying functional pipelining , 1997, Proceedings 1997 International Conference on Parallel Architectures and Compilation Techniques.

[24]  Luigi M. Ricciardi,et al.  A Trace-Driven Simulator for Performance Evaluation of Cache-Based Multiprocessor Systems , 1995, IEEE Trans. Parallel Distributed Syst..

[25]  Sartaj Sahni,et al.  Performance metrics: keeping the focus on runtime , 1996, IEEE Parallel Distributed Technol. Syst. Appl..

[26]  Kunle Olukotun,et al.  The case for a single-chip multiprocessor , 1996, ASPLOS VII.

[27]  Michael J. Rycroft,et al.  Understanding GPS. Principles and Applications , 1997 .