Skip to main content

A Comparative Analysis of Techniques for Executing Branched Instructions

  • Chapter
  • First Online:
Data, Engineering and Applications

Abstract

In general, the majority of instructions bound for processing and executions consist of straight and branched constructs. A straight instruction set does not rely or depend on processes to reach complete execution. Unlike branched (or conditional) instructions, constructs require outcomes of other processes in order to peak its process executions. Previous works intended to first transform all branched instructions types to straight instructions types due to the structure and architecture of underlying compiler and processing elements known as predication process. While instruction-level parallelism (ILP) architecture ensures that many more parallel processes are executed by overlapping of these processes. This paper presents a comparative analysis of predicted and ILP techniques for processes executions of branched instructions constructs. The paper recommends ILP as the best way to deal with branched instructions in concurrent processes/executions because it supports multiple issues, execution speedups, improves memory utilization, and optimization of complier/processing elements based on selected parameters.

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 79.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 99.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 139.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

References

  1. Hennessy, J., Patterson, D.A.: Computer Architecture, 4th edn, pp. 2–104. Morgan Kaufmann Publishers Elsevier, San Francisco (2007)

    Google Scholar 

  2. Smith, J.E., Weiss, J.: PowerPC 601 and Alpha 21064: A tale of two RISCs. J. Comput. IEEE Press 27(6), 46–58 (1994)

    Google Scholar 

  3. Jack, W.D., Sanjay, J.: Improving instruction-level parallelism by loop unrolling and dynamic memory disambiguation. Unpublished M.Sc. thesis of Department of Computer Science, Thornton Hall, University of Virginia, Charlottesville, pp. 1−8 (1995)

    Google Scholar 

  4. Pepijn, W.: Simdization transformation strategies - polyhedral transformations and cost estimation. Unpublished M.Sc thesis, Department of Computer/Electrical Engineering, Delft University of Technology, Netherlands, pp. 1−77 (2012)

    Google Scholar 

  5. Vijay, S.P., Sarita, A.: Code transformations to improve memory parallelism. In: 32nd Annual ACM/IEEE International Symposium on Microarchitecture, pp. 147 − 155. IEEE Computer Society, Haifa (1999)

    Google Scholar 

  6. Pozzi, L.: Compilation techniques for exploiting instruction level parallelism, a survey. Department of Electrical and Information, University of Milan, Italy Technical Report 20133, pp. 1−31 (2010)

    Google Scholar 

  7. Parthasarathy, K.A.: Performance measures of superscalar processor. Int. J. Eng. Technol. IJET Publications, UK 1(3), 164–168 (2011)

    Google Scholar 

  8. Kaeli, D., Rosano, R.A.: Exposing instruction level parallelism in presence of loops. J. Comput. Syst. 8(1), 74–85 (2004)

    Google Scholar 

  9. Marcos, R.D.A., David, R.K.: Runtime predictability of loops. In: 4th Annual IEEE International Workshop on Workload Characterization, I.C., Ed., Texas, pp. 91−98 (2001)

    Google Scholar 

  10. Misra, S., Alfa, A.A., Adewale, O.S., Akogbe, A.M., Olaniyi, M.O.: A two-way loop algorithm for exploiting instruction-level parallelism in memory system. In: Beniamino, M., Sanjay, M., Ana, M., Rocha, A.C. (eds.) ICCSA 2014, LNCS, vol. 8583, pp. 255–264. Springer, Heidelbreg (2014)

    Google Scholar 

  11. Cantrell, C.D.: Computer system performance measurement. Lecture CE/EE 4304, The University of Texas, Dallas (2012). http://www.utdallas.edu/~cantrell/ee4304/perf.pdf

  12. Flynn, M.J.: Computer Architecture: Pipelined and Parallel Processor Design, 1st edn, pp. 34–55. Jones and Bartlett Publishers, New York (1995)

    Google Scholar 

  13. Olukotun, K., Nayfeh, B.A., Hammond, L., Wilson, K., Chang, K.: The case for a single-chip multiprocessor. Conf. ACM SIGPLAN Not. Stanf. 31(9), 2–11 (1996)

    Google Scholar 

Download references

Acknowledgements

We acknowledge the support and sponsorship provided by Covenant University through the Centre for Research, Innovation and Discovery (CUCRID).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sanjay Misra .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Singapore Pte Ltd.

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Misra, S., Alfa, A.A., Ajagbe, K.D., Odusami, M., Abayomi-Alli, O. (2019). A Comparative Analysis of Techniques for Executing Branched Instructions. In: Shukla, R.K., Agrawal, J., Sharma, S., Singh Tomer, G. (eds) Data, Engineering and Applications. Springer, Singapore. https://doi.org/10.1007/978-981-13-6351-1_20

Download citation

  • DOI: https://doi.org/10.1007/978-981-13-6351-1_20

  • Published:

  • Publisher Name: Springer, Singapore

  • Print ISBN: 978-981-13-6350-4

  • Online ISBN: 978-981-13-6351-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics