Skip to main content

Trace-Based Runtime Instruction Rescheduling for Architecture Extension

  • Conference paper
Embedded Software and Systems (ICESS 2005)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3820))

Included in the following conference series:

  • 932 Accesses

Abstract

The update of embedded processor may introduce new function unit, new coprocessor, or even new additional DSP. In many cases, software application can’t be fully rebuilt to utilize these new resources. This paper describes a novel framework, called Runtime Instruction Rescheduling (RIR), to solve this problem. RIR can find hot spots in binary codes, build a large instruction window to generate trace, reschedule and optimize instructions in traces. Different scheduling policies have been simulated. Shown from detailed simulation, RIR helps the old binary codes benefit from new hardware resources.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • 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.

References

  1. Talla, D., Austen, R., Brier, D., et al.: TMS320DM310 – A Portable Digital Media Processor. In: Proceeding of 15th Symposium on High Performance Chips (2003)

    Google Scholar 

  2. Li, L., Xue, J.: A Trace-based Binary Compilation Framework for Energy-Aware Computing. In: Proceedings of the 2004 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools (LCTES 2004), pp. 95–106 (2004)

    Google Scholar 

  3. Fisher, J.A.: Trace Scheduling: A Technique for Global Microcode Compaction. IEEE Transaction on Computer, 478–490 (July 1981)

    Google Scholar 

  4. Merten, M.M., Trick, A., Barnes, R., Nystrom, E., George, C., Gyllenhaal, J., Hwu, W.W.: An Architectural Framework for Runtime Optimization. In: IEEE Transactions on Computers, pp. 567–589 (June 2001)

    Google Scholar 

  5. Dehnert, J.C., Grant, B.K., Banning, J.P., et al.: The Transmeta Code Morphing Software: Using Speculation, Recovery, and Adaptive Retranslation to Address Real-life Challenges. In: Proceedings of the 2003 International Symposium on Code Generation and Optimization, pp. 15–24 (2003)

    Google Scholar 

  6. Balsa, V., Duesterwald, E., Banerjia, S.: Dynamo: A Transparent Dynamic Optimization System. In: Proceedings of the ACM SIGPLAN 2000 Conference on Programming Language Design and Implementation, pp. 1–12 (2000)

    Google Scholar 

  7. Conte, T.M., Menezes, K.N., Hirsch, M.A.: Accurate and Practical Profile-Driven Compilation Using the Profile Buffer. In: Proceedings of the 29th Annual International Symposium on Microarchitecture, pp. 36–45 (1996)

    Google Scholar 

  8. Patel, S.J., Lumetta, S.S.: Replay: A Hardware Framework for Dynamic Optimization. IEEE Transactions on Computers 50(6), 590–608 (2001)

    Article  Google Scholar 

  9. Rotenberg, E., Bennett, S., Smith, J.E.: Trace Cache: A low latency approach to high bandwidth instruction fetching. In: Proceedings of 29th International Symposium on Microarchitecture, pp. 24–35 (1996)

    Google Scholar 

  10. Rosner, R., Almog, Y., Moffie, M., Schwartz, N., Medelson, A.: Power Awareness through Selective Dynamically Optimized Traces. In: Proceedings of the 31st annual international symposium on Computer architecture (ISCA-31), pp. 162–173 (2004)

    Google Scholar 

  11. Berndl, M., Hendren, L.: Dynamic profiling and trace cache generation. In: Proceedings of the international symposium on code generation and optimization: feedback-directed and runtime optimization, pp. 276–285 (2003)

    Google Scholar 

  12. Allan, V.H., Jones, R.B., Lee, R.M., Allan, S.J.: Software Pipeline. ACM computing Surveys (CSUR) 27, 367–432 (1995)

    Article  Google Scholar 

  13. Ellis, J.R.: Bulldog: A Compiler for VLIW Architecture. MIT Press, Cambridge (1986)

    Google Scholar 

  14. Intel Corp. IA-32 Intel Architecture Software Developer’s Manual volume 1: Basic Architecture (25366515) (2004)

    Google Scholar 

  15. Vaswani, K., Thazhuthaveetil, M.J., SriKant, Y.N.: A Programmable Hardware Path Profiler. In: Proceedings of the International Symposium on Code Generation and Optimization, pp. 217–228 (2004)

    Google Scholar 

  16. Franklin, M., Smotherman, M.: A Fill-unit Approach to Multiple Instruction Issue. In: Proceedings of 27th annual international symposium on Microarchitecture, pp. 162–171 (1994)

    Google Scholar 

  17. Fahs, B.M.: An Analysis of A Novel Approach to Dynamic Optimization. M.S. Thesis of the University of Illinois at Urbana-Champaign (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Tang, Y., Deng, K., Cao, H., Zhou, X. (2005). Trace-Based Runtime Instruction Rescheduling for Architecture Extension. In: Yang, L.T., Zhou, X., Zhao, W., Wu, Z., Zhu, Y., Lin, M. (eds) Embedded Software and Systems. ICESS 2005. Lecture Notes in Computer Science, vol 3820. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11599555_4

Download citation

  • DOI: https://doi.org/10.1007/11599555_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-30881-2

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics