Intel 64 and IA-32 Architectures Software Developer s Manual

Size: px
Start display at page:

Download "Intel 64 and IA-32 Architectures Software Developer s Manual"

Transcription

1 Intel 64 and IA-32 Architectures Software Developer s Manual Volume 3A: System Programming Guide, Part 1 NOTE: The Intel 64 and IA-32 Architectures Software Developer's Manual consists of eight volumes: Basic Architecture, Order Number ; Instruction Set Reference A-M, Order Number ; Instruction Set Reference N-Z, Order Number ; Instruction Set Reference, Order Number ; System Programming Guide, Part 1, Order Number ; System Programming Guide, Part 2, Order Number ; System Programming Guide, Part 3, Order Number ; System Programming Guide, Part 4, Order Number Refer to all eight volumes when evaluating your design needs. Order Number: US September 2015

2 Intel technologies features and benefits depend on system configuration and may require enabled hardware, software, or service activation. Learn more at intel.com, or from the OEM or retailer. No computer system can be absolutely secure. Intel does not assume any liability for lost or stolen data or systems or any damages resulting from such losses. You may not use or facilitate the use of this document in connection with any infringement or other legal analysis concerning Intel products described herein. You agree to grant Intel a non-exclusive, royalty-free license to any patent claim thereafter drafted which includes subject matter disclosed herein. No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document. The products described 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. This document contains information on products, services and/or processes in development. All information provided here is subject to change without notice. Contact your Intel representative to obtain the latest Intel product specifications and roadmaps Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling , or by visiting Intel, the Intel logo, Intel Atom, Intel Core, Intel SpeedStep, MMX, Pentium, VTune, and Xeon are trademarks of Intel Corporation in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others. Copyright , Intel Corporation. All Rights Reserved.

3 CONTENTS CHAPTER 1 ABOUT THIS MANUAL 1.1 INTEL 64 AND IA-32 PROCESSORS COVERED IN THIS MANUAL OVERVIEW OF THE SYSTEM PROGRAMMING GUIDE NOTATIONAL CONVENTIONS Bit and Byte Order Reserved Bits and Software Compatibility Instruction Operands Hexadecimal and Binary Numbers Segmented Addressing Syntax for CPUID, CR, and MSR Values Exceptions RELATED LITERATURE CHAPTER 2 SYSTEM ARCHITECTURE OVERVIEW 2.1 OVERVIEW OF THE SYSTEM-LEVEL ARCHITECTURE Global and Local Descriptor Tables Global and Local Descriptor Tables in IA-32e Mode System Segments, Segment Descriptors, and Gates Gates in IA-32e Mode Task-State Segments and Task Gates Task-State Segments in IA-32e Mode Interrupt and Exception Handling Interrupt and Exception Handling IA-32e Mode Memory Management Memory Management in IA-32e Mode System Registers System Registers in IA-32e Mode Other System Resources MODES OF OPERATION Extended Feature Enable Register SYSTEM FLAGS AND FIELDS IN THE EFLAGS REGISTER System Flags and Fields in IA-32e Mode MEMORY-MANAGEMENT REGISTERS Global Descriptor Table Register (GDTR) Local Descriptor Table Register (LDTR) IDTR Interrupt Descriptor Table Register Task Register (TR) CONTROL REGISTERS CPUID Qualification of Control Register Flags EXTENDED CONTROL REGISTERS (INCLUDING XCR0) PROTECTION KEY RIGHTS REGISTER (PKRU) SYSTEM INSTRUCTION SUMMARY Loading and Storing System Registers Verifying of Access Privileges Loading and Storing Debug Registers Invalidating Caches and TLBs Controlling the Processor Reading Performance-Monitoring and Time-Stamp Counters Reading Counters in 64-Bit Mode Reading and Writing Model-Specific Registers Reading and Writing Model-Specific Registers in 64-Bit Mode Enabling Processor Extended States CHAPTER 3 PROTECTED-MODE MEMORY MANAGEMENT 3.1 MEMORY MANAGEMENT OVERVIEW PAGE Vol. 3A iii

4 CONTENTS iv Vol. 3A PAGE 3.2 USING SEGMENTS Basic Flat Model Protected Flat Model Multi-Segment Model Segmentation in IA-32e Mode Paging and Segmentation PHYSICAL ADDRESS SPACE Intel 64 Processors and Physical Address Space LOGICAL AND LINEAR ADDRESSES Logical Address Translation in IA-32e Mode Segment Selectors Segment Registers Segment Loading Instructions in IA-32e Mode Segment Descriptors Code- and Data-Segment Descriptor Types SYSTEM DESCRIPTOR TYPES Segment Descriptor Tables Segment Descriptor Tables in IA-32e Mode CHAPTER 4 PAGING 4.1 PAGING MODES AND CONTROL BITS Three Paging Modes Paging-Mode Enabling Paging-Mode Modifiers Enumeration of Paging Features by CPUID HIERARCHICAL PAGING STRUCTURES: AN OVERVIEW BIT PAGING PAE PAGING PDPTE Registers Linear-Address Translation with PAE Paging IA-32E PAGING ACCESS RIGHTS Determination of Access Rights Protection Keys PAGE-FAULT EXCEPTIONS ACCESSED AND DIRTY FLAGS PAGING AND MEMORY TYPING Paging and Memory Typing When the PAT is Not Supported (Pentium Pro and Pentium II Processors) Paging and Memory Typing When the PAT is Supported (Pentium III and More Recent Processor Families) Caching Paging-Related Information about Memory Typing CACHING TRANSLATION INFORMATION Process-Context Identifiers (PCIDs) Translation Lookaside Buffers (TLBs) Page Numbers, Page Frames, and Page Offsets Caching Translations in TLBs Details of TLB Use Global Pages Paging-Structure Caches Caches for Paging Structures Using the Paging-Structure Caches to Translate Linear Addresses Multiple Cached Entries for a Single Paging-Structure Entry Invalidation of TLBs and Paging-Structure Caches Operations that Invalidate TLBs and Paging-Structure Caches Recommended Invalidation Optional Invalidation Delayed Invalidation Propagation of Paging-Structure Changes to Multiple Processors INTERACTIONS WITH VIRTUAL-MACHINE EXTENSIONS (VMX) VMX Transitions VMX Support for Address Translation USING PAGING FOR VIRTUAL MEMORY MAPPING SEGMENTS TO PAGES

5 CONTENTS CHAPTER 5 PROTECTION 5.1 ENABLING AND DISABLING SEGMENT AND PAGE PROTECTION FIELDS AND FLAGS USED FOR SEGMENT-LEVEL AND PAGE-LEVEL PROTECTION Code Segment Descriptor in 64-bit Mode LIMIT CHECKING Limit Checking in 64-bit Mode TYPE CHECKING Null Segment Selector Checking NULL Segment Checking in 64-bit Mode PRIVILEGE LEVELS PRIVILEGE LEVEL CHECKING WHEN ACCESSING DATA SEGMENTS Accessing Data in Code Segments PRIVILEGE LEVEL CHECKING WHEN LOADING THE SS REGISTER PRIVILEGE LEVEL CHECKING WHEN TRANSFERRING PROGRAM CONTROL BETWEEN CODE SEGMENTS Direct Calls or Jumps to Code Segments Accessing Nonconforming Code Segments Accessing Conforming Code Segments Gate Descriptors Call Gates IA-32e Mode Call Gates Accessing a Code Segment Through a Call Gate Stack Switching Stack Switching in 64-bit Mode Returning from a Called Procedure Performing Fast Calls to System Procedures with the SYSENTER and SYSEXIT Instructions SYSENTER and SYSEXIT Instructions in IA-32e Mode Fast System Calls in 64-Bit Mode PRIVILEGED INSTRUCTIONS POINTER VALIDATION Checking Access Rights (LAR Instruction) Checking Read/Write Rights (VERR and VERW Instructions) Checking That the Pointer Offset Is Within Limits (LSL Instruction) Checking Caller Access Privileges (ARPL Instruction) Checking Alignment PAGE-LEVEL PROTECTION Page-Protection Flags Restricting Addressable Domain Page Type Combining Protection of Both Levels of Page Tables Overrides to Page Protection COMBINING PAGE AND SEGMENT PROTECTION PAGE-LEVEL PROTECTION AND EXECUTE-DISABLE BIT Detecting and Enabling the Execute-Disable Capability Execute-Disable Page Protection Reserved Bit Checking Exception Handling CHAPTER 6 INTERRUPT AND EXCEPTION HANDLING 6.1 INTERRUPT AND EXCEPTION OVERVIEW EXCEPTION AND INTERRUPT VECTORS SOURCES OF INTERRUPTS External Interrupts Maskable Hardware Interrupts Software-Generated Interrupts SOURCES OF EXCEPTIONS Program-Error Exceptions Software-Generated Exceptions Machine-Check Exceptions EXCEPTION CLASSIFICATIONS PAGE Vol. 3A v

6 CONTENTS 6.6 PROGRAM OR TASK RESTART NONMASKABLE INTERRUPT (NMI) Handling Multiple NMIs ENABLING AND DISABLING INTERRUPTS Masking Maskable Hardware Interrupts Masking Instruction Breakpoints Masking Exceptions and Interrupts When Switching Stacks PRIORITY AMONG SIMULTANEOUS EXCEPTIONS AND INTERRUPTS INTERRUPT DESCRIPTOR TABLE (IDT) IDT DESCRIPTORS EXCEPTION AND INTERRUPT HANDLING Exception- or Interrupt-Handler Procedures Protection of Exception- and Interrupt-Handler Procedures Flag Usage By Exception- or Interrupt-Handler Procedure Interrupt Tasks ERROR CODE EXCEPTION AND INTERRUPT HANDLING IN 64-BIT MODE Bit Mode IDT Bit Mode Stack Frame IRET in IA-32e Mode Stack Switching in IA-32e Mode Interrupt Stack Table EXCEPTION AND INTERRUPT REFERENCE Interrupt 0 Divide Error Exception (#DE) Interrupt 1 Debug Exception (#DB) Interrupt 2 NMI Interrupt Interrupt 3 Breakpoint Exception (#BP) Interrupt 4 Overflow Exception (#OF) Interrupt 5 BOUND Range Exceeded Exception (#BR) Interrupt 6 Invalid Opcode Exception (#UD) Interrupt 7 Device Not Available Exception (#NM) Interrupt 8 Double Fault Exception (#DF) Interrupt 9 Coprocessor Segment Overrun Interrupt 10 Invalid TSS Exception (#TS) Interrupt 11 Segment Not Present (#NP) Interrupt 12 Stack Fault Exception (#SS) Interrupt 13 General Protection Exception (#GP) Interrupt 14 Page-Fault Exception (#PF) Interrupt 16 x87 FPU Floating-Point Error (#MF) Interrupt 17 Alignment Check Exception (#AC) Interrupt 18 Machine-Check Exception (#MC) Interrupt 19 SIMD Floating-Point Exception (#XM) Interrupt 20 Virtualization Exception (#VE) Interrupts 32 to 255 User Defined Interrupts CHAPTER 7 TASK MANAGEMENT 7.1 TASK MANAGEMENT OVERVIEW Task Structure Task State Executing a Task TASK MANAGEMENT DATA STRUCTURES Task-State Segment (TSS) TSS Descriptor TSS Descriptor in 64-bit mode Task Register Task-Gate Descriptor TASK SWITCHING TASK LINKING Use of Busy Flag To Prevent Recursive Task Switching Modifying Task Linkages PAGE vi Vol. 3A

7 CONTENTS 7.5 TASK ADDRESS SPACE Mapping Tasks to the Linear and Physical Address Spaces Task Logical Address Space BIT TASK-STATE SEGMENT (TSS) TASK MANAGEMENT IN 64-BIT MODE CHAPTER 8 MULTIPLE-PROCESSOR MANAGEMENT 8.1 LOCKED ATOMIC OPERATIONS Guaranteed Atomic Operations Bus Locking Automatic Locking Software Controlled Bus Locking Handling Self- and Cross-Modifying Code Effects of a LOCK Operation on Internal Processor Caches MEMORY ORDERING Memory Ordering in the Intel Pentium and Intel486 Processors Memory Ordering in P6 and More Recent Processor Families Examples Illustrating the Memory-Ordering Principles Assumptions, Terminology, and Notation Neither Loads Nor Stores Are Reordered with Like Operations Stores Are Not Reordered With Earlier Loads Loads May Be Reordered with Earlier Stores to Different Locations Intra-Processor Forwarding Is Allowed Stores Are Transitively Visible Stores Are Seen in a Consistent Order by Other Processors Locked Instructions Have a Total Order Loads and Stores Are Not Reordered with Locked Instructions Fast-String Operation and Out-of-Order Stores Memory-Ordering Model for String Operations on Write-Back (WB) Memory Examples Illustrating Memory-Ordering Principles for String Operations Strengthening or Weakening the Memory-Ordering Model SERIALIZING INSTRUCTIONS MULTIPLE-PROCESSOR (MP) INITIALIZATION BSP and AP Processors MP Initialization Protocol Requirements and Restrictions MP Initialization Protocol Algorithm for MP Systems MP Initialization Example Typical BSP Initialization Sequence Typical AP Initialization Sequence Identifying Logical Processors in an MP System INTEL HYPER-THREADING TECHNOLOGY AND INTEL MULTI-CORE TECHNOLOGY DETECTING HARDWARE MULTI-THREADING SUPPORT AND TOPOLOGY Initializing Processors Supporting Hyper-Threading Technology Initializing Multi-Core Processors Executing Multiple Threads on an Intel 64 or IA-32 Processor Supporting Hardware Multi-Threading Handling Interrupts on an IA-32 Processor Supporting Hardware Multi-Threading INTEL HYPER-THREADING TECHNOLOGY ARCHITECTURE State of the Logical Processors APIC Functionality Memory Type Range Registers (MTRR) Page Attribute Table (PAT) Machine Check Architecture Debug Registers and Extensions Performance Monitoring Counters IA32_MISC_ENABLE MSR Memory Ordering Serializing Instructions Microcode Update Resources Self Modifying Code Implementation-Specific Intel HT Technology Facilities Processor Caches Processor Translation Lookaside Buffers (TLBs) Thermal Monitor PAGE Vol. 3A vii

8 CONTENTS External Signal Compatibility MULTI-CORE ARCHITECTURE Logical Processor Support Memory Type Range Registers (MTRR) Performance Monitoring Counters IA32_MISC_ENABLE MSR Microcode Update Resources PROGRAMMING CONSIDERATIONS FOR HARDWARE MULTI-THREADING CAPABLE PROCESSORS Hierarchical Mapping of Shared Resources Hierarchical Mapping of CPUID Extended Topology Leaf Hierarchical ID of Logical Processors in an MP System Hierarchical ID of Logical Processors with x2apic ID Algorithm for Three-Level Mappings of APIC_ID Identifying Topological Relationships in a MP System MANAGEMENT OF IDLE AND BLOCKED CONDITIONS HLT Instruction PAUSE Instruction Detecting Support MONITOR/MWAIT Instruction MONITOR/MWAIT Instruction Monitor/Mwait Address Range Determination Required Operating System Support Use the PAUSE Instruction in Spin-Wait Loops Potential Usage of MONITOR/MWAIT in C0 Idle Loops Halt Idle Logical Processors Potential Usage of MONITOR/MWAIT in C1 Idle Loops Guidelines for Scheduling Threads on Logical Processors Sharing Execution Resources Eliminate Execution-Based Timing Loops Place Locks and Semaphores in Aligned, 128-Byte Blocks of Memory MP INITIALIZATION FOR P6 FAMILY PROCESSORS Overview of the MP Initialization Process For P6 Family Processors MP Initialization Protocol Algorithm Error Detection and Handling During the MP Initialization Protocol CHAPTER 9 PROCESSOR MANAGEMENT AND INITIALIZATION 9.1 INITIALIZATION OVERVIEW Processor State After Reset Processor Built-In Self-Test (BIST) Model and Stepping Information First Instruction Executed X87 FPU INITIALIZATION Configuring the x87 FPU Environment Setting the Processor for x87 FPU Software Emulation CACHE ENABLING MODEL-SPECIFIC REGISTERS (MSRS) MEMORY TYPE RANGE REGISTERS (MTRRS) INITIALIZING SSE/SSE2/SSE3/SSSE3 EXTENSIONS SOFTWARE INITIALIZATION FOR REAL-ADDRESS MODE OPERATION Real-Address Mode IDT NMI Interrupt Handling SOFTWARE INITIALIZATION FOR PROTECTED-MODE OPERATION Protected-Mode System Data Structures Initializing Protected-Mode Exceptions and Interrupts Initializing Paging Initializing Multitasking Initializing IA-32e Mode IA-32e Mode System Data Structures IA-32e Mode Interrupts and Exceptions bit Mode and Compatibility Mode Operation Switching Out of IA-32e Mode Operation MODE SWITCHING Switching to Protected Mode Switching Back to Real-Address Mode INITIALIZATION AND MODE SWITCHING EXAMPLE PAGE viii Vol. 3A

9 Vol. 3A ix CONTENTS PAGE Assembler Usage STARTUP.ASM Listing MAIN.ASM Source Code Supporting Files MICROCODE UPDATE FACILITIES Microcode Update Optional Extended Signature Table Processor Identification Platform Identification Microcode Update Checksum Microcode Update Loader Hard Resets in Update Loading Update in a Multiprocessor System Update in a System Supporting Intel Hyper-Threading Technology Update in a System Supporting Dual-Core Technology Update Loader Enhancements Update Signature and Verification Determining the Signature Authenticating the Update Optional Processor Microcode Update Specifications Responsibilities of the BIOS Responsibilities of the Calling Program Microcode Update Functions INT 15H-based Interface Function 00H Presence Test Function 01H Write Microcode Update Data Function 02H Microcode Update Control Function 03H Read Microcode Update Data Return Codes CHAPTER 10 ADVANCED PROGRAMMABLE INTERRUPT CONTROLLER (APIC) 10.1 LOCAL AND I/O APIC OVERVIEW SYSTEM BUS VS. APIC BUS THE INTEL 82489DX EXTERNAL APIC, THE APIC, THE XAPIC, AND THE X2APIC LOCAL APIC The Local APIC Block Diagram Presence of the Local APIC Enabling or Disabling the Local APIC Local APIC Status and Location Relocating the Local APIC Registers Local APIC ID Local APIC State Local APIC State After Power-Up or Reset Local APIC State After It Has Been Software Disabled Local APIC State After an INIT Reset ( Wait-for-SIPI State) Local APIC State After It Receives an INIT-Deassert IPI Local APIC Version Register HANDLING LOCAL INTERRUPTS Local Vector Table Valid Interrupt Vectors Error Handling APIC Timer TSC-Deadline Mode Local Interrupt Acceptance ISSUING INTERPROCESSOR INTERRUPTS Interrupt Command Register (ICR) Determining IPI Destination Physical Destination Mode Logical Destination Mode Broadcast/Self Delivery Mode Lowest Priority Delivery Mode

10 CONTENTS IPI Delivery and Acceptance SYSTEM AND APIC BUS ARBITRATION HANDLING INTERRUPTS Interrupt Handling with the Pentium 4 and Intel Xeon Processors Interrupt Handling with the P6 Family and Pentium Processors Interrupt, Task, and Processor Priority Task and Processor Priorities Interrupt Acceptance for Fixed Interrupts Signaling Interrupt Servicing Completion Task Priority in IA-32e Mode Interaction of Task Priorities between CR8 and APIC SPURIOUS INTERRUPT APIC BUS MESSAGE PASSING MECHANISM AND PROTOCOL (P6 FAMILY, PENTIUM PROCESSORS) Bus Message Formats MESSAGE SIGNALLED INTERRUPTS Message Address Register Format Message Data Register Format EXTENDED XAPIC (X2APIC) Detecting and Enabling x2apic Mode Instructions to Access APIC Registers x2apic Register Address Space Reserved Bit Checking x2apic Register Availability MSR Access in x2apic Mode VM-Exit Controls for MSRs and x2apic Registers x2apic State Transitions x2apic States x2apic After Reset x2apic Transitions From x2apic Mode x2apic Transitions From Disabled Mode State Changes From xapic Mode to x2apic Mode Routing of Device Interrupts in x2apic Mode Initialization by System Software CPUID Extensions And Topology Enumeration Consistency of APIC IDs and CPUID ICR Operation in x2apic Mode Determining IPI Destination in x2apic Mode Logical Destination Mode in x2apic Mode Deriving Logical x2apic ID from the Local x2apic ID SELF IPI Register APIC BUS MESSAGE FORMATS Bus Message Formats EOI Message Short Message Non-focused Lowest Priority Message APIC Bus Status Cycles CHAPTER 11 MEMORY CACHE CONTROL 11.1 INTERNAL CACHES, TLBS, AND BUFFERS CACHING TERMINOLOGY METHODS OF CACHING AVAILABLE Buffering of Write Combining Memory Locations Choosing a Memory Type Code Fetches in Uncacheable Memory CACHE CONTROL PROTOCOL CACHE CONTROL Cache Control Registers and Bits Precedence of Cache Controls Selecting Memory Types for Pentium Pro and Pentium II Processors Selecting Memory Types for Pentium III and More Recent Processor Families Writing Values Across Pages with Different Memory Types PAGE x Vol. 3A

11 CONTENTS Preventing Caching Disabling and Enabling the L3 Cache Cache Management Instructions L1 Data Cache Context Mode Adaptive Mode Shared Mode SELF-MODIFYING CODE IMPLICIT CACHING (PENTIUM 4, INTEL XEON, AND P6 FAMILY PROCESSORS) EXPLICIT CACHING INVALIDATING THE TRANSLATION LOOKASIDE BUFFERS (TLBS) STORE BUFFER MEMORY TYPE RANGE REGISTERS (MTRRS) MTRR Feature Identification Setting Memory Ranges with MTRRs IA32_MTRR_DEF_TYPE MSR Fixed Range MTRRs Variable Range MTRRs System-Management Range Register Interface Example Base and Mask Calculations Base and Mask Calculations for Greater-Than 36-bit Physical Address Support Range Size and Alignment Requirement MTRR Precedences MTRR Initialization Remapping Memory Types MTRR Maintenance Programming Interface MemTypeGet() Function MemTypeSet() Function MTRR Considerations in MP Systems Large Page Size Considerations PAGE ATTRIBUTE TABLE (PAT) Detecting Support for the PAT Feature IA32_PAT MSR Selecting a Memory Type from the PAT Programming the PAT PAT Compatibility with Earlier IA-32 Processors CHAPTER 12 INTEL MMX TECHNOLOGY SYSTEM PROGRAMMING 12.1 EMULATION OF THE MMX INSTRUCTION SET THE MMX STATE AND MMX REGISTER ALIASING Effect of MMX, x87 FPU, FXSAVE, and FXRSTOR Instructions on the x87 FPU Tag Word SAVING AND RESTORING THE MMX STATE AND REGISTERS SAVING MMX STATE ON TASK OR CONTEXT SWITCHES EXCEPTIONS THAT CAN OCCUR WHEN EXECUTING MMX INSTRUCTIONS Effect of MMX Instructions on Pending x87 Floating-Point Exceptions DEBUGGING MMX CODE CHAPTER 13 SYSTEM PROGRAMMING FOR INSTRUCTION SET EXTENSIONS AND PROCESSOR EXTENDED STATES 13.1 PROVIDING OPERATING SYSTEM SUPPORT FOR SSE EXTENSIONS Adding Support to an Operating System for SSE Extensions Checking for CPU Support Initialization of the SSE Extensions Providing Non-Numeric Exception Handlers for Exceptions Generated by the SSE Instructions Providing a Handler for the SIMD Floating-Point Exception (#XM) Numeric Error flag and IGNNE# EMULATION OF SSE EXTENSIONS SAVING AND RESTORING SSE STATE DESIGNING OS FACILITIES FOR SAVING X87 FPU, SSE AND EXTENDED STATES ON TASK OR CONTEXT SWITCHES PAGE Vol. 3A xi

12 CONTENTS Using the TS Flag to Control the Saving of the x87 FPU and SSE State THE XSAVE FEATURE SET AND PROCESSOR EXTENDED STATE MANAGEMENT Checking the Support for XSAVE Feature Set Determining the XSAVE Managed Feature States And The Required Buffer Size Enable the Use Of XSAVE Feature Set And XSAVE State Components Provide an Initialization for the XSAVE State Components Providing the Required Exception Handlers INTEROPERABILITY OF THE XSAVE FEATURE SET AND FXSAVE/FXRSTOR THE XSAVE FEATURE SET AND PROCESSOR SUPERVISOR STATE MANAGEMENT SYSTEM PROGRAMMING FOR XSAVE MANAGED FEATURES Intel Advanced Vector Extensions (Intel AVX) Intel Advanced Vector Extensions 512 (Intel AVX-512) CHAPTER 14 POWER AND THERMAL MANAGEMENT 14.1 ENHANCED INTEL SPEEDSTEP TECHNOLOGY Software Interface For Initiating Performance State Transitions P-STATE HARDWARE COORDINATION SYSTEM SOFTWARE CONSIDERATIONS AND OPPORTUNISTIC PROCESSOR PERFORMANCE OPERATION Intel Dynamic Acceleration System Software Interfaces for Opportunistic Processor Performance Operation Discover Hardware Support and Enabling of Opportunistic Processor Operation OS Control of Opportunistic Processor Performance Operation Required Changes to OS Power Management P-state Policy Application Awareness of Opportunistic Processor Operation (Optional) Intel Turbo Boost Technology Performance and Energy Bias Hint support HARDWARE-CONTROLLED PERFORMANCE STATES (HWP) HWP Programming Interfaces Enabling HWP HWP Performance Range and Dynamic Capabilities Managing HWP HWP Feedback Non-Architectural HWP Feedback HWP Notifications Recommendations for OS use of HWP Controls HARDWARE DUTY CYCLING (HDC) Hardware Duty Cycling Programming Interfaces Package level Enabling HDC Logical-Processor Level HDC Control HDC Residency Counters IA32_THREAD_STALL Non-Architectural HDC Residency Counters MPERF and APERF Counters Under HDC MWAIT EXTENSIONS FOR ADVANCED POWER MANAGEMENT THERMAL MONITORING AND PROTECTION Catastrophic Shutdown Detector Thermal Monitor Thermal Monitor Thermal Monitor Two Methods for Enabling TM Performance State Transitions and Thermal Monitoring Thermal Status Information Adaptive Thermal Monitor Software Controlled Clock Modulation Extension of Software Controlled Clock Modulation Detection of Thermal Monitor and Software Controlled Clock Modulation Facilities Detection of Software Controlled Clock Modulation Extension On Die Digital Thermal Sensors Digital Thermal Sensor Enumeration Reading the Digital Sensor Power Limit Notification PACKAGE LEVEL THERMAL MANAGEMENT PAGE xii Vol. 3A

13 CONTENTS Support for Passive and Active cooling PLATFORM SPECIFIC POWER MANAGEMENT SUPPORT RAPL Interfaces RAPL Domains and Platform Specificity Package RAPL Domain PP0/PP1 RAPL Domains DRAM RAPL Domain CHAPTER 15 MACHINE-CHECK ARCHITECTURE 15.1 MACHINE-CHECK ARCHITECTURE COMPATIBILITY WITH PENTIUM PROCESSOR MACHINE-CHECK MSRS Machine-Check Global Control MSRs IA32_MCG_CAP MSR IA32_MCG_STATUS MSR IA32_MCG_CTL MSR IA32_MCG_EXT_CTL MSR Enabling Local Machine Check Error-Reporting Register Banks IA32_MCi_CTL MSRs IA32_MCi_STATUS MSRS IA32_MCi_ADDR MSRs IA32_MCi_MISC MSRs IA32_MCi_CTL2 MSRs IA32_MCG Extended Machine Check State MSRs Mapping of the Pentium Processor Machine-Check Errors to the Machine-Check Architecture ENHANCED CACHE ERROR REPORTING CORRECTED MACHINE CHECK ERROR INTERRUPT CMCI Local APIC Interface System Software Recommendation for Managing CMCI and Machine Check Resources CMCI Initialization CMCI Threshold Management CMCI Interrupt Handler RECOVERY OF UNCORRECTED RECOVERABLE (UCR) ERRORS Detection of Software Error Recovery Support UCR Error Reporting and Logging UCR Error Classification UCR Error Overwrite Rules MACHINE-CHECK AVAILABILITY MACHINE-CHECK INITIALIZATION INTERPRETING THE MCA ERROR CODES Simple Error Codes Compound Error Codes Correction Report Filtering (F) Bit Transaction Type (TT) Sub-Field Level (LL) Sub-Field Request (RRRR) Sub-Field Bus and Interconnect Errors Memory Controller Errors Architecturally Defined UCR Errors Architecturally Defined SRAO Errors Architecturally Defined SRAR Errors Multiple MCA Errors Machine-Check Error Codes Interpretation GUIDELINES FOR WRITING MACHINE-CHECK SOFTWARE Machine-Check Exception Handler Pentium Processor Machine-Check Exception Handling Logging Correctable Machine-Check Errors Machine-Check Software Handler Guidelines for Error Recovery Machine-Check Exception Handler for Error Recovery Corrected Machine-Check Handler for Error Recovery PAGE Vol. 3A xiii

14 CONTENTS CHAPTER 16 INTERPRETING MACHINE-CHECK ERROR CODES 16.1 INCREMENTAL DECODING INFORMATION: PROCESSOR FAMILY 06H MACHINE ERROR CODES FOR MACHINE CHECK INCREMENTAL DECODING INFORMATION: INTEL CORE 2 PROCESSOR FAMILY MACHINE ERROR CODES FOR MACHINE CHECK Model-Specific Machine Check Error Codes for Intel Xeon Processor 7400 Series Processor Machine Check Status Register Incremental MCA Error Code Definition Intel Xeon Processor 7400 Model Specific Error Code Field Processor Model Specific Error Code Field Type B: Bus and Interconnect Error Processor Model Specific Error Code Field Type C: Cache Bus Controller Error INCREMENTAL DECODING INFORMATION: PROCESSOR FAMILY WITH CPUID DISPLAYFAMILY_DISPLAYMODEL SIGNATURE 06_1AH, MACHINE ERROR CODES FOR MACHINE CHECK Intel QPI Machine Check Errors Internal Machine Check Errors Memory Controller Errors INCREMENTAL DECODING INFORMATION: PROCESSOR FAMILY WITH CPUID DISPLAYFAMILY_DISPLAYMODEL SIGNATURE 06_2DH, MACHINE ERROR CODES FOR MACHINE CHECK Internal Machine Check Errors Intel QPI Machine Check Errors Integrated Memory Controller Machine Check Errors INCREMENTAL DECODING INFORMATION: PROCESSOR FAMILY WITH CPUID DISPLAYFAMILY_DISPLAYMODEL SIGNATURE 06_3EH, MACHINE ERROR CODES FOR MACHINE CHECK Internal Machine Check Errors Integrated Memory Controller Machine Check Errors INCREMENTAL DECODING INFORMATION: PROCESSOR FAMILY WITH CPUID DISPLAYFAMILY_DISPLAYMODEL SIGNATURE 06_3FH, MACHINE ERROR CODES FOR MACHINE CHECK Internal Machine Check Errors Intel QPI Machine Check Errors Integrated Memory Controller Machine Check Errors INCREMENTAL DECODING INFORMATION: PROCESSOR FAMILY 0FH MACHINE ERROR CODES FOR MACHINE CHECK Model-Specific Machine Check Error Codes for Intel Xeon Processor MP 7100 Series Processor Machine Check Status Register MCA Error Code Definition Other_Info Field (all MCA Error Types) Processor Model Specific Error Code Field MCA Error Type A: L3 Error Processor Model Specific Error Code Field Type B: Bus and Interconnect Error Processor Model Specific Error Code Field Type C: Cache Bus Controller Error CHAPTER 17 DEBUG, BRANCH PROFILE, TSC, AND RESOURCE MONITORING FEATURES 17.1 OVERVIEW OF DEBUG SUPPORT FACILITIES DEBUG REGISTERS Debug Address Registers (DR0-DR3) Debug Registers DR4 and DR Debug Status Register (DR6) Debug Control Register (DR7) Breakpoint Field Recognition Debug Registers and Intel 64 Processors DEBUG EXCEPTIONS Debug Exception (#DB) Interrupt Vector Instruction-Breakpoint Exception Condition Data Memory and I/O Breakpoint Exception Conditions General-Detect Exception Condition Single-Step Exception Condition Task-Switch Exception Condition Breakpoint Exception (#BP) Interrupt Vector Debug Exceptions, Breakpoint Exceptions, and Restricted Transactional Memory (RTM) LAST BRANCH, INTERRUPT, AND EXCEPTION RECORDING OVERVIEW PAGE xiv Vol. 3A

15 CONTENTS IA32_DEBUGCTL MSR Monitoring Branches, Exceptions, and Interrupts Single-Stepping on Branches Branch Trace Messages Branch Trace Message Visibility Branch Trace Store (BTS) CPL-Qualified Branch Trace Mechanism Freezing LBR and Performance Counters on PMI LBR Stack LBR Stack and Intel 64 Processors LBR Stack and IA-32 Processors Last Exception Records and Intel 64 Architecture BTS and DS Save Area Bit Format of the DS Save Area Setting Up the DS Save Area Setting Up the BTS Buffer Setting Up CPL-Qualified BTS Writing the DS Interrupt Service Routine LAST BRANCH, INTERRUPT, AND EXCEPTION RECORDING (INTEL CORE 2 DUO AND INTEL ATOM PROCESSOR FAMILY) LBR Stack LAST BRANCH, INTERRUPT, AND EXCEPTION RECORDING FOR PROCESSORS BASED ON INTEL MICROARCHITECTURE CODE NAME NEHALEM LBR Stack Filtering of Last Branch Records LAST BRANCH, INTERRUPT, AND EXCEPTION RECORDING FOR PROCESSORS BASED ON INTEL MICROARCHITECTURE CODE NAME SANDY BRIDGE LAST BRANCH, CALL STACK, INTERRUPT, AND EXCEPTION RECORDING FOR PROCESSORS BASED ON HASWELL MICROARCHITECTURE LBR Stack Enhancement LAST BRANCH, CALL STACK, INTERRUPT, AND EXCEPTION RECORDING FOR PROCESSORS BASED ON SKYLAKE MICROARCHITECTURE MSR_LBR_INFO_x MSR Streamlined Freeze_LBRs_On_PMI Operation LBR behavior on software C LAST BRANCH, INTERRUPT, AND EXCEPTION RECORDING (PROCESSORS BASED ON INTEL NETBURST MICROARCHITECTURE) MSR_DEBUGCTLA MSR LBR Stack for Processors Based on Intel NetBurst Microarchitecture Last Exception Records LAST BRANCH, INTERRUPT, AND EXCEPTION RECORDING (INTEL CORE SOLO AND INTEL CORE DUO PROCESSORS) LAST BRANCH, INTERRUPT, AND EXCEPTION RECORDING (PENTIUM M PROCESSORS) LAST BRANCH, INTERRUPT, AND EXCEPTION RECORDING (P6 FAMILY PROCESSORS) DEBUGCTLMSR Register Last Branch and Last Exception MSRs Monitoring Branches, Exceptions, and Interrupts TIME-STAMP COUNTER Invariant TSC IA32_TSC_AUX Register and RDTSCP Support Time-Stamp Counter Adjustment Invariant Time-Keeping PLATFORM SHARED RESOURCE MONITORING: CACHE MONITORING TECHNOLOGY Overview of Cache Monitoring Technology and Memory Bandwidth Monitoring Enabling Monitoring: Usage Flow Enumeration and Detecting Support of Cache Monitoring Technology and Memory Bandwidth Monitoring Monitoring Resource Type and Capability Enumeration Feature-Specific Enumeration Cache Monitoring Technology Memory Bandwidth Monitoring Monitoring Resource RMID Association Monitoring Resource Selection and Reporting Infrastructure Monitoring Programming Considerations Monitoring Dynamic Configuration PAGE Vol. 3A xv

16 CONTENTS Monitoring Operation With Power Saving Features Monitoring Operation with Other Operating Modes Monitoring Operation with RAS Features PLATFORM SHARED RESOURCE CONTROL: CACHE ALLOCATION TECHNOLOGY Cache Allocation Technology Architecture Code and Data Prioritization (CDP) Technology Enabling Cache Allocation Technology Usage Flow Enumeration and Detection Support of Cache Allocation Technology Cache Allocation Technology: Resource Type and Capability Enumeration Cache Mask Configuration Cache Mask Association Enumerating and Enabling CDP Technology Mapping Between CDP Masks and CAT Masks Disabling CDP Cache Allocation Technology Programming Considerations Cache Allocation Technology Dynamic Configuration Cache Allocation Technology Operation With Power Saving Features Cache Allocation Technology Operation with Other Operating Modes Associating Threads with CAT/CDP Classes of Service CHAPTER 18 PERFORMANCE MONITORING 18.1 PERFORMANCE MONITORING OVERVIEW ARCHITECTURAL PERFORMANCE MONITORING Architectural Performance Monitoring Version Architectural Performance Monitoring Version 1 Facilities Pre-defined Architectural Performance Events Architectural Performance Monitoring Version Architectural Performance Monitoring Version AnyThread Counting and Software Evolution Architectural Performance Monitoring Version Enhancement in IA32_PERF_GLOBAL_STATUS IA32_PERF_GLOBAL_STATUS_RESET and IA32_PERF_GLOBAL_STATUS_SET MSRS IA32_PERF_GLOBAL_INUSE MSR Full-Width Writes to Performance Counter Registers PERFORMANCE MONITORING (INTEL CORE SOLO AND INTEL CORE DUO PROCESSORS) PERFORMANCE MONITORING (PROCESSORS BASED ON INTEL CORE MICROARCHITECTURE) Fixed-function Performance Counters Global Counter Control Facilities At-Retirement Events Precise Event Based Sampling (PEBS) Setting up the PEBS Buffer PEBS Record Format Writing a PEBS Interrupt Service Routine Re-configuring PEBS Facilities PERFORMANCE MONITORING (PROCESSORS BASED ON INTEL ATOM MICROARCHITECTURE) PERFORMANCE MONITORING (PROCESSORS BASED ON THE SILVERMONT MICROARCHITECTURE) Enhancements of Performance Monitoring in the Processor Core Precise Event Based Sampling (PEBS) Offcore Response Event Average Offcore Request Latency Measurement PERFORMANCE MONITORING FOR PROCESSORS BASED ON INTEL MICROARCHITECTURE CODE NAME NEHALEM Enhancements of Performance Monitoring in the Processor Core Precise Event Based Sampling (PEBS) Load Latency Performance Monitoring Facility Off-core Response Performance Monitoring in the Processor Core Performance Monitoring Facility in the Uncore Uncore Performance Monitoring Management Facility Uncore Performance Event Configuration Facility Uncore Address/Opcode Match MSR Intel Xeon Processor 7500 Series Performance Monitoring Facility Performance Monitoring for Processors Based on Intel Microarchitecture Code Name Westmere Intel Xeon Processor E7 Family Performance Monitoring Facility PAGE xvi Vol. 3A

17 CONTENTS 18.8 PERFORMANCE MONITORING FOR PROCESSORS BASED ON INTEL MICROARCHITECTURE CODE NAME SANDY BRIDGE Global Counter Control Facilities In Intel Microarchitecture Code Name Sandy Bridge Counter Coalescence Full Width Writes to Performance Counters PEBS Support in Intel Microarchitecture Code Name Sandy Bridge PEBS Record Format Load Latency Performance Monitoring Facility Precise Store Facility Precise Distribution of Instructions Retired (PDIR) Off-core Response Performance Monitoring Uncore Performance Monitoring Facilities In Intel Core i7-2xxx, Intel Core i5-2xxx, Intel Core i3-2xxx Processor Series Uncore Performance Monitoring Events Intel Xeon Processor E5 Family Performance Monitoring Facility Intel Xeon Processor E5 Family Uncore Performance Monitoring Facility RD GENERATION INTEL CORE PROCESSOR PERFORMANCE MONITORING FACILITY Intel Xeon Processor E5 v2 and E7 v2 Family Uncore Performance Monitoring Facility TH GENERATION INTEL CORE PROCESSOR PERFORMANCE MONITORING FACILITY Precise Event Based Sampling (PEBS) Facility PEBS Data Format PEBS Data Address Profiling EventingIP Record Off-core Response Performance Monitoring Off-core Response Performance Monitoring in Intel Xeon Processors E5 v3 Series Performance Monitoring and Intel TSX Intel TSX and PEBS Support Uncore Performance Monitoring Facilities in the 4th Generation Intel Core Processors Intel Xeon Processor E5 v3 Family Uncore Performance Monitoring Facility INTEL CORE M PROCESSOR PERFORMANCE MONITORING FACILITY SIXTH GENERATION INTEL CORE PROCESSOR PERFORMANCE MONITORING FACILITY Precise Event Based Sampling (PEBS) Facility PEBS Data Format PEBS Events Data Address Profiling PEBS Facility for Front End Events FRONTEND_RETIRED Off-core Response Performance Monitoring PERFORMANCE MONITORING (PROCESSORS BASED ON INTEL NETBURST MICROARCHITECTURE) ESCR MSRs Performance Counters CCCR MSRs Debug Store (DS) Mechanism Programming the Performance Counters for Non-Retirement Events Selecting Events to Count Filtering Events Starting Event Counting Reading a Performance Counter s Count Halting Event Counting Cascading Counters EXTENDED CASCADING Generating an Interrupt on Overflow Counter Usage Guideline At-Retirement Counting Using At-Retirement Counting Tagging Mechanism for Front_end_event Tagging Mechanism For Execution_event Tagging Mechanism for Replay_event Precise Event-Based Sampling (PEBS) Detection of the Availability of the PEBS Facilities Setting Up the DS Save Area Setting Up the PEBS Buffer Writing a PEBS Interrupt Service Routine Other DS Mechanism Implications PAGE Vol. 3A xvii

18 CONTENTS Operating System Implications PERFORMANCE MONITORING AND INTEL HYPER-THREADING TECHNOLOGY IN PROCESSORS BASED ON INTEL NETBURST MICROARCHITECTURE ESCR MSRs CCCR MSRs IA32_PEBS_ENABLE MSR Performance Monitoring Events COUNTING CLOCKS Non-Halted Clockticks Non-Sleep Clockticks Incrementing the Time-Stamp Counter Non-Halted Reference Clockticks Cycle Counting and Opportunistic Processor Operation IA32_PERF_CAPABILITIES MSR ENUMERATION Filtering of SMM Handler Overhead PERFORMANCE MONITORING AND DUAL-CORE TECHNOLOGY PERFORMANCE MONITORING ON 64-BIT INTEL XEON PROCESSOR MP WITH UP TO 8-MBYTE L3 CACHE PERFORMANCE MONITORING ON L3 AND CACHING BUS CONTROLLER SUB-SYSTEMS Overview of Performance Monitoring with L3/Caching Bus Controller GBSQ Event Interface GSNPQ Event Interface FSB Event Interface FSB Sub-Event Mask Interface Common Event Control Interface PERFORMANCE MONITORING (P6 FAMILY PROCESSOR) PerfEvtSel0 and PerfEvtSel1 MSRs PerfCtr0 and PerfCtr1 MSRs Starting and Stopping the Performance-Monitoring Counters Event and Time-Stamp Monitoring Software Monitoring Counter Overflow PERFORMANCE MONITORING (PENTIUM PROCESSORS) Control and Event Select Register (CESR) Use of the Performance-Monitoring Pins Events Counted CHAPTER 19 PERFORMANCE-MONITORING EVENTS 19.1 ARCHITECTURAL PERFORMANCE-MONITORING EVENTS PERFORMANCE MONITORING EVENTS FOR NEXT GENERATION INTEL CORE PROCESSOR PERFORMANCE MONITORING EVENTS FOR THE INTEL CORE M AND FIFTH GENERATION INTEL CORE PROCESSORS PERFORMANCE MONITORING EVENTS FOR THE 4TH GENERATION INTEL CORE PROCESSORS Performance Monitoring Events in the Processor Core of Intel Xeon Processor E5 v3 Family PERFORMANCE MONITORING EVENTS FOR 3RD GENERATION INTEL CORE PROCESSORS Performance Monitoring Events in the Processor Core of Intel Xeon Processor E5 v2 Family and Intel Xeon Processor E7 v2 Family PERFORMANCE MONITORING EVENTS FOR 2ND GENERATION INTEL CORE I7-2XXX, INTEL CORE I5-2XXX, INTEL CORE I3-2XXX PROCESSOR SERIES PERFORMANCE MONITORING EVENTS FOR INTEL CORE I7 PROCESSOR FAMILY AND INTEL XEON PROCESSOR FAMILY PERFORMANCE MONITORING EVENTS FOR PROCESSORS BASED ON INTEL MICROARCHITECTURE CODE NAME WESTMERE PERFORMANCE MONITORING EVENTS FOR INTEL XEON PROCESSOR 5200, 5400 SERIES AND INTEL CORE 2 EXTREME PROCESSORS QX 9000 SERIES PERFORMANCE MONITORING EVENTS FOR INTEL XEON PROCESSOR 3000, 3200, 5100, 5300 SERIES AND INTEL CORE 2 DUO PROCESSORS PERFORMANCE MONITORING EVENTS FOR PROCESSORS BASED ON THE SILVERMONT MICROARCHITECTURE Performance Monitoring Events for Processors Based on the Airmont Microarchitecture PERFORMANCE MONITORING EVENTS FOR INTEL ATOM PROCESSORS PERFORMANCE MONITORING EVENTS FOR INTEL CORE SOLO AND INTEL CORE DUO PROCESSORS PENTIUM 4 AND INTEL XEON PROCESSOR PERFORMANCE-MONITORING EVENTS PERFORMANCE MONITORING EVENTS FOR INTEL PENTIUM M PROCESSORS P6 FAMILY PROCESSOR PERFORMANCE-MONITORING EVENTS PENTIUM PROCESSOR PERFORMANCE-MONITORING EVENTS PAGE xviii Vol. 3A

19 CONTENTS CHAPTER EMULATION 20.1 REAL-ADDRESS MODE Address Translation in Real-Address Mode Registers Supported in Real-Address Mode Instructions Supported in Real-Address Mode Interrupt and Exception Handling VIRTUAL-8086 MODE Enabling Virtual-8086 Mode Structure of a Virtual-8086 Task Paging of Virtual-8086 Tasks Protection within a Virtual-8086 Task Entering Virtual-8086 Mode Leaving Virtual-8086 Mode Sensitive Instructions Virtual-8086 Mode I/O I/O-Port-Mapped I/O Memory-Mapped I/O Special I/O Buffers INTERRUPT AND EXCEPTION HANDLING IN VIRTUAL-8086 MODE Class 1 Hardware Interrupt and Exception Handling in Virtual-8086 Mode Handling an Interrupt or Exception Through a Protected-Mode Trap or Interrupt Gate Handling an Interrupt or Exception With an 8086 Program Interrupt or Exception Handler Handling an Interrupt or Exception Through a Task Gate Class 2 Maskable Hardware Interrupt Handling in Virtual-8086 Mode Using the Virtual Interrupt Mechanism Class 3 Software Interrupt Handling in Virtual-8086 Mode Method 1: Software Interrupt Handling Methods 2 and 3: Software Interrupt Handling Method 4: Software Interrupt Handling Method 5: Software Interrupt Handling Method 6: Software Interrupt Handling PROTECTED-MODE VIRTUAL INTERRUPTS CHAPTER 21 MIXING 16-BIT AND 32-BIT CODE 21.1 DEFINING 16-BIT AND 32-BIT PROGRAM MODULES MIXING 16-BIT AND 32-BIT OPERATIONS WITHIN A CODE SEGMENT SHARING DATA AMONG MIXED-SIZE CODE SEGMENTS TRANSFERRING CONTROL AMONG MIXED-SIZE CODE SEGMENTS Code-Segment Pointer Size Stack Management for Control Transfer Controlling the Operand-Size Attribute For a Call Passing Parameters With a Gate Interrupt Control Transfers Parameter Translation Writing Interface Procedures CHAPTER 22 ARCHITECTURE COMPATIBILITY 22.1 PROCESSOR FAMILIES AND CATEGORIES RESERVED BITS ENABLING NEW FUNCTIONS AND MODES DETECTING THE PRESENCE OF NEW FEATURES THROUGH SOFTWARE INTEL MMX TECHNOLOGY STREAMING SIMD EXTENSIONS (SSE) STREAMING SIMD EXTENSIONS 2 (SSE2) STREAMING SIMD EXTENSIONS 3 (SSE3) ADDITIONAL STREAMING SIMD EXTENSIONS INTEL HYPER-THREADING TECHNOLOGY MULTI-CORE TECHNOLOGY SPECIFIC FEATURES OF DUAL-CORE PROCESSOR NEW INSTRUCTIONS IN THE PENTIUM AND LATER IA-32 PROCESSORS PAGE Vol. 3A xix

20 CONTENTS xx Vol. 3A PAGE Instructions Added Prior to the Pentium Processor OBSOLETE INSTRUCTIONS UNDEFINED OPCODES NEW FLAGS IN THE EFLAGS REGISTER Using EFLAGS Flags to Distinguish Between 32-Bit IA-32 Processors STACK OPERATIONS PUSH SP EFLAGS Pushed on the Stack X87 FPU Control Register CR0 Flags x87 FPU Status Word Condition Code Flags (C0 through C3) Stack Fault Flag x87 FPU Control Word x87 FPU Tag Word Data Types NaNs Pseudo-zero, Pseudo-NaN, Pseudo-infinity, and Unnormal Formats Floating-Point Exceptions Denormal Operand Exception (#D) Numeric Overflow Exception (#O) Numeric Underflow Exception (#U) Exception Precedence CS and EIP For FPU Exceptions FPU Error Signals Assertion of the FERR# Pin Invalid Operation Exception On Denormals Alignment Check Exceptions (#AC) Segment Not Present Exception During FLDENV Device Not Available Exception (#NM) Coprocessor Segment Overrun Exception General Protection Exception (#GP) Floating-Point Error Exception (#MF) Changes to Floating-Point Instructions FDIV, FPREM, and FSQRT Instructions FSCALE Instruction FPREM1 Instruction FPREM Instruction FUCOM, FUCOMP, and FUCOMPP Instructions FPTAN Instruction Stack Overflow FSIN, FCOS, and FSINCOS Instructions FPATAN Instruction F2XM1 Instruction FLD Instruction FXTRACT Instruction Load Constant Instructions FSETPM Instruction FXAM Instruction FSAVE and FSTENV Instructions Transcendental Instructions Obsolete Instructions WAIT/FWAIT Prefix Differences Operands Split Across Segments and/or Pages FPU Instruction Synchronization SERIALIZING INSTRUCTIONS FPU AND MATH COPROCESSOR INITIALIZATION Intel 387 and Intel 287 Math Coprocessor Initialization Intel486 SX Processor and Intel 487 SX Math Coprocessor Initialization CONTROL REGISTERS MEMORY MANAGEMENT FACILITIES New Memory Management Control Flags Physical Memory Addressing Extension Global Pages Larger Page Sizes

Intel 64 and IA-32 Architectures Software Developer s Manual

Intel 64 and IA-32 Architectures Software Developer s Manual Intel 64 and IA-32 Architectures Software Developer s Manual Volume 3A: System Programming Guide, Part 1 NOTE: The Intel 64 and IA-32 Architectures Software Developer's Manual consists of five volumes:

More information

Page Modification Logging for Virtual Machine Monitor White Paper

Page Modification Logging for Virtual Machine Monitor White Paper Page Modification Logging for Virtual Machine Monitor White Paper This document is intended only for VMM or hypervisor software developers and not for application developers or end-customers. Readers are

More information

Intel 64 and IA-32 Architectures Software Developer s Manual

Intel 64 and IA-32 Architectures Software Developer s Manual Intel 64 and IA-32 Architectures Software Developer s Manual Volume 1: Basic Architecture NOTE: The Intel 64 and IA-32 Architectures Software Developer's Manual consists of seven volumes: Basic Architecture,

More information

CHAPTER 6 TASK MANAGEMENT

CHAPTER 6 TASK MANAGEMENT CHAPTER 6 TASK MANAGEMENT This chapter describes the IA-32 architecture s task management facilities. These facilities are only available when the processor is running in protected mode. 6.1. TASK MANAGEMENT

More information

Intel Virtualization Technology Specification for the IA-32 Intel Architecture

Intel Virtualization Technology Specification for the IA-32 Intel Architecture Intel Virtualization Technology Specification for the IA-32 Intel Architecture C97063-002 April 2005 THIS DOCUMENT AND RELATED MATERIALS AND INFORMATION ARE PROVIDED AS IS WITH NO WARRANTIES, EXPRESS OR

More information

5.14. EXCEPTION AND INTERRUPT REFERENCE

5.14. EXCEPTION AND INTERRUPT REFERENCE 5.14. EXCEPTION AND INTERRUPT REFERENCE The following sections describe conditions which generate exceptions and interrupts. They are arranged in the order of vector numbers. The information contained

More information

Intel Vanderpool Technology for IA-32 Processors (VT-x) Preliminary Specification

Intel Vanderpool Technology for IA-32 Processors (VT-x) Preliminary Specification Intel Vanderpool Technology for IA-32 Processors (VT-x) Preliminary Specification Order Number C97063-001 January 2005 THIS DOCUMENT AND RELATED MATERIALS AND INFORMATION ARE PROVIDED "AS IS" WITH NO WARRANTIES,

More information

Intel 64 and IA-32 Architectures Software Developer s Manual

Intel 64 and IA-32 Architectures Software Developer s Manual Intel 64 and IA-32 Architectures Software Developer s Manual Documentation Changes December 2015 Notice: The Intel 64 and IA-32 architectures may contain design defects or errors known as errata that may

More information

COS 318: Operating Systems

COS 318: Operating Systems COS 318: Operating Systems OS Structures and System Calls Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Outline Protection mechanisms

More information

Intel 64 Architecture x2apic Specification

Intel 64 Architecture x2apic Specification Intel 64 Architecture x2apic Specification Reference Number: 318148-004 March 2010 i INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL

More information

Addendum Intel Architecture Software Developer s Manual

Addendum Intel Architecture Software Developer s Manual Addendum Intel Architecture Software Developer s Manual Volume 3: System Programming Guide Order Number: 243690-001 NOTE: The Intel Architecture Software Developer s Manual consists of the following volumes:

More information

An Implementation Of Multiprocessor Linux

An Implementation Of Multiprocessor Linux An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than

More information

IA-32 Intel Architecture Software Developer s Manual

IA-32 Intel Architecture Software Developer s Manual IA-32 Intel Architecture Software Developer s Manual Volume 2B: Instruction Set Reference, N-Z NOTE: The IA-32 Intel Architecture Software Developer s Manual consists of four volumes: Basic Architecture,

More information

The Microsoft Windows Hypervisor High Level Architecture

The Microsoft Windows Hypervisor High Level Architecture The Microsoft Windows Hypervisor High Level Architecture September 21, 2007 Abstract The Microsoft Windows hypervisor brings new virtualization capabilities to the Windows Server operating system. Its

More information

Hardware Assisted Virtualization Intel Virtualization Technology

Hardware Assisted Virtualization Intel Virtualization Technology Hardware Assisted Virtualization Intel Virtualization Technology Matías Zabaljáuregui matiasz@info.unlp.edu.ar Buenos Aires, Junio de 2008 1 Index 1 Background, motivation and introduction to Intel Virtualization

More information

IA-32 Intel Architecture Software Developer s Manual

IA-32 Intel Architecture Software Developer s Manual IA-32 Intel Architecture Software Developer s Manual Volume 1: Basic Architecture NOTE: The IA-32 Intel Architecture Software Developer s Manual consists of three volumes: Basic Architecture, Order Number

More information

Hybrid Virtualization The Next Generation of XenLinux

Hybrid Virtualization The Next Generation of XenLinux Hybrid Virtualization The Next Generation of XenLinux Jun Nakajima Principal Engineer Intel Open Source Technology Center Legal Disclaimer INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL

More information

Intel Virtualization Technology and Extensions

Intel Virtualization Technology and Extensions Intel Virtualization Technology and Extensions Rochester Institute of Technology Prepared and Presented by: Swapnil S. Jadhav (Computer Engineering) Chaitanya Gadiyam (Computer Engineering) 1 Agenda Virtualization

More information

4.1 PAGING MODES AND CONTROL BITS

4.1 PAGING MODES AND CONTROL BITS CHAPTER 4 PAGING Chapter 3 explains how segmentation converts logical addresses to linear addresses. Paging (or linear-address translation) is the process of translating linear addresses so that they can

More information

Hetero Streams Library 1.0

Hetero Streams Library 1.0 Release Notes for release of Copyright 2013-2016 Intel Corporation All Rights Reserved US Revision: 1.0 World Wide Web: http://www.intel.com Legal Disclaimer Legal Disclaimer You may not use or facilitate

More information

Prescott New Instructions Software Developer s Guide

Prescott New Instructions Software Developer s Guide Prescott New Instructions Software Developer s Guide 252490-003 June 2003 Revision History.002 Table 2-1: Revised function 4H and 80000006H. Section 2.1.2: Corrected extended family encoding display algorithm.

More information

Intel Virtualization Technology FlexMigration Application Note

Intel Virtualization Technology FlexMigration Application Note Intel Virtualization Technology FlexMigration Application Note This document is intended only for VMM or hypervisor software developers and not for application developers or end-customers. Readers are

More information

Intel 64 and IA-32 Architectures Software Developer s Manual

Intel 64 and IA-32 Architectures Software Developer s Manual Intel 64 and IA-32 Architectures Software Developer s Manual Volume 3B: System Programming Guide, Part 2 NOTE: The Intel 64 and IA-32 Architectures Software Developer's Manual consists of eight volumes:

More information

Intel Architecture Software Developer s Manual

Intel Architecture Software Developer s Manual Intel Architecture Software Developer s Manual Volume 1: Basic Architecture NOTE: The Intel Architecture Software Developer s Manual consists of three volumes: Basic Architecture, Order Number 243190;

More information

Intel Pentium Dual-Core Processor E5000 Δ Series

Intel Pentium Dual-Core Processor E5000 Δ Series Intel Pentium Dual-Core Processor E5000 Δ Series on 45 nm Process in the 775-land LGA Package December 2008 Notice: The Intel Pentium dual-core processor may contain design defects or errors known as errata

More information

Intel N440BX Server System Event Log (SEL) Error Messages

Intel N440BX Server System Event Log (SEL) Error Messages Intel N440BX Server System Event Log (SEL) Error Messages Revision 1.00 5/11/98 Copyright 1998 Intel Corporation DISCLAIMERS Information in this document is provided in connection with Intel products.

More information

IA-32 Intel Architecture Software Developer s Manual

IA-32 Intel Architecture Software Developer s Manual IA-32 Intel Architecture Software Developer s Manual Volume 1: Basic Architecture NOTE: The IA-32 Intel Architecture Software Developer s Manual consists of three volumes: Basic Architecture, Order Number

More information

Virtual Machines. Virtual Machine (VM) Examples of Virtual Systems. Types of Virtual Machine

Virtual Machines. Virtual Machine (VM) Examples of Virtual Systems. Types of Virtual Machine 1 Virtual Machines Virtual Machine (VM) Layered model of computation Software and hardware divided into logical layers Layer n Receives services from server layer n 1 Provides services to client layer

More information

Intel Processor Serial Number

Intel Processor Serial Number APPLICATION NOTE Intel Processor Serial Number March 1999 ORDER NUMBER: 245125-001 Information in this document is provided in connection with Intel products. No license, express or implied, by estoppel

More information

EHCI Removal from 6 th Generation Intel Core Processor Family Platform Controller Hub (PCH)

EHCI Removal from 6 th Generation Intel Core Processor Family Platform Controller Hub (PCH) EHCI Removal from 6 th Generation Intel Core Processor Family Platform Controller Hub (PCH) Technical White Paper September 2015 Revision 1.0 333136-001 You may not use or facilitate the use of this document

More information

Intel Platform Controller Hub EG20T

Intel Platform Controller Hub EG20T Intel Platform Controller Hub EG20T General Purpose Input Output (GPIO) Driver for Windows* Order Number: 324257-002US Legal Lines and Disclaimers INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION

More information

Processor Reorder Buffer (ROB) Timeout

Processor Reorder Buffer (ROB) Timeout White Paper Ai Bee Lim Senior Platform Application Engineer Embedded Communications Group Performance Products Division Intel Corporation Jack R Johnson Senior Platform Application Engineer Embedded Communications

More information

Intel Virtualization Technology FlexMigration Application Note

Intel Virtualization Technology FlexMigration Application Note Intel Virtualization Technology FlexMigration Application Note This document is intended only for VMM or hypervisor software developers and not for application developers or end-customers. Readers are

More information

Virtualization. Clothing the Wolf in Wool. Wednesday, April 17, 13

Virtualization. Clothing the Wolf in Wool. Wednesday, April 17, 13 Virtualization Clothing the Wolf in Wool Virtual Machines Began in 1960s with IBM and MIT Project MAC Also called open shop operating systems Present user with the view of a bare machine Execute most instructions

More information

MCA Enhancements in Future Intel Xeon Processors June 2013

MCA Enhancements in Future Intel Xeon Processors June 2013 MCA Enhancements in Future Intel Xeon Processors June 2013 Reference Number: 329176-001, Revision: 1.0 INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR

More information

SOC architecture and design

SOC architecture and design SOC architecture and design system-on-chip (SOC) processors: become components in a system SOC covers many topics processor: pipelined, superscalar, VLIW, array, vector storage: cache, embedded and external

More information

Intel Itanium Processor Family Error Handling Guide February 2010

Intel Itanium Processor Family Error Handling Guide February 2010 Intel Itanium Processor Family Error Handling Guide February 2010 Document Number: 249278-004 Legal Lines and Disclaimers INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO

More information

Intel Xeon Processor 5500 Series

Intel Xeon Processor 5500 Series Intel Xeon Processor 5500 Series Specification Update Febuary 2015 Reference Number: 321324-018US Legal Lines and Disclaimers You may not use or facilitate the use of this document in connection with any

More information

Dual-Core Intel Xeon Processor 2.80 GHz

Dual-Core Intel Xeon Processor 2.80 GHz Dual-Core Intel Xeon Processor 2.80 GHz Specification Update October 2006 Notice: The Dual-Core Intel Xeon processor 2.80 GHz may contain design defects or errors known as errata which may cause the product

More information

CS5460: Operating Systems. Lecture: Virtualization 2. Anton Burtsev March, 2013

CS5460: Operating Systems. Lecture: Virtualization 2. Anton Burtsev March, 2013 CS5460: Operating Systems Lecture: Virtualization 2 Anton Burtsev March, 2013 Paravirtualization: Xen Full virtualization Complete illusion of physical hardware Trap _all_ sensitive instructions Virtualized

More information

Intel Desktop Board DG43RK

Intel Desktop Board DG43RK Intel Desktop Board DG43RK Specification Update December 2010 Order Number: E92421-003US The Intel Desktop Board DG43RK may contain design defects or errors known as errata, which may cause the product

More information

More on Pipelining and Pipelines in Real Machines CS 333 Fall 2006 Main Ideas Data Hazards RAW WAR WAW More pipeline stall reduction techniques Branch prediction» static» dynamic bimodal branch prediction

More information

C440GX+ System Event Log (SEL) Messages

C440GX+ System Event Log (SEL) Messages C440GX+ System Event Log (SEL) Messages Revision 0.40 4/15/99 Revision Information Revision Date Change 0.40 4/15/99 Changed BIOS Events 0C EF E7 20, 0C EF E7 21 to 0C EF E7 40, 0C EF E7 41 Disclaimers

More information

Memory Management Outline. Background Swapping Contiguous Memory Allocation Paging Segmentation Segmented Paging

Memory Management Outline. Background Swapping Contiguous Memory Allocation Paging Segmentation Segmented Paging Memory Management Outline Background Swapping Contiguous Memory Allocation Paging Segmentation Segmented Paging 1 Background Memory is a large array of bytes memory and registers are only storage CPU can

More information

Performance monitoring with Intel Architecture

Performance monitoring with Intel Architecture Performance monitoring with Intel Architecture CSCE 351: Operating System Kernels Lecture 5.2 Why performance monitoring? Fine-tune software Book-keeping Locating bottlenecks Explore potential problems

More information

Intel Trusted Execution Technology (Intel TXT)

Intel Trusted Execution Technology (Intel TXT) Intel Trusted Execution Technology (Intel TXT) Software Development Guide Measured Launched Environment Developer s Guide March 2014 Document Number: 315168-010 By using this document, in addition to any

More information

Intel Desktop public roadmap

Intel Desktop public roadmap Intel Desktop public roadmap 1H Expires end of Q3 Info: roadmaps@intel.com Intel Desktop Public Roadmap - Consumer Intel High End Desktop Intel Core i7 Intel Core i7 processor Extreme Edition: i7-5960x

More information

Bandwidth Calculations for SA-1100 Processor LCD Displays

Bandwidth Calculations for SA-1100 Processor LCD Displays Bandwidth Calculations for SA-1100 Processor LCD Displays Application Note February 1999 Order Number: 278270-001 Information in this document is provided in connection with Intel products. No license,

More information

PC Notebook Diagnostic Card

PC Notebook Diagnostic Card www.winter-con.com User s Guide PC Notebook Diagnostic Card User s Guide 1 www.winter-con.com User s Guide INTRODUCTION Notebook Diagnostic Card is a powerful diagnostic tool for technicians and administrators

More information

Intel EP80579 Software for Security Applications on Intel QuickAssist Technology Cryptographic API Reference

Intel EP80579 Software for Security Applications on Intel QuickAssist Technology Cryptographic API Reference Intel EP80579 Software for Security Applications on Intel QuickAssist Technology Cryptographic API Reference Automatically generated from sources, May 19, 2009. Reference Number: 320184, Revision -003

More information

Intel Desktop Board DG41TY

Intel Desktop Board DG41TY Intel Desktop Board DG41TY Specification Update July 2010 Order Number E58490-006US The Intel Desktop Board DG41TY may contain design defects or errors known as errata, which may cause the product to deviate

More information

150127-Microprocessor & Assembly Language

150127-Microprocessor & Assembly Language Chapter 3 Z80 Microprocessor Architecture The Z 80 is one of the most talented 8 bit microprocessors, and many microprocessor-based systems are designed around the Z80. The Z80 microprocessor needs an

More information

Intel Desktop Board DQ965GF

Intel Desktop Board DQ965GF Intel Desktop Board DQ965GF Specification Update October 2008 Order Number: D65914-005US The Intel Desktop Board DQ965GF may contain design defects or errors known as errata, which may cause the product

More information

PCI-SIG ENGINEERING CHANGE REQUEST

PCI-SIG ENGINEERING CHANGE REQUEST PCI-SIG ENGINEERING CHANGE REQUEST TITLE: Update DMTF SM CLP Specification References DATE: 8/2009 AFFECTED DOCUMENT: PCIFW30_CLP_1_0_071906.pdf SPONSOR: Austin Bolen, Dell Inc. Part I 1. Summary of the

More information

Intel Desktop Board DG41BI

Intel Desktop Board DG41BI Intel Desktop Board DG41BI Specification Update July 2010 Order Number: E88214-002US The Intel Desktop Board DG41BI may contain design defects or errors known as errata, which may cause the product to

More information

Using the RDTSC Instruction for Performance Monitoring

Using the RDTSC Instruction for Performance Monitoring Using the Instruction for Performance Monitoring http://developer.intel.com/drg/pentiumii/appnotes/pm1.htm Using the Instruction for Performance Monitoring Information in this document is provided in connection

More information

BSP for Windows* Embedded Compact* 7 and Windows* Embedded Compact 2013 for Mobile Intel 4th Generation Core TM Processors and Intel 8 Series Chipset

BSP for Windows* Embedded Compact* 7 and Windows* Embedded Compact 2013 for Mobile Intel 4th Generation Core TM Processors and Intel 8 Series Chipset BSP for Windows* Embedded Compact* 7 and Windows* Embedded Compact 2013 for Mobile Intel 4th Generation Core TM Processors and Intel 8 Series Chipset Software Developer Guide February 2015 Software Release

More information

Intel Desktop Board DQ43AP

Intel Desktop Board DQ43AP Intel Desktop Board DQ43AP Specification Update July 2010 Order Number: E69398-005US The Intel Desktop Board DQ43AP may contain design defects or errors known as errata, which may cause the product to

More information

How To Protect Your Computer From Being Copied On A Microsoft X86 Microsoft Microsoft System (X86) On A Linux System (Amd) On An X86 2.2.2 (Amd2) (X64) (Amd

How To Protect Your Computer From Being Copied On A Microsoft X86 Microsoft Microsoft System (X86) On A Linux System (Amd) On An X86 2.2.2 (Amd2) (X64) (Amd Integrating segmentation and paging protection for safe, efficient and transparent software extensions Tzi-cker Chiueh Ganesh Venkitachalam Prashant Pradhan Computer Science Department State University

More information

Overview. CISC Developments. RISC Designs. CISC Designs. VAX: Addressing Modes. Digital VAX

Overview. CISC Developments. RISC Designs. CISC Designs. VAX: Addressing Modes. Digital VAX Overview CISC Developments Over Twenty Years Classic CISC design: Digital VAX VAXÕs RISC successor: PRISM/Alpha IntelÕs ubiquitous 80x86 architecture Ð 8086 through the Pentium Pro (P6) RJS 2/3/97 Philosophy

More information

Machine Virtualization: Efficient Hypervisors, Stealthy Malware

Machine Virtualization: Efficient Hypervisors, Stealthy Malware Machine Virtualization: Efficient Hypervisors, Stealthy Malware Muli Ben-Yehuda Technion & Hypervisor Technologies and Consulting Ltd Muli Ben-Yehuda (Technion & Hypervisor) Efficient Hypervisors, Stealthy

More information

Cortex-A9 MPCore Software Development

Cortex-A9 MPCore Software Development Cortex-A9 MPCore Software Development Course Description Cortex-A9 MPCore software development is a 4 days ARM official course. The course goes into great depth and provides all necessary know-how to develop

More information

Intel Desktop Board DP43BF

Intel Desktop Board DP43BF Intel Desktop Board DP43BF Specification Update September 2010 Order Number: E92423-004US The Intel Desktop Board DP43BF may contain design defects or errors known as errata, which may cause the product

More information

Intel 64 and IA-32 Architectures Software Developer s Manual

Intel 64 and IA-32 Architectures Software Developer s Manual Intel 64 and IA-32 Architectures Software Developer s Manual Documentation Changes September 2013 Notice: The Intel 64 and IA-32 architectures may contain design defects or errors known as errata that

More information

Intel Virtualization Technology (VT) in Converged Application Platforms

Intel Virtualization Technology (VT) in Converged Application Platforms Intel Virtualization Technology (VT) in Converged Application Platforms Enabling Improved Utilization, Change Management, and Cost Reduction through Hardware Assisted Virtualization White Paper January

More information

Intel Ethernet Switch Load Balancing System Design Using Advanced Features in Intel Ethernet Switch Family

Intel Ethernet Switch Load Balancing System Design Using Advanced Features in Intel Ethernet Switch Family Intel Ethernet Switch Load Balancing System Design Using Advanced Features in Intel Ethernet Switch Family White Paper June, 2008 Legal INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL

More information

OpenSPARC T1 Processor

OpenSPARC T1 Processor OpenSPARC T1 Processor The OpenSPARC T1 processor is the first chip multiprocessor that fully implements the Sun Throughput Computing Initiative. Each of the eight SPARC processor cores has full hardware

More information

Intel 810 and 815 Chipset Family Dynamic Video Memory Technology

Intel 810 and 815 Chipset Family Dynamic Video Memory Technology Intel 810 and 815 Chipset Family Dynamic Video Technology Revision 3.0 March 2002 March 2002 1 Information in this document is provided in connection with Intel products. No license, express or implied,

More information

CSC 2405: Computer Systems II

CSC 2405: Computer Systems II CSC 2405: Computer Systems II Spring 2013 (TR 8:30-9:45 in G86) Mirela Damian http://www.csc.villanova.edu/~mdamian/csc2405/ Introductions Mirela Damian Room 167A in the Mendel Science Building mirela.damian@villanova.edu

More information

Intel Itanium Architecture Software Developer s Manual

Intel Itanium Architecture Software Developer s Manual Intel Itanium Architecture Software Developer s Manual Volume 1: Application Architecture Revision 2.3 May 2010 Document Number: 245317 THIS DOCUMENT IS PROVIDED AS IS WITH NO WARRANTIES WHATSOEVER, INCLUDING

More information

Electrical Engineering and Computer Science Department

Electrical Engineering and Computer Science Department Electrical Engineering and Computer Science Department Technical Report NWU-EECS-07-01 March 26, 2007 Blackbox No More: Reconstruction of Internal Virtual Machine State Benjamin Prosnitz Abstract Virtual

More information

Intel Desktop Board DG31PR

Intel Desktop Board DG31PR Intel Desktop Board DG31PR Specification Update July 2010 Order Number: E30564-007US The Intel Desktop Board DG31PR may contain design defects or errors known as errata, which may cause the product to

More information

find model parameters, to validate models, and to develop inputs for models. c 1994 Raj Jain 7.1

find model parameters, to validate models, and to develop inputs for models. c 1994 Raj Jain 7.1 Monitors Monitor: A tool used to observe the activities on a system. Usage: A system programmer may use a monitor to improve software performance. Find frequently used segments of the software. A systems

More information

Intel Desktop Board DG965RY

Intel Desktop Board DG965RY Intel Desktop Board DG965RY Specification Update May 2008 Order Number D65907-005US The Intel Desktop Board DG965RY contain design defects or errors known as errata, which may cause the product to deviate

More information

Analysis of the Intel Pentium s Ability to Support a Secure Virtual Machine Monitor

Analysis of the Intel Pentium s Ability to Support a Secure Virtual Machine Monitor Analysis of the Intel Pentium s Ability to Support a Secure Virtual Machine Monitor John Scott Robin U.S. Air Force scott robin @hotmail.com Cynthia E. Irvine Naval Postgraduate School irvine@cs.nps.navy.mil

More information

Volume 10 Issue 03 Published, August 10, 2006 ISSN 1535-864X DOI: 10.1535/itj.1003. Virtualization Technology

Volume 10 Issue 03 Published, August 10, 2006 ISSN 1535-864X DOI: 10.1535/itj.1003. Virtualization Technology Volume 10 Issue 03 Published, August 10, 2006 ISSN 1535-864X DOI: 10.1535/itj.1003 Intel Technology Journal Intel Virtualization Technology Intel Virtualization Technology: Hardware Support for Efficient

More information

Intel Desktop Board D945GCPE

Intel Desktop Board D945GCPE Intel Desktop Board D945GCPE Specification Update January 2009 Order Number: E11670-003US The Intel Desktop Board D945GCPE may contain design defects or errors known as errata, which may cause the product

More information

Intel Virtualization Technology for Directed I/O

Intel Virtualization Technology for Directed I/O Intel Virtualization Technology for Directed I/O Architecture Specification October 204 Order Number: D5397-007, Rev. 2.3 INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO

More information

CS 695 Topics in Virtualization and Cloud Computing. More Introduction + Processor Virtualization

CS 695 Topics in Virtualization and Cloud Computing. More Introduction + Processor Virtualization CS 695 Topics in Virtualization and Cloud Computing More Introduction + Processor Virtualization (source for all images: Virtual Machines: Versatile Platforms for Systems and Processes Morgan Kaufmann;

More information

Intel Desktop Board DQ35JO

Intel Desktop Board DQ35JO Intel Desktop Board DQ35JO Specification Update May 2008 Order Number E21492-002US The Intel Desktop Board DQ35JO may contain design defects or errors known as errata, which may cause the product to deviate

More information

Intel IA-64 Architecture Software Developer s Manual

Intel IA-64 Architecture Software Developer s Manual Intel IA-64 Architecture Software Developer s Manual Volume 1: IA-64 Application Architecture Revision 1.1 July 2000 Document Number: 245317-002 THIS DOCUMENT IS PROVIDED AS IS WITH NO WARRANTIES WHATSOEVER,

More information

Intel Solid State Drive Toolbox

Intel Solid State Drive Toolbox 3.3.5 Document Number: 325993-026US Intel technologies features and benefits depend on system configuration and may require enabled hardware, software or service activation. Performance varies depending

More information

Intel Desktop Board DP55WB

Intel Desktop Board DP55WB Intel Desktop Board DP55WB Specification Update July 2010 Order Number: E80453-004US The Intel Desktop Board DP55WB may contain design defects or errors known as errata, which may cause the product to

More information

Evaluating Intel Virtualization Technology FlexMigration with Multi-generation Intel Multi-core and Intel Dual-core Xeon Processors.

Evaluating Intel Virtualization Technology FlexMigration with Multi-generation Intel Multi-core and Intel Dual-core Xeon Processors. Evaluating Intel Virtualization Technology FlexMigration with Multi-generation Intel Multi-core and Intel Dual-core Xeon Processors. Executive Summary: In today s data centers, live migration is a required

More information

Operating Systems. Virtual Memory

Operating Systems. Virtual Memory Operating Systems Virtual Memory Virtual Memory Topics. Memory Hierarchy. Why Virtual Memory. Virtual Memory Issues. Virtual Memory Solutions. Locality of Reference. Virtual Memory with Segmentation. Page

More information

Intel Core TM i7-660ue, i7-620le/ue, i7-610e, i5-520e, i3-330e and Intel Celeron Processor P4505, U3405 Series

Intel Core TM i7-660ue, i7-620le/ue, i7-610e, i5-520e, i3-330e and Intel Celeron Processor P4505, U3405 Series Intel Core TM i7-660ue, i7-620le/ue, i7-610e, i5-520e, i3-330e and Intel Celeron Processor P4505, U3405 Series Datasheet Addendum Specification Update Document Number: 323179 Legal Lines and Disclaimers

More information

Next-Gen Big Data Analytics using the Spark stack

Next-Gen Big Data Analytics using the Spark stack Next-Gen Big Data Analytics using the Spark stack Jason Dai Chief Architect of Big Data Technologies Software and Services Group, Intel Agenda Overview Apache Spark stack Next-gen big data analytics Our

More information

Enhanced Intel SpeedStep Technology for the Intel Pentium M Processor

Enhanced Intel SpeedStep Technology for the Intel Pentium M Processor Enhanced Intel SpeedStep Technology for the Intel Pentium M Processor White Paper March 2004 Order Number: 301170-001 INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE,

More information

Intel Trusted Execution Technology (Intel TXT)

Intel Trusted Execution Technology (Intel TXT) Intel Trusted Execution Technology (Intel TXT) Software Development Guide Measured Launched Environment Developer s Guide July 2015 Revision 012 Document: 315168-012 You may not use or facilitate the use

More information

Embedded Parallel Computing

Embedded Parallel Computing Embedded Parallel Computing Lecture 5 - The anatomy of a modern multiprocessor, the multicore processors Tomas Nordström Course webpage:: Course responsible and examiner: Tomas

More information

Hadoop Applications on High Performance Computing. Devaraj Kavali devaraj@apache.org

Hadoop Applications on High Performance Computing. Devaraj Kavali devaraj@apache.org Hadoop Applications on High Performance Computing Devaraj Kavali devaraj@apache.org About Me Apache Hadoop Committer Yarn/MapReduce Contributor Senior Software Engineer @Intel Corporation 2 Agenda Objectives

More information

Intel Solid State Drive Toolbox

Intel Solid State Drive Toolbox 3.3.6 Document Number: 325993-027US Intel technologies features and benefits depend on system configuration and may require enabled hardware, software or service activation. Performance varies depending

More information

Intel RAID Controllers

Intel RAID Controllers Intel RAID Controllers Best Practices White Paper April, 2008 Enterprise Platforms and Services Division - Marketing Revision History Date Revision Number April, 2008 1.0 Initial release. Modifications

More information

Intel Desktop Board DG41WV

Intel Desktop Board DG41WV Intel Desktop Board DG41WV Specification Update April 2011 Part Number: E93639-003 The Intel Desktop Board DG41WV may contain design defects or errors known as errata, which may cause the product to deviate

More information

Motorola 8- and 16-bit Embedded Application Binary Interface (M8/16EABI)

Motorola 8- and 16-bit Embedded Application Binary Interface (M8/16EABI) Motorola 8- and 16-bit Embedded Application Binary Interface (M8/16EABI) SYSTEM V APPLICATION BINARY INTERFACE Motorola M68HC05, M68HC08, M68HC11, M68HC12, and M68HC16 Processors Supplement Version 2.0

More information

Intel Core M Processor Family

Intel Core M Processor Family Intel Core M Processor Family Specification Update December 2014 Revision 003 Reference Number: 330836-003 By using this document, in addition to any agreements you have with Intel, you accept the terms

More information

LSN 2 Computer Processors

LSN 2 Computer Processors LSN 2 Computer Processors Department of Engineering Technology LSN 2 Computer Processors Microprocessors Design Instruction set Processor organization Processor performance Bandwidth Clock speed LSN 2

More information

Architecture of the Kernel-based Virtual Machine (KVM)

Architecture of the Kernel-based Virtual Machine (KVM) Corporate Technology Architecture of the Kernel-based Virtual Machine (KVM) Jan Kiszka, Siemens AG, CT T DE IT 1 Corporate Competence Center Embedded Linux jan.kiszka@siemens.com Copyright Siemens AG 2010.

More information

Intel Desktop Board D945GCPE Specification Update

Intel Desktop Board D945GCPE Specification Update Intel Desktop Board D945GCPE Specification Update Release Date: July 11, 2007 Order Number: E11670-001US The Intel Desktop Board D945GCPE may contain design defects or errors known as errata, which may

More information