Advertisement

Fundamentals of Pipelining

  • Amos R. Omondi
Chapter

Abstract

We shall begin by introducing the main issues in the design and implementation of pipelined and superscalar computers, in which the exploitation of low-level parallelism constitute the main means for high performance. The first section of the chapter consists of a discussion of the basic principles underlying the design of such computers. The second section gives a taxonomy for the classification of pipelined machines and introduces a number of commonly used terms. The third and fourth section deal with the performance of pipelines: ideal performance and impediments to achieving this are examined. The fifth section consists of some examples of practical pipelines; these pipelines form the basis for detailed case studies in subsequent chapters. The last section is a summary.

Keywords

Register File Instruction Cache Execution Unit Branch Prediction Branch Instruction 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Bibliography

  1. 1.
    AMD. 1997. AMD-K6 MMX Processor. Advanced Micro Devices, Sunnyvale, California.Google Scholar
  2. 2.
    Buckle, J. 1978. The ICL 2900 Series. McMillan, London, United Kingdom.Google Scholar
  3. 3.
    Chen, T.C. 1970. Overlap and pipeline processing. In: H.S. Stone, Ed., Introduction to Computer Architecture (SRA, Chicago), Chapter 9.Google Scholar
  4. 4.
    Chen, T.C. 1971. Parallelism, pipelining, and computer efficiency. IEEE Computer (January):69–74.Google Scholar
  5. 5.
    Cragon, H.C. 1996. Memory Systems and Pipelined Processors. Jones and Bartlett Publishers, Boston, MA.Google Scholar
  6. 6.
    Cragon, H.C. and W.J. Watson. 1989. The TI Advanced Scientific Computer. IEEE Computer, 22(1):55–65.CrossRefGoogle Scholar
  7. 7.
    Deverell, J. 1975. Pipeline iterative arithmetic arrays. IEEE Transactions on Computers, C-24: 317–322.CrossRefGoogle Scholar
  8. 8.
    Diep, A.T., C. Nelson, and J.P. Shen. 1995. Performance evaluation of the PowerPC 620 microarchitecture. In: Proceedings, 23rd International Symposium on Computer Architecture, pp 163–174.CrossRefGoogle Scholar
  9. 9.
    Durdan, W.H., W.J. Bowhill, J.F. Brown, W.V. Herrick, R.M. Marcello, S. Samudrala, G.M. Uhler, and N. Wade. 1990. An overview of the VAX 6000 Model 400 chip set. Digital Technical Journal, 2(2):36–51.Google Scholar
  10. 10.
    Edmondson, J.H., P. Rubinfield, R. Preston, and V. Rajagopalan. 1995. Superscalar instruction execution in the Alpha 21164 microprocessor. IEEE Micro, 15(2):33–43.CrossRefGoogle Scholar
  11. 11.
    Flynn, M.J. 1995. Computer Architecture: Pipelined and Parallel Processor Design. Jones and Bartlett Publishers, BostonGoogle Scholar
  12. 12.
    Gwenap, L. 1996. Digital 21264 sets new standard. Microprocessor Report, 10(14).Google Scholar
  13. 13.
    Hennessy, J.L. and D.A. Patterson. 1990. Computer Architecture: A Quantitative Approach. Morgan Kaufmann Publishers, San Mateo, California.Google Scholar
  14. 14.
    Hennessy, J., N. Jouppi, and J. Gill. 1981. MIPS: A VLSI processor. In: H.T. Kung, B. Sproull, and G. Steele (Eds.), VLSI Systems and Computations (Computer Science Press, Rockville, Maryland), pp 347–346.Google Scholar
  15. 15.
    Hockney, R.W. and C.R. Jesshope. 1988. Parallel Computers (Adam Hilger, Bristol, United Kingdom), Chapter 2.MATHGoogle Scholar
  16. 16.
    Hwang, K. and F. Briggs. 1984. Computer Architecture and Parallel Processing (McGraw-Hill, New York), Chapter 3.MATHGoogle Scholar
  17. 17.
    Ibbett, R.N. and N.P. Topham. 1989. The Architecture of High Performance Computers (Springer-Verlag, New York), volume 1, Chapter 4.Google Scholar
  18. 18.
    Intel. 1997. Intel Architecture Software Developer’s Manual - Volume 1: Basic Architecture. Intel Corporation, Mt. Prospect, Illinois.Google Scholar
  19. 19.
    Jouppi, N.P. 1989. The non-uniform distribution of instruction-level and machine parallelism and its effect on performance. IEEE Computer, 38(12):1645–1658.CrossRefGoogle Scholar
  20. 20.
    Jouppi, N.P. and D.W. Wall. 1989. Available instruction-level parallelism for superscalar and superpipelined machines. In: Proceedings, 3rd International Conference on Architectural Support for Programming Languages and Operating Systems, pp 272–282.Google Scholar
  21. 21.
    Keller, R.M. 1975. Look-ahead processors. Computing Surveys, 7(4):177–195. MATHCrossRefGoogle Scholar
  22. 22.
    Kogge, P.M. 1981. The Architecture of Pipelined Computers. McGraw-Hill, New York.MATHGoogle Scholar
  23. 23.
    McMahon, S.C., M. Bluhm, and R.A. Garibay. 1995. 6x86: the Cyrix solution to executing x86 binaries on a high-performance microprocessor. Proceedings of the IEEE, 83 (12 ):1664–1672.CrossRefGoogle Scholar
  24. 24.
    MIPS. 1995. MIPS R10000 Microprocessor User’s Manual. MIPS Technologies, Mountain View, California.Google Scholar
  25. 25.
    Mirapuri, S., M. Woodacre, and N. Vasseghi. 1992. The MIPS R4000 processor. IEEE Micro, 12(4):10–22.CrossRefGoogle Scholar
  26. 26.
    Morris, D. and R.N. Ibbett. 1979. The MU5 Computer System. Springer-Verlag, New York.Google Scholar
  27. 27.
    Omondi, A. R. 1994. Computer Arithmetic Systems: Algorithms, Architectures, and Implementations. Prentice-Hall International, London, United Kingdom.Google Scholar
  28. 28.
    Ramamoorthy, C.V. and H.F. Li. 1977. Pipeline architecture. Computing Surveys 9(1):61–102.MATHCrossRefGoogle Scholar
  29. 29.
    Sites, R. L. 1992. Alpha AXP architecture. Digital Technical Journal, 4(4):19–35.Google Scholar
  30. 30.
    Smith, J.E., and G.S. Sohi. 1995. The microarchitecture of superscalar processors. Proceedings of the IEEE, 83(12):1609–1621.CrossRefGoogle Scholar
  31. 31.
    Song, S.P., M. Denman, and J. Chang. 1994. The PowerPC 604 microprocessor. IEEE Micro, 14(10):8–17.CrossRefGoogle Scholar
  32. 32.
    Song, P. 1997. IBM’s Power3 to replace P2SC. Microprocessor Report, 11(5).Google Scholar
  33. 33.
    Sun Microsystems. 1995. The U1traSPARC Processor:Technology White Paper. Mountain View, California.Google Scholar
  34. 34.
    Topham, N.P., A. Omondi, and R.N. Ibbett. 1988. On the design and performance of conventional pipelined architectures. Journal of Supercomputing, 1(4):353–393.CrossRefGoogle Scholar
  35. 35.
    Watson, W.J. 1972. The TI-ASC - a highly modular and flexible super computer architecture. In: Proceedings, AFIPPS Fall Joint Computer Conference, pp 221–228.Google Scholar
  36. 36.
    Williams, T., N. Paktar, and G. Shen. 1995. SPARC64: A 64-b 64-activeinstruction out-of-order-execution MCM processor. IEEE Journal of Solid-State Circuits, 30(11):1215–1226.CrossRefGoogle Scholar
  37. 37.
    Yeager, K.C. 1996. The MIPS R10000 superscalar microprocessor. IEEE Micro, 16(2):28–40.CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 1999

Authors and Affiliations

  • Amos R. Omondi
    • 1
  1. 1.Department of Computer ScienceFlinders UniversityAdelaideAustralia

Personalised recommendations