Design Automation for Embedded Systems

, Volume 11, Issue 1, pp 1–23 | Cite as

Efficient architecture/compiler co-exploration using analytical models

  • Cristina SilvanoEmail author
  • Giovanni Agosta
  • Gianluca Palermo


The hardware/software co-exploration is a critical phase for a broad range of embedded platforms based on the System-On-Chip approach. Traditionally, the compilation and the architectural design sub-spaces have been explored independently. Only recently, some approaches have analyzed the problem of the concurrent exploration of the compilation/architecture sub-spaces. This paper proposes a framework to support the co-exploration phase of the design space composed of architectural parameters and source program transformations. The objective space is multi-dimensional, including conflicting objectives such as energy and delay. In the proposed framework, heuristic co-exploration techniques based on Pareto Simulated Annealing (PSA) have been used to efficiently explore the architecture/compiler co-design space. A first result of this paper consists of showing how the architecture/compiler co-exploration can be more effective than a traditional two-phase exploration. Since the co-exploration space is quite large, to speed up the co-exploration phase by several orders of magnitude over simulation-based approaches, a methodology based on analytical models has been introduced in the co-exploration framework. The goal of analytical models is to quickly evaluate energy/delay metrics at the systems level, while maintaining accuracy with respect to simulation-based co-exploration. The proposed co-exploration framework has been applied to a parameterized SoC superscalar architecture during the execution of a selected set of multimedia applications.


Hardware/software co-exploration Source code transformations Low-power design Embedded systems 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Vijaykrishnan, N. et al. Evaluating Integrated Hardware-Software Optimizations Using a Unified Energy Estimation Framework. IEEE Trans. on Computers, 52(1):59–76, Jan. 2003.Google Scholar
  2. 2.
    Kandemir, M. et al. Influence of Compiler Optimizations on System Power. IEEE Trans. on VLSI Systems, 9(6):801–804, Dec. 2001.CrossRefGoogle Scholar
  3. 3.
    Fischer, D., J. Teich, M. Thies, and R. Weper. Efficient Architecture/Compiler Co-exploration for ASIPs. In CASES ’02: Proceedings of the 2002 International Conference on Compilers, Architecture, and Synthesis for Embedded Systems, ACM Press, New York, NY, USA, 2002, pp. 27–34.Google Scholar
  4. 4.
    Agosta, G., G. Palermo, and C. Silvano. Multi-objective Co-exploration of Source Code Transformations and Design Space Architectures for Low-power Embedded Systems. In SAC ’04: Proceedings of the 2004 ACM Symposium on Applied computing, Nicosia, Cyprus, ACM Press, New York, NY, USA, 2004, pp. 891–896.Google Scholar
  5. 5.
    Conte, T.M., K.N. Menezes, S.W. Sathaye, and M.C. Toburen. System-level Power Consumption Modeling and Tradeoff Analysis Techniques for Superscalar Processor Design. IEEE Trans. on Very Large Scale Integration (VLSI) Systems, 8(2):129–137, April 2000.Google Scholar
  6. 6.
    Austin, T.M., D. Burger, and S. Bennett. Evaluating Future Microprocessors: The SimpleScalar Tool Set. Tech. Rep. CS-TR-1996-1308, University of Wisconsin, 1996.Google Scholar
  7. 7.
    Tiwari, V., D. Brooks, and M. Martonosi. Wattch: A Framework for Architectural-Level Power Analysis and Optimizations. In Proceedings ISCA2000, 2000, pp. 83–94.Google Scholar
  8. 8.
    Vijaykrishnan, N., M. Kandemir, M.J. Irwin, H.S. Kim, and W. Ye. Energy-Driven Integrated Hardware-Software Optimizations Using SimplePower. ISCA 2000, June 2000.Google Scholar
  9. 9.
    Givargis, T.D. and F. Vahid. Platune: A Tuning Framework for System-on-a-chip Platforms. IEEE Transactions on, Computer-Aided Design of Integrated Circuits and Systems, 21(11):1317–1327, Nov. 2002.Google Scholar
  10. 10.
    Palesi, M. and T. Givargis. Multi-objective Design Space Exploration Using Genetic Algorithms. In Proceedings of the Tenth International Symposium on Hardware/Software Codesign, 2002. CODES 2002, May 6–8, 2002.Google Scholar
  11. 11.
    Palermo, G., C. Silvano, and V. Zaccaria. A Flexible Framework for Fast Multi-objective Design Space Exploration of Embedded Systems. In PATMOS, 2003, pp. 249–258.Google Scholar
  12. 12.
    Bacon, D.F., S.L. Graham, and O.J. Sharp. Compiler Transformations for High-Performance Computing. ACM Computing Surveys, 26(4):345–420, 1994.Google Scholar
  13. 13.
    Benini, L. and G. De Micheli. System-Level Power Optimization Techniques and Tools. ACM TODAES, 5(2):115–192, 2000.CrossRefMathSciNetGoogle Scholar
  14. 14.
    De Micheli, G., T. Simunic, L. Benini, and M. Hans. Source-Code Optimization and Profiling of Energy Consumption in Embedded Systems. In Proc. of ISSS00, 2000, 193–198.Google Scholar
  15. 15.
    Tiwari, V., S. Malik, A. Wolfe, and M. Lee. Instruction Level Power Analysis and Optimization of Software. J. VLSI Signal Processing, pp. 1–18, 1996.Google Scholar
  16. 16.
    Panda, P.R., F. Catthoor, N.D. Dutt, K. Danckaert, E. Brockmeyer, C. Kulkarni, A. Vandercappelle, and P.G. Kjeldsberg. Data and Memory Optimization Techniques for Embedded Systems. ACM Trans. Des. Autom. Electron. Syst., 6(2):149–206, 2001.CrossRefGoogle Scholar
  17. 17.
    Chung, E.-Y., L. Benini, and G. De Micheli. Automatic Source Code Specialization for Energy Reduction. In ISLPED ’01: Proceedings of the 2001 International Symposium on Low Power Electronics and Design, ACM Press, New York, NY, USA, 2001, pp. 80–83.Google Scholar
  18. 18.
    Franke, B., M. O’Boyle, J. Thomson, and G. Fursin. Probabilistic Source-level Optimisation of Embedded Programs. In LCTES’05: Proceedings of the 2005 ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems, ACM Press, New York, NY, USA, 2005, pp. 78–86.Google Scholar
  19. 19.
    Givargis, T.D., F. Vahid, and J. Henkel. Evaluating Power Consumption of Parameterized Cache and Bus Architectures in System-on-a-Chip Designs. IEEE Transactions on VLSI Systems, 9(4), Aug. 2001.Google Scholar
  20. 20.
    Benini, L., E.-Y. Chung, and G. De Micheli. Source Code Transformation based on Software Cost Analysis. In Proc. of ISSS2001, 2001, pp. 153–158.Google Scholar
  21. 21.
    Brandolese, C.W. Fornaciari, F. Salice, and D. Sciuto. Analysis and Modeling of Energy Reducing Source Code Transformations. In DATE, 2004, pp. 306–311.Google Scholar
  22. 22.
    Li, Y. and J. Henkel. A Framework for Estimating and Minimizing Energy Dissipation of Embedded HW/SW Systems. DAC-35, June 1998.Google Scholar
  23. 23.
    Bellas, N., I.N. Hajj, D. Polychronopoulos, and G. Stamoulis. Architectural and Compiler Techniques for Energy Reduction in High-Performance Microprocessors. IEEE Transactions on VLSI Systems, 8(3), June 2000.Google Scholar
  24. 24.
    Wieferink, A., T. Kogel, R. Leupers, G. Ascheid, H. Meyr, G. Braun, and A. Nohl. A System Level Processor/Communication Co-exploration Methodology for Multi-processor System-on-chip Platforms. In DATE ’04: Proceedings of the Conference on Design, Automation and Test in Europe, IEEE Computer Society, Washington, DC, USA, 2004, p. 21256.Google Scholar
  25. 25.
    Halambi, A., P. Grun, V. Ganesh, A. Khare, N. Dutt, and A. Nicolau. EXPRESSION: A Language for Architecture Exploration through Compiler/Simulator Retargetability. In DATE ’99: Proceedings of the Conference on Design, Automation and Test in Europe, ACM Press, New York, NY, USA, 1999, p. 100.Google Scholar
  26. 26.
    Shrivastava, A., N. Dutt, A. Nicolau, and E. Earlie, PBExplore: A Framework for Compiler-in-the-Loop Exploration of Partial Bypassing in Embedded Processors. In DATE ’05: Proceedings of the conference on Design, Automation and Test in Europe, IEEE Computer Society, Washington, DC, USA, 2005, pp. 1264–1269.Google Scholar
  27. 27.
    Wilson R.P. et al. SUIF: An Infrastructure for Research on Parallelizing and Optimizing Compilers SIGPLAN Notices, 29(12):31–37, 1994.CrossRefGoogle Scholar
  28. 28.
    Czyak, P. and A. Jaszkiewicz. Pareto Simulated Annealing—A Metaheuristic Technique for Multiple-objective Combinatorial Optimisation. Journal of Multi-Criteria Decision Analysis, (7):34–47, April 1998.Google Scholar
  29. 29.
    Palermo, G., C. Silvano, and V. Zaccaria. Multi-objective Design Space Exploration of Embedded Systems. Journal of Embedded Computing, 1(3):305–316, 2005.Google Scholar
  30. 30.
    Givargis, T.D. and F. Vahid. Parameterized System Design. In Proceedings of the Eighth International Workshop on Hardware/Software Codesign, ACM Press, 2000, pp. 98–102.Google Scholar
  31. 31.
    Hennessy, J.L. and D.A. Patterson. Computer Architecture A Quantative Approach, 3rd edition, Morgan Kaufmann Publisher Inc., CA, 2003.Google Scholar
  32. 32.
    Gordon-Ross, A, and F. Vahid. Frequent loop Detection Using Efficient Nonintrusive On-chip Hardware. IEEE Transactions on Computers, 54(10):1203–1215, 2006.CrossRefGoogle Scholar
  33. 33.
    Zitzler, E. and L. Thiele, Multiobjective Evolutionary Algorithms: A Comparative Case Study and the Strength Pareto Approach. IEEE Transactions on Evolutionary Computation, 3(4):257–271, 1999.CrossRefGoogle Scholar

Copyright information

© Springer Science + Business Media, LLC 2006

Authors and Affiliations

  • Cristina Silvano
    • 1
    Email author
  • Giovanni Agosta
    • 1
  • Gianluca Palermo
    • 1
  1. 1.Politecnico di MilanoMilanoItaly

Personalised recommendations