[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to main content

Code Generation for a Dual Instruction Set Processor Based on Selective Code Transformation

  • Conference paper
Software and Compilers for Embedded Systems (SCOPES 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2826))

Included in the following conference series:

Abstract

Code size is an important design constraint in cost-sensitive embedded systems, since the amount of available memory is often limited. This constraint motivates dual instruction set processors, which support a reduced instruction set with a smaller instruction length in addition to a normal instruction set. This dual instruction set provides an effective mechanism for code size reduction. However, the code size reduction comes at the price of degraded performance because a program compiled into the reduced instruction set executes a larger number of instructions than the same program compiled into the normal instruction set. Motivated by this observation, we propose a technique that can be used to enable a flexible tradeoff between the code size and execution time of a program by using the two instruction sets selectively for different parts of a program. Our proposed approach determines the instruction set to be used for each basic block using a path-based profitability analysis, so that the execution time of the resulting program is minimized while the code size constraint is satisfied. The results from our experiments verify that the tradeoff relationship exists between a program’s code size and execution time, and further indicate that the proposed technique can effectively exploit this tradeoff to improve performance within the given code size budget.

This work was supported in part by the Ministry of Education under the Brain Korea 21 Project in 2003, and by the Ministry of Science and Technology under the National Research Laboratory program. The ICT at Seoul National University provided research facilities for this study.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
£29.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
GBP 19.95
Price includes VAT (United Kingdom)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
GBP 35.99
Price includes VAT (United Kingdom)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
GBP 44.99
Price includes VAT (United Kingdom)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Halambi, A., Shrivastava, A., Biswas, P., Dutt, N., Nicolau, A.: An efficient compiler technique for code size reduction using reduced bit-width ISAs. In: Proceedings of the DATE (Design, Automation and Test in Europe), Paris, France (March 2002)

    Google Scholar 

  2. Furber, S.: ARM System Architecture. Addison-Wesley, Reading (1996); ISBN: 0-201-40352-8

    Google Scholar 

  3. Kissel, K.: MIPS16: High-density MIPS for the embedded market. Technical report, Silicon Graphics MIPS Group (1997)

    Google Scholar 

  4. ARC Cores. The ARCtangent-A5 Processor, http://www.arc.com

  5. Appel, A., Davidson, J., Ramsey, N.: The zephyr compiler infrastructure (1998), http://www.cs.virginia.edu/zephyr

  6. Krishnaswamy, A., Gupta, R.: Profile guided selection of ARM and Thumb instructions. In: Proceedings of LCTES/SCOPES, Berlin, Germany (June 2002)

    Google Scholar 

  7. Goudge, L., Segars, S.: Thumb: Reducing the cost of 32-bit RISC performance in portable and consumer applications. In: Proceedings of COMPCON (1996)

    Google Scholar 

  8. ARM Limited. ARM Developer Suite Developer Guide

    Google Scholar 

  9. Ball, T., Larus, J.R.: Efficient path profiling. In: Proceedings of the 29th Annual IEEE/ACM Symposium on Microarchitecture, Paris, France, pp. 46–57 (1996)

    Google Scholar 

  10. Benitez, M.E., Davidson, J.W.: Target-specific global code improvement: Principles and applications. Technical Report CS-94-42, Department of Computer Science, University of Virginia (April 1994)

    Google Scholar 

  11. Davidson, J.W., Fraser, C.W.: Code selection through object code optimization. ACM Transactions on Programming Languages and Systems 6(4), 505–526 (1984)

    Article  Google Scholar 

  12. Davidson, J.W., Whalley, D.B.: A design environment for addressing architecture and compiler interactions. Microprocessors and Microsystems 15(9), 459–472 (1991)

    Article  Google Scholar 

  13. Tamches, A., Miller, B.P.: Dynamic kernel code optimization. In: Proceedings of the 3rd Workshop on Binary Translation, Barcelona, Spain (June 2001)

    Google Scholar 

  14. Guthaus, M.R., Ringenberg, J.S., Ernst, D., Austin, T.M., Mudge, T., Brown, R.B.: MiBench: A free, commercially representative embedded benchmark suite. In: Proceedings of the IEEE 4th Annual Workshop on Workload Characterization, Austin, TX (December 2001)

    Google Scholar 

  15. Lee, C., Potkonjak, M., Mangione-Smith, W.H.: MediaBench: A tool for evaluating and synthesizing multimedia and communications systems. In: Proceedings of the 30th Annual International Symposium on Microarchitecture, December 1997, pp. 330–335 (1997)

    Google Scholar 

  16. ARM Linux Project. http://www.arm.linux.org.uk

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lee, S., Lee, J., Min, S.L., Hiser, J., Davidson, J.W. (2003). Code Generation for a Dual Instruction Set Processor Based on Selective Code Transformation. In: Krall, A. (eds) Software and Compilers for Embedded Systems. SCOPES 2003. Lecture Notes in Computer Science, vol 2826. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39920-9_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-39920-9_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20145-8

  • Online ISBN: 978-3-540-39920-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics