13.07.2015 Views

Intel® 64 and IA-32 Architectures Optimization Reference Manual

Intel® 64 and IA-32 Architectures Optimization Reference Manual

Intel® 64 and IA-32 Architectures Optimization Reference Manual

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CHAPTER 1INTRODUCTIONThe Intel® <strong>64</strong> <strong>and</strong> <strong>IA</strong>-<strong>32</strong> <strong>Architectures</strong> <strong>Optimization</strong> <strong>Reference</strong> <strong>Manual</strong> describes howto optimize software to take advantage of the performance characteristics of <strong>IA</strong>-<strong>32</strong><strong>and</strong> Intel <strong>64</strong> architecture processors. <strong>Optimization</strong>s described in this manual apply toprocessors based on the Intel ® Core microarchitecture, Intel NetBurst ® microarchitecture,the Intel ® Core Duo, Intel Core Solo, Pentium ® M processor families.The target audience for this manual includes software programmers <strong>and</strong> compilerwriters. This manual assumes that the reader is familiar with the basics of the <strong>IA</strong>-<strong>32</strong>architecture <strong>and</strong> has access to the Intel® <strong>64</strong> <strong>and</strong> <strong>IA</strong>-<strong>32</strong> <strong>Architectures</strong> Software Developer’s<strong>Manual</strong> (five volumes). A detailed underst<strong>and</strong>ing of Intel <strong>64</strong> <strong>and</strong> <strong>IA</strong>-<strong>32</strong> processorsis often required. In many cases, knowledge of the underlying microarchitecturesis required.The design guidelines that are discussed in this manual for developing highperformancesoftware generally apply to current as well as to future <strong>IA</strong>-<strong>32</strong> <strong>and</strong>Intel <strong>64</strong> processors. The coding rules <strong>and</strong> code optimization techniques listed targetthe Intel Core microarchitecture, the Intel NetBurst microarchitecture <strong>and</strong> thePentium M processor microarchitecture. In most cases, coding rules apply to softwarerunning in <strong>64</strong>-bit mode of Intel <strong>64</strong> architecture, compatibility mode of Intel <strong>64</strong>architecture, <strong>and</strong> <strong>IA</strong>-<strong>32</strong> modes (<strong>IA</strong>-<strong>32</strong> modes are supported in <strong>IA</strong>-<strong>32</strong> <strong>and</strong> Intel <strong>64</strong>architectures). Coding rules specific to <strong>64</strong>-bit modes are noted separately.1.1 TUNING YOUR APPLICATIONTuning an application for high performance on any Intel <strong>64</strong> or <strong>IA</strong>-<strong>32</strong> processorrequires underst<strong>and</strong>ing <strong>and</strong> basic skills in:• Intel <strong>64</strong> <strong>and</strong> <strong>IA</strong>-<strong>32</strong> architecture• C <strong>and</strong> Assembly language• hot-spot regions in the application that have impact on performance• optimization capabilities of the compiler• techniques used to evaluate application performanceThe Intel ® VTune Performance Analyzer can help you analyze <strong>and</strong> locate hot-spotregions in your applications. On the Intel ® Core2 Duo, Intel Core Duo, Intel CoreSolo, Pentium 4, Intel ® Xeon ® <strong>and</strong> Pentium M processors, this tool can monitor anapplication through a selection of performance monitoring events <strong>and</strong> analyze theperformance event data that is gathered during code execution.This manual also describes information that can be gathered using the performancecounters through Pentium 4 processor’s performance monitoring events.1-1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!