Advertisement

Runtime Adaptive Extensible Embedded Processors — A Survey

  • Huynh Phung Huynh
  • Tulika Mitra
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5657)

Abstract

Current generation embedded applications demand the computation engine to offer high performance similar to custom hardware circuits while preserving the flexibility of software solutions. Customizable and extensible embedded processors, where the processor core can be enhanced with application-specific instructions, provide a potential solution to this conflicting requirements of performance and flexibility. However, due to the limited area available for implementation of custom instructions in the datapath of the processor core, we may not be able to exploit all custom instruction enhancements of an application. Moreover, a static extensible processor is fundamentally at odds with highly dynamic applications where the custom instructions requirements vary substantially at runtime. In this context, a runtime adaptive extensible processor that can quickly morph its custom instructions and the corresponding custom functional units at runtime depending on workload characteristics is a promising solution. In this article, we provide a detailed survey of the contemporary architectures that offer such dynamic instruction-set support and discuss compiler and/or runtime techniques to exploit such architectures.

Keywords

Task Graph Runtime System Custom Instruction Loop Body Register Allocation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Altera. Introduction to the Altera Nios II Soft Processor, ftp://ftp.altera.com/up/pub/Tutorials/DE2/Computer_Organization/tut_nios2_introduction.pdf
  2. 2.
    ARC. Customizing a Soft Microprocessor Core (2002), http://www.arc.com/upload/download/ARCIntl_0126_CustomizingSoftMicCore_wp.pdf
  3. 3.
    Bauer, L., Shafique, M., Henkel, J.: Run-time instruction set selection in a transmutable embedded processor. In: DAC (2008)Google Scholar
  4. 4.
    Bauer, L., Shafique, M., Kramer, S., Henkel, J.: RISPP: Rotating instruction set processing platform. In: DAC (2007)Google Scholar
  5. 5.
    Clark, N., Blome, J., Chu, M., Mahlke, S., Biles, S., Flautner, K.: An architecture framework for transparent instruction set customization in embedded processors. In: ISCA (2005)Google Scholar
  6. 6.
    Clark, N., Kudlur, M., Park, H., Mahlke, S., Flautner, K.: Application-specific processing on a general-purpose core via transparent instruction set customization. In: MICRO (2004)Google Scholar
  7. 7.
    Clark, N., Zhong, H., Fan, K., Mahlke, S., Flautner, K., Van Nieuwenhove, K.: OptimoDE: Programmable Accelerator Engines through Retargetable Customization. In: Hot Chips (2004)Google Scholar
  8. 8.
    Faraboschi, P., Brown, G., Fisher, J.A., Desoli, G., Homewood, F.: Lx: A technology platform for customizable VLIW embedded processing. In: ISCA (2000)Google Scholar
  9. 9.
    Gonzalez, R.E.: Xtensa: A configurable and extensible processor. IEEE Micro. 20(2) (2000)Google Scholar
  10. 10.
    Gonzalez, R.E.: A software-configurable processor architecture. IEEE Micro. 26(5) (2006)Google Scholar
  11. 11.
    Huynh, H.P., Mitra, T.: Runtime reconfiguration of custom instructions for real-time embedded systems. In: DATE (2009)Google Scholar
  12. 12.
    Huynh, H.P., Sim, J.E., Mitra, T.: An efficient framework for dynamic reconfiguration of instruction-set customization. In: CASES (2007)Google Scholar
  13. 13.
    Ienne, P., Leupers, R. (eds.): Customizable Embedded Processors. Morgan Kauffman, San Francisco (2006)Google Scholar
  14. 14.
    Jacob, J.A., Chow, P.: Memory interfacing and instruction specification for reconfigurable processors. In: FPGA (1999)Google Scholar
  15. 15.
    Lodi, A., Toma, M., Campi, F., Cappelli, A., Canegallo, R., Guerrieri, R.: A VLIW processor with reconfigurable instruction set for embedded applications. IEEE Journal of Solid-State Circuits 38(11) (2003)Google Scholar
  16. 16.
    Lysecky, R., Stitt, G., Vahid, F.: WARP processors. ACM Transactions on Design Automation of Electronic Systems 11(3) (2006)Google Scholar
  17. 17.
    Razdan, R., Smith, M.D.: A high-performance microarchitecture with hardware-programmable functional units. In: MICRO (1994)Google Scholar
  18. 18.
    MIPS Technologies. MIPS Configurable Solutions, http://www.mips.com/everywhere/technologies/configurability
  19. 19.
    Vassiliadis, S., Wong, S., Gaydadjiev, G., Bertels, K., Kuzmanov, G., Panainte, E.M.: The MOLEN Polymorphic Processor. IEEE Transactions on Computers 53(11) (2004)Google Scholar
  20. 20.
    Wirthlin, M.J., Hutchings, B.L.: A Dynamic Instruction Set Computer. In: FCCM (1995)Google Scholar
  21. 21.
  22. 22.
    Ye, Z.A., Moshovos, A., Hauck, S., Banerjee, P.: CHIMAERA: A high-performance architecture with a tightly-coupled reconfigurable functional unit. In: ISCA (2000)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2009

Authors and Affiliations

  • Huynh Phung Huynh
    • 1
  • Tulika Mitra
    • 1
  1. 1.School of ComputingNational University of SingaporeSingapore

Personalised recommendations