Intel(R) 64 and IA-32 Architectures Optimization Reference Manual

Intel(R) 64 and IA-32 Architectures Optimization Reference Manual

N Intel® 64 and IA-32 Architectures Optimization Reference Manual Order Number: 248966-020 November 2009 INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. UNLESS OTHERWISE AGREED IN WRITING BY INTEL, THE INTEL PRODUCTS ARE NOT DESIGNED NOR IN- TENDED FOR ANY APPLICATION IN WHICH THE FAILURE OF THE INTEL PRODUCT COULD CREATE A SITU- ATION WHERE PERSONAL INJURY OR DEATH MAY OCCUR. Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "un- defined." Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information. The Intel® 64 architecture processors may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request. Hyper-Threading Technology requires a computer system with an Intel® processor supporting Hyper- Threading Technology and an HT Technology enabled chipset, BIOS and operating system. Performance will vary depending on the specific hardware and software you use. For more information, see http://www.in- tel.com/technology/hyperthread/index.htm; including details on which processors support HT Technology. Intel® Virtualization Technology requires a computer system with an enabled Intel® processor, BIOS, virtual machine monitor (VMM) and for some uses, certain platform software enabled for it. Functionality, perfor- mance or other benefits will vary depending on hardware and software configurations. Intel® Virtualization Technology-enabled BIOS and VMM applications are currently in development. 64-bit computing on Intel architecture requires a computer system with a processor, chipset, BIOS, oper- ating system, device drivers and applications enabled for Intel® 64 architecture. Processors will not operate (including 32-bit operation) without an Intel® 64 architecture-enabled BIOS. Performance will vary de- pending on your hardware and software configurations. Consult with your system vendor for more infor- mation. Intel, Pentium, Intel Atom, Intel Centrino, Intel Centrino Duo, Intel Xeon, Intel NetBurst, Intel Core, Intel Core Solo, Intel Core Duo, Intel Core 2 Duo, Intel Core 2 Extreme, Intel Pentium D, Itanium, Intel Speed- Step, MMX, and VTune are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others. Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order. Copies of documents which have an order number and are referenced in this document, or other Intel lit- erature, may be obtained by calling 1-800-548-4725, or by visiting Intel’s website at http://www.intel.com Copyright © 1997-2009 Intel Corporation CONTENTS PAGE CHAPTER 1 INTRODUCTION 1.1 TUNING YOUR APPLICATION. 1-1 1.2 ABOUT THIS MANUAL . 1-2 1.3 RELATED INFORMATION. 1-4 CHAPTER 2 INTEL® 64 AND IA-32 PROCESSOR ARCHITECTURES 2.1 INTEL® CORE™ MICROARCHITECTURE AND ENHANCED INTEL CORE MICROARCHITECTURE . 2-2 2.1.1 Intel® Core™ Microarchitecture Pipeline Overview . 2-3 2.1.2 Front End. 2-4 2.1.2.1 Branch Prediction Unit . 2-6 2.1.2.2 Instruction Fetch Unit . 2-6 2.1.2.3 Instruction Queue (IQ) . 2-7 2.1.2.4 Instruction Decode . 2-8 2.1.2.5 Stack Pointer Tracker . 2-8 2.1.2.6 Micro-fusion . 2-9 2.1.3 Execution Core . 2-9 2.1.3.1 Issue Ports and Execution Units . 2-10 2.1.4 Intel® Advanced Memory Access . 2-13 2.1.4.1 Loads and Stores . 2-14 2.1.4.2 Data Prefetch to L1 caches. 2-15 2.1.4.3 Data Prefetch Logic . 2-15 2.1.4.4 Store Forwarding . 2-16 2.1.4.5 Memory Disambiguation. 2-17 2.1.5 Intel® Advanced Smart Cache . 2-18 2.1.5.1 Loads . 2-19 2.1.5.2 Stores. 2-20 2.2 INTEL® MICROARCHITECTURE (NEHALEM) . 2-21 2.2.1 Microarchitecture Pipeline . 2-21 2.2.2 Front End Overview. 2-23 2.2.3 Execution Engine . 2-25 2.2.3.1 Issue Ports and Execution Units . 2-25 2.2.4 Cache and Memory Subsystem. 2-27 2.2.5 Load and Store Operation Enhancements . 2-28 2.2.5.1 Efficient Handling of Alignment Hazards . 2-28 2.2.5.2 Store Forwarding Enhancement . 2-29 2.2.6 REP String Enhancement . 2-31 2.2.7 Enhancements for System Software . 2-32 2.2.8 Efficiency Enhancements for Power Consumption . 2-33 2.2.9 Hyper-Threading Technology Support in Intel Microarchitecture (Nehalem). 2-33 2.3 INTEL NETBURST® MICROARCHITECTURE . 2-33 2.3.1 Design Goals. 2-34 2.3.2 Pipeline . 2-35 2.3.2.1 Front End. 2-36 2.3.2.2 Out-of-order Core. 2-37 iii CONTENTS PAGE 2.3.2.3 Retirement . 2-37 2.3.3 Front End Pipeline Detail. 2-38 2.3.3.1 Prefetching. 2-38 2.3.3.2 Decoder . 2-38 2.3.3.3 Execution Trace Cache . 2-39 2.3.3.4 Branch Prediction . 2-39 2.3.4 Execution Core Detail . 2-40 2.3.4.1 Instruction Latency and Throughput . 2-40 2.3.4.2 Execution Units and Issue Ports . 2-41 2.3.4.3 Caches . 2-42 2.3.4.4 Data Prefetch . 2-44 2.3.4.5 Loads and Stores . ..

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    606 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us