Skip to main content

Automatic Application-Specific Instruction-Set Extensions Under Microarchitectural Constraints

Abstract

This paper presents a methodology for automatically designing Instruction-Set Extensions in embedded processors. Many commercially available CPUs now offer the possibility of extending their instruction set for a specific application. Their tool chains typically support manual experimentations, but algorithms that can define the set of customised functional units most beneficial for a given applications are missing. Only a few algorithms exist but are severely limited in the type and size of operation clusters they can choose and hence reduce significantly the effectiveness of specialisation. A more general algorithm is presented here which selects maximal-speedup convex subgraphs of the application dataflow graph under fundamental microarchitectural constraints, and which improves significantly on the state of the art.

This is a preview of subscription content, access via your institution.

References

  1. B. K. Holmer, Automatic Design of Computer Instruction Sets, Ph.D. thesis, University of California, Berkeley, California (1993).

    Google Scholar 

  2. J. Van Praet, G. Goossens, D. Lanneer, and H. De Man, Instruction Set Definition and Instruction Selection for ASIPs, Proceedings of the 7th International Symposium on High-Level Synthesis, Niagara-on-the-Lake, Ontario, pp. 11–16 (April 1994).

  3. I.-J. Huang and A. M. Despain, Synthesis of Application Specific Instruction Sets, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems CAD, 14(6):663–675 (June 1995).

    Google Scholar 

  4. F. Campi, R. Canegallo, and R. Guerrieri, IP-Reusable 32-Bit VLIW Risc Core, Proceedings of the European Solid State Circuits Conference, Villach, Austria, pp. 456–459 (September 2001).

  5. T. R. Halfhill, MIPS Embraces Configurable Technology, Microprocessor Report, (3rd March 2003).

  6. A. Wang, E. Killian, D. Maydan, and C. Rowen, Hardware/Software Instruction Set Configurability for System-on-Chip Processors, Proceedings of the 38th Design Automation Conference, Las Vegas, Nevada, pp. 184–188 (June 2001).

  7. T. R. Halfhill, ARC Cores Encourages “Plug-Ins,” Microprocessor Report (19th June 2000).

  8. P. Faraboschi, G. Brown, J. A. Fisher, G. Desoli, and F. Homewood, Lx: A Technology Platorm for Customizable VLIW Embedded Processing, Proceedings of the 27th Annual International Symposium on Computer Architecture, Vancouver, pp. 203–213 (June 2000).

  9. H. Choi, J.-S. Kim, C.-W. Yoon, I.-C. Park, S. H. Hwang, and C.-M. Kyung, Synthesis of Application Specific Instructions for Embedded DSP Software, IEEE Transactions on Computers C, 48(6):603–614 (June 1999).

    Google Scholar 

  10. R. Kastner, A. Kaplan, S. O. Memik, and E. Bozorgzadeh, Instruction Generation for Hybrid Reconfigurable Systems, ACM Transactions on Design Automation of Embedded Systems (TODAES), 7(4):605–627 (October 2002).

    Google Scholar 

  11. M. Arnold and H. Corporaal, Designing Domain Specific Processors, Proceedings of the 9th International Workshop on Hardware/Software Codesign, Copenhagen, pp. 61–66 (April 2001).

  12. R. Razdan and M. D. Smith, A High-Performance Microarchitecture with Hardware-Programmable Functional Units, Proceedings of the 27th International Symposium on Microarchitecture, San Jose, California, pp. 172–180 (November 1994).

  13. C. Alippi, W. Fornaciari, L. Pozzi, and M. Sami, A DAG Based Design Approach for Reconfigurable VLIW Processors, Proceedings of the Design, Automation and Test in Europe Conference and Exhibition, pp. 778–779 (March 1999).

  14. B. Kastrup, A. Bink, and J. Hoogerbrugge, ConCISe: A Compiler-Driven CPLD-Based Instruction Set Accelerator, Proceedings of the 5th IEEE Symposium on Field-Programmable Custom Computing Machines, Napa Valley, California (April 1999).

  15. Z. A. Ye, A. Moshovos, S. Hauck, and P. Banerjee, CHIMAERA: A High-Performance Architecture with a Tightly-Coupled Reconfigurable Functional Unit, Proceedings of the 27th Annual International Symposium on Computer Architecture, Vancouver, pp. 225–235 (June 2000).

  16. M. Baleani, F. Gennari, Y. Jiang, Y. Patel, R. K. Brayton, and A. Sangiovanni-Vincentelli, HW/SW Partitioning and Code Generation of Embedded Control Applications on a Reconfigurable Architecture Platform, Proceedings of the 10th International Workshop on Hardware/Software Codesign, Estes Park, Colorado, pp. 151–156 (May 2002).

  17. C. Lee, M. Potkonjak, and W. H. Mangione-Smith, MediaBench: A Tool for Evaluating and Synthesizing Multimedia and Communications Systems, Proceedings of the 30th Annual International Symposium on Microarchitecture, Research Triangle Park, North Carolina, pp. 330–335 (December 1997).

  18. M. D. Smith and G. Holloway, An Introduction to Machine SUIF and its Portable Libraries for Analysis and Optimization, Harvard University, Cambridge, Massachusetts (2000). http://www.eecs.harvard.edu/hube/software/.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Atasu, K., Pozzi, L. & Ienne, P. Automatic Application-Specific Instruction-Set Extensions Under Microarchitectural Constraints. International Journal of Parallel Programming 31, 411–428 (2003). https://doi.org/10.1023/B:IJPP.0000004508.14594.b9

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/B:IJPP.0000004508.14594.b9

  • customisable processors
  • instruction-set extensions
  • hardware/software codesign
  • automatic partitioning