Chapter 10. Performance Considerations

The desire for performance drives both the software and hardware aspects of computer science and engineering. Given a hardware system with known performance limitations, we have several options: simply wait for results to emerge, slowly, using the existing software; attempt to optimize that software; or even develop new software based on more efficient algorithms specific to that platform. Similarly, given a software application with known performance limitations on existing hardware, we might attempt to optimize that hardware affordably, or seek a different system based on faster physical components or more efficient designs.

Although we look at some aspects of hardware optimization in this chapter, we do so in much less detail or applicability than either Stallings or Hennessy and Patterson have provided in their book-length treatments. We will, however, present to our readers some architectural aspects of the Itanium EPIC design that are of importance and interest to the programmer.

We concentrate on the ideas and techniques of explicit parallelism, where EPIC architectural concepts diverge from traditional CISC or RISC designs. While seemingly rather new, parallelism is based on more than a decade of research and production in academia and industry.

Reinforcing the principles introduced in this chapter, we look at some aspects of Itanium program optimization as applied to special implementations of a recursive algorithm. A review of "counting" the number of instructions is followed by a demonstration of a timing function that may be used to compare software strategies quantitatively. We do not enter the rather contentious arena of defining benchmarks, as it is ultimately the performance of real applications, not arbitrary calculations, that decides the success or failure of software and hardware in the marketplace.

Chapter 10 concentrates on an understanding of architectural design from the vantage point of you, the assembly language programmer, while the next chapter continues the exploration, focusing on program code produced by compilers.



ItaniumR Architecture for Programmers. Understanding 64-Bit Processors and EPIC Principles
ItaniumR Architecture for Programmers. Understanding 64-Bit Processors and EPIC Principles
ISBN: N/A
EAN: N/A
Year: 2003
Pages: 223

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net