Application-Specific Embedded Processors

  • Jörg Henkel
  • Sri Parameswaran
  • Newton Cheung

Today’s silicon technology allows building embedded processors as part of SoCs (systems-on-chip) comprising upto a billion of transistors on a single die. Interestingly, real-world SOCs (in large quantities for mainstream applications) utilizing this potential complexity do hardly exist. Another observation is that the semiconductor industry a couple of years ago experienced an inflection point: the number of ASIC (Application Specific Integrated Circuits) design starts was outpaced by the number of design starts for Application Specific Standard Products (ASSPs). Moreover, we might face a new design productivity gap: the “gap of complexity” (details and references will follow later). Together these observations are reflecting a transition in the way embedded processors are designed. This article reports on and analyzes current and possible future trends from a perspective of embedded system design with an emphasis on design environments for so-called extensible processor platforms. It describes the state-of-the-art in the three main steps when designing an extensible processor, namely Code Segment Identification, Extensible Instruction Generation, Architectural Customization Selection.

Keywords

Migration Europe Product Line Estima Sami 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Reference

  1. Abraham, S. G. and Rau, B. R. (2000) Efficient Design Space Exploration in PICO. In International Conference on Compilers, Architectures, and Syn-thesis for Embedded Systems, pp. 71-79.Google Scholar
  2. Aditya, S., Rau, B. R., and Kathail, V. (1999) Automatic Architectural Synthe-sis of VLIW and EPIC Processors. In International Symposium on System Synthesis, pp. 107-113.Google Scholar
  3. Aho, A., Ganapathi, M., and Tjiang, S. (1989) Code Generation using Tree Matching and Dynamic Programming. ACM Transactions on Programming Languages and Systems, 11(4):491-561.CrossRefGoogle Scholar
  4. Alippi, C., Fornaciari, W., Pozzi, L., and Sami, M. (1999) A DAG-based De-sign Approach for Reconfigurable VLIW Processors. In Design, Automation and Test in Europe Conference and Exhibition, pp. 778-780.Google Scholar
  5. Arnold, M. (2001) Instruction Set Extension for Embedded Processors. Ph.D. Thesis, Delft University of Technology.Google Scholar
  6. Atasu, K., Pozzi, L., and Ienne, P. (2003) Automatic Application-Specific Instruction-Set Extensions Under Microarchitectural Constraints. In ACM/ IEEE Design Automation Conference, pp. 256-261.Google Scholar
  7. Benini, L. and De Micheli, G. (2002) Networks On Chip: A New Paradigm for Systems On Chip Design. In IEEE/ACM Proc. of Design Automation and Test in Europe Conference (DATE), pp. 418-419.Google Scholar
  8. Bhatt, V., Balakrishnan, M., and Kumar, A. (2002) Exploring the Number of Register Windows in ASIP Synthesis. In International Conference on VLSI Design, pp. 233-238.Google Scholar
  9. Biswas, P., Choudhary, V., Atasu, K., Pozzi, L., Ienne, P., and Dutt, N. (2004) Introduction of Local Memory Elements in Instruction Set Extensions. In ACM/IEEE Design Automation Conference, pp. 729-734.Google Scholar
  10. Brisk, P., Japlan, A., and Sarrafzadeh, M. (2004) Area-Efficient Instruction Set Synthesis for Reconfigurable System-on-Chip Designs. In ACM/IEEE Design Automation Conference, pp. 395-400.Google Scholar
  11. Brisk, P., Kaplan, A., Kastner, R., and Sarrafzadeh, M. (2002) Instruction Gen-eration and Regularity Extraction for Reconfigurable Processors. In Interna-tional Conference on Compilers, Architecture, and Synthesis for Embedded Systems, pp. 262-269.Google Scholar
  12. Cataldo, A. (2003) Nec makes series push for asic-lite. In EE-Times.Google Scholar
  13. Catthoor, F., DeGreef, E., and Suytack, S. (1998) Custom Memory Manage-ment Methodology: Exploration of Memory Organisation for Embedded Multimedia System Design. Kluwer Academic Publishers, Norwell, USA.Google Scholar
  14. Choi, H., Kim, J., Yoon, C., Park, I., Hwang, S., and Kyung, C. (1999a) Synthe-sis of Application Specific Instructions for Embedded DSP Software. IEEE Transactions on Computers, 48(6):603-614.CrossRefGoogle Scholar
  15. Choi, H., Yi, J., Lee, J., Park, I., and Kyung, C. (1999b) Exploiting Intellectual Properties in ASIP Designs for Embedded DSP Software. In ACM/IEEE Design Automation Conference, pp. 939-944.Google Scholar
  16. Chu, P. C. and Beasley, J. E. (1998) A Genetic Algorithm for the Multidimen-sional Knapsack Problem. Journal of Heuristics, 4(1):63-86.MATHCrossRefGoogle Scholar
  17. Clark, N., Zhong, H., and Mahlke, S. (2003a) Processor Acceleration through Automated Instruction Set Customization. In IEEE/ACM International Sym-posium on Microarchitecture, pp. 129-140.Google Scholar
  18. Clarke, E., Kroening, D., and Yorav, K. (2003b) Behavioral Consistency of C and Verilog Programs Using Bounded Model Checking. In ACM/IEEE Design Automation Conference, pp. 368-371.Google Scholar
  19. Cong, J. and Ding, Y. (1992) An Optimal Technology Mapping Algorithm for Delay Optimization in Lookup-table Based FPGA Designs. In IEEE Inter-national Conference on Computer Aided Design, pp. 48-53.Google Scholar
  20. Cong, J., Fan, Y., Han, G., and Zhang, Z. (2004) Application-Specific Instruc-tion Generation for Configurable Processor Architectures. In International Symposium on Field Programmable Gate Array, pp. 183-189.Google Scholar
  21. Corazao, M., Khalaf, M., Guerra, L., Potkonjak, M., and Rabaey, J. (1993) Instruction Set Mapping for Performance Optimization. In IEEE Interna-tional Conference on Computer Aided Design, pp. 518-521.Google Scholar
  22. Fei, Y., Ravi, S., Raghunathan, A., and Jha, N. (2004) A Hybrid Energy Estima-tion Technique for Extensible Processors. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 23(5):652-664.CrossRefGoogle Scholar
  23. Francis, R. J., Rose, J., and Chung, K. (1990) Chortle: a Technology Map-ping Program for Lookup Table-Based Field Programmable Gate Arrays. In ACM/IEEE Design Automation Conference, pp. 613-619.Google Scholar
  24. Goodwin, D. and Petkov, D. (2003) Automatic Generation of Application Spe-cific Processors. In International Conference on Compilers Architectrue and Synthesis for Embedded Systems, pp. 137-147.Google Scholar
  25. Gupta, T., Ko, R., and Barua, R. (2002) Compiler-Directed Customization of ASIP Cores. In International Symposium on Hardware/Software Co-Design, pp. 97-102.Google Scholar
  26. Gupta, T., Sharma, P., Balakrishnan, M., and Malik, S. (2000) Processor Eval-uation in an Embedded Systems Design Environment. In International Con-ference on VLSI Design, pp. 98-103.Google Scholar
  27. Holmer, B. (1994) A Tool for Processor Instruction Set Design. In European Conference on Design Automation, pp. 150-155.Google Scholar
  28. Holt, D. (2003) Standard cell is broken. In EE-Times.Google Scholar
  29. Huang, I. and Despain, A. (1995) Synthesis of Application Specific Instruction Sets. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 14(6):663-675.CrossRefGoogle Scholar
  30. Jain, M. K., Balakrishnan, M., and Kumar, A. (2003) Exploring Storage Or-ganization in ASIP Synthesis. In Euromicro-Symposium on Digital System Design, pp. 120-127.Google Scholar
  31. Jain, M. K., Balakrishnan, M., and Kumar, A. (2005) Integrated On-Chip Stor-age Evaluation in ASIP Synthesis. In International Conference on VLSI De-sign, pp. 274-279.Google Scholar
  32. Jain, M. K., Wehmeyer, L., Steinke, S., Marwedel, P., and Balakrishnan, M. (2001) Evaluating Register File Size in ASIP Design. In International Sym-posium on Hardware/Software Codesign, pp. 109-114.Google Scholar
  33. Kathail, V., Aditya, S., Schreiber, R., Rau, B., Cronquist, D., and Sivaraman, M. (2002) PICO: Automatically Designing Custom Computers. Computer, 35 (9):39-47.CrossRefGoogle Scholar
  34. Keutzer, K. (1987) DAGON: Technology Binding and Local Optimization by DAG Matching. In ACM/IEEE Design Automation Conference, pp. 617-623.Google Scholar
  35. Lee, J., Choi, K., and Dutt, N. (2002) Efficient Instruction Encoding for Auto-matic Instruction Set Design of Configurable ASIPs. In International Con-ference on Computer Aid Design, pp. 649-654.Google Scholar
  36. Lewis, B. and Hsu, S. (2002) Asic/soc: Rebuilding after the storm. In Gartner.Google Scholar
  37. Lee, J., Choi, K., and Dutt, N. (2003) Energy-Efficient Instruction Set Synthe-sis for Application-Specific Processors. In International Symposium on Low Power Electronics and Design, pp. 330-333.Google Scholar
  38. Leupers, R. and Marwedel, P. (1995) Instruction-Set Modelling for ASIP Code Generation. In IEEE International Conference on VLSI Design, pp. 77-80Google Scholar
  39. Leupers, R. and Marwedel, P. (1998) Retargetable Code Generation Based on Structural Processor Descriptions. Design Automation for Embedded Systems, 3(1):1-36.CrossRefGoogle Scholar
  40. Liem, C., May, T., and Paulin, P. (1994) Instruction-Set Matching and Selection for DSP and ASIP Code Generation. In European Conference on Design Automation, pp. 31-37.Google Scholar
  41. Martello, S. and Toth, P. (1990) Knapsack Problems: Algorithms and Com-puter Implementations. John Wiley & Sons, Inc., New York, NY, USA.Google Scholar
  42. NEC (2003) Nec boosts tcp/ip protocol processing with 10 cpu cores on one chip. In NEC Corporation, Press Release.Google Scholar
  43. Paulin, P. (2003) Extending SOC Life beyond the 90 nm Wall. In Talk at DAC Panel, 40th Design Automation Conference (DAC), Anaheim.Google Scholar
  44. Pozzi, L. (2000) Methodologies for the Design of Application-Specific Recon-figurable VLIW Processors. Ph.D. Thesis, Politecnico di Milano.Google Scholar
  45. Rowen, C. (2003) presentation at NEC technology forum.Google Scholar
  46. Semeria, L., Seawright, A., Mehra, R., Ng, D., Ekanayake, A., and Pan-grle, B. (2002) RTL C-Based Methodology for Designing and Verifying a Multi-Threaded Processor. In ACM/IEEE Design Automation Conference, pp. 123-128.Google Scholar
  47. Shu, J., Wilson, T.C., and Banerji, D.K. (1996) Instruction-Set Matching and GA-Based Selection for Embedded-Processor Code Generation. In Interna-tional Conference on VLSI Design, pp. 73-76.Google Scholar
  48. Smith, G. (2003) DAC panel presentation, 40th Design Automation Con-ference (DAC), Anaheim.Google Scholar
  49. Sun, F., Raghunathan, A., Ravi, S., and Jha, N. (2003) A Scalable Application Specific Processor Synthesis Methodology. In International Conference on Computer Aid Design, pp. 283-290.Google Scholar
  50. Sun, F., Ravi, S., Raghunathan, A., and Jha, N. (2004) Custom-Instruction Syn-thesis for Extensible-Processor Platforms. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 23(2):216-228.CrossRefGoogle Scholar
  51. Sun, F., Ravi, S., Raghunathan, A., and Jha, N. (2005) Synthesis of Application-Specific Heterogeneous Multiprocessor Architectures Using Extensible Processors. In International Conference on VLSI Design, pp. 551-556.Google Scholar
  52. Wolf, W. and Kandemir, M. (2003) Memory System Optimization of Embed-ded Software. IEEE, 91(1):165-182.CrossRefGoogle Scholar
  53. Xtensa Processor. Tensilica, Inc. (http://www.tensilica.com) 2007.
  54. Yu, P. and Mitra, T. (2004a) Characterizing Embedded Applications for Instruction-Set Extensible Processors. In ACM/IEEE Design Automation Conference, pp. 723-728.Google Scholar
  55. Yu, P. and Mitra, T. (2004b) Scalable Custom Instructions Identification for Instruction-Set Extensible Processors. In International Conference on Com-pilers, Architectures, and Synthesis for Embedded Systems, pp. 69-78.Google Scholar

Copyright information

© Springer 2007

Authors and Affiliations

  • Jörg Henkel
    • 1
  • Sri Parameswaran
    • 2
  • Newton Cheung
    • 3
  1. 1.Department of Computer ScienceUniversity of Karlsruhe (TH)Germany
  2. 2.School of Computer Science and EngineeringThe University of New South WalesAustralia
  3. 3.VaST SystemAustralia

Personalised recommendations