Skip to main content

Instruction Scheduling in Microprocessors

  • Chapter
Automated Scheduling and Planning

Part of the book series: Studies in Computational Intelligence ((SCI,volume 505))

  • 1931 Accesses

Abstract

The Central Processing Unit (CPU) in a microprocessor is responsible for running machine instructions as fast as possible so that the machine performance is at its maximum level. While simple in design, in-order execution processors provide sub-optimal performance, because any delay in instruction processing blocks the entire instruction stream. To overcome this limitation, modern highperformance designs use out-of-order (OoO) instruction scheduling to better exploit available Instruction-Level Parallelism (ILP), and both static (compilerassisted) and dynamic (hardware-assisted) scheduling solutions are possible. The hardware-assisted scheduling integrates an OoO core that requires a complex dynamic instruction scheduler and additional datapath structures are utilized to hold the in-flight instructions in program order to support the reconstruction of precise program state. The logic becomes even more complex when superscalar (those capable of executing multiple instructions every clock cycle) designs are used. This chapter gives a brief introduction to instruction scheduling on pipelined superscalar architectures, and, then, explains some of the keystone static and dynamic instruction scheduling algorithms.

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
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover 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. Bernstein, D., Cohen, D., Lavon, Y., Rainish, V.: Performance Evaluation of Instruction Scheduling on the IBM RISC System/6000. In: MICRO, vol. 25, pp. 226–235 (1992)

    Google Scholar 

  2. Moon, S.M., Ebcioglu, K.: Parallelizing Nonnumerical Code With Selective Scheduling and Software Pipelining. TOPLAS 19(6), 853–898 (1997)

    Article  Google Scholar 

  3. Mahajan, A., Ali, M.S., Patil, M.: Instruction Scheduling Using Evolutionary Programming. In: ACC 2008, pp. 137–144 (2008)

    Google Scholar 

  4. Weiss, S., Smith, J.E.: Instruction Issue Logic in Pipelined Supercomputers. In: ISCA 1984, pp. 110–118 (1984)

    Google Scholar 

  5. Tomasulo, R.M.: An Efficient Algorithm for Exploiting Multiple Arithmetic Units. IBM J. Res. Development 11(1), 25–33 (1967)

    Article  MATH  Google Scholar 

  6. Thornton, J.E.: Parallel Operation in the Control Data 6600. In: AFIPS 1964, Part 2, pp. 33–40 (1964)

    Google Scholar 

  7. Tune, E., Tullsen, D.M., Calder, B.: Quantifying Instruction Criticality. In: PACT 2002, p. 104 (2002)

    Google Scholar 

  8. Lebeck, A.R., Koppanalil, J., Li, T., Patwardhan, J., Rotenberg, E.: A Large, Fast Instruction Window for Tolerating Cache Misses. In: ISCA 2002, pp. 59–70 (2002)

    Google Scholar 

  9. Wang, H., Sangireddy, R.: Streamlining Long Latency Instructions For Seamlessly Combined Out-Of-Order and In-Order Execution. Microprocessors & Microsystems 32, 375–385 (2008)

    Article  Google Scholar 

  10. Sharkey, J.J., Ponomarev, D.V.: Non-Uniform Instruction Scheduling. In: Cunha, J.C., Medeiros, P.D. (eds.) Euro-Par 2005. LNCS, vol. 3648, pp. 540–549. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  11. Ernst, D., Hamel, A., Austin, T.: Cyclone: A Broadcast-Free Dynamic Instruction Scheduler with Selective Replay. In: ISCA 2003, pp. 253–263 (2003)

    Google Scholar 

  12. Buyuktosunoglu, A., Albonesi, D.H., Bose, P., Cook, P.W., Schuster, S.E.: Tradeoffs in Power-Efficient Issue Queue Design. In: ISLPED 2002, pp. 184–189 (2002)

    Google Scholar 

  13. Brown, M.D., Stark, J., Patt, Y.N.: Select-Free Instruction Scheduling Logic. In: MICRO, vol. 34, pp. 204–213 (2001)

    Google Scholar 

  14. Stark, J., Brown, M.D., Patt, Y.N.: On Pipelining Dynamic Instruction Scheduling Logic. In: MICRO, vol. 33, pp. 57–66 (2000)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Küçük, G., Güney, İ., Ponomarev, D. (2013). Instruction Scheduling in Microprocessors. In: Uyar, A., Ozcan, E., Urquhart, N. (eds) Automated Scheduling and Planning. Studies in Computational Intelligence, vol 505. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-39304-4_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-39304-4_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-39303-7

  • Online ISBN: 978-3-642-39304-4

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics