您好,欢迎光临本网站![请登录][注册会员]  
文件名称: 64-ia-32-architectures-software-developer-system-programming-manual-325384.pdf
  所属分类: 硬件开发
  开发工具:
  文件大小: 11mb
  下载次数: 0
  上传时间: 2019-07-02
  提 供 者: henu****
 详细说明:64-ia-32-architectures-software-developer-system-programming-manualCONTEN NTS PAGE CHAPTER T ABOUT THIS MANUAL INTEL 64 AND IA-32 PROCESSORS COVERED IN THIS MANUAL OVERVIEW OF THE SYSTEM PROGRAMMING GUIDE NOTATIONAL CONVENTIONS 1.3.1 Bit and Byte Order..,.. 3.2 Reserved Bits and Software Compatibility 1-6 13.3 Instruction Operands 3.4 xadecimal and binary numbe 13.5 Segmented Addressing 36 Syntax for CPUID, CR, and Msr values 1-8 3.7 Exceptions RELATED LITERATURE CHAPTER 2 SYSTEM ARCHITECTURE OVERVIEW 2.1 OVERVIEW OF THE SYSTEM-LEVEL ARCHITECTURE 2.1.1 Global and local descriptor tables 2-3 2.1.1.1 Global and Local Descriptor Tables in IA-32e Mode 1着 ,2-4 2.1.2 System Segments, Segment Descriptors, and Gates 4 2.1.2. Gates in lA-32e Mode 2-4 2.1.3 Task-State Segments and Task Gates 2.1.3. Task-State Segments in lA- 32e Mode 2.14 Interrupt and Exception handling 2.14 Interrupt and Exception Handling lA-32e Mode 2.1.5 Memory Management 2-6 2.1.5 Memory Management in IA-32e Mode........ 2-6 2.1.6 System Registers............. 2.1.6 System Registers in iA-32e Mode. 2.1.7 Other System Resources 22 MODES OF OPERATION 22.1 Extended Feature Enable Register. 23 SYSTEM FLAGS AND FIELDS IN THE EFLAGS REGISTER 2.3.1 System Flags and Fields in IA-32e Mode 24 MEMORY-MANAGEMENT REGISTERS 24.1 Global Descriptor Table Register (GDTR) 24.2 Local Descriptor Table Register(LDTR) 24.3 IDTR Interrupt Descriptor Table register 2-12 244 Task Register (TR) 2-13 25 CONTROL REGISTERS 2-13 251 CPUID Qualification of Control Register Flags 2.6 EXTENDED CONTROL REGISTERS (INCLUDING XCRO 2-19 7 PROTECTION KEY RIGHTS REGISTER(PKRU ....:::..:::.:: 2-20 2.8 SYSTEM INSTRUCTION SUMMARY 2-20 28.1 oading and storing System Registers ,,,2-22 28.2 Verifying of Access Privileges -22 28.3 Loading and storing Debug Registers 2-23 284 Invalidating Caches and TlBs 2-23 28.5 Controlling the Processor 2-24 28.6 Reading performance- Monitoring and Time-Stamp Counters 2-24 286.1 Reading Counters in 64-Bit Mode ∴2-25 28.7 Reading and writing model-Specific Registers ,2-25 28.7.1 Reading and writing model-Specific registers in 64-Bit Mode 2-25 288 Enabling processor Extended states...,,,,,. 2-25 ol.3AⅢ CONTENTS PAGE ChAPTER 3 PROTECTED-MODE MEMORY MANAGEMENT 3.1 MEMORY MANAGEMENT OVERVIEW 3.2 USING SEGMENTS ,3-2 3.2. Basic Flat model 3.2.2 Protected flat model 重1着 1鲁 3.2.3 Multi-Segment Model :::: 3.24 Segmentation in IA-32e Mode 3-5 3.25 Paging and segmentation 3-5 PHYSICAL ADDRESS SPACE73-6 33.1 Intel64 Processors and Physical Address space 3-6 34 LOGICAL AND LINEAR ADDRESSES 3-6 34.1 Logical Address Translation in IA-32e Mode ...:::::.::.::: 3.4.2 Segment Selectors................. .,··,·,·· 34.3 Segment Registers...,... 1能 3-8 344 Segment Loading Instructions in IA-32e Mo 34.5 Segment Descriptors 3-9 3.4.5.1 Code-and Data-Segment Descriptor T ypes ,3-12 3.5 SYSTEM DESCRIPTOR TYPES 3.5.1 Segment descriptor Tables .3-14 3.52 Segment descriptor Tables in iA-32e Mode .3-16 CHAPTER 4 PAGING PAGING MODES AND CONTROL BITS 4.1.1 Three Paging modes 着1 1 4.1.2 Paging -Mode Enabling 4-3 4.1.3 Paging- Mode Modifiers ,4-4 4.14 Enumeration of Paging Features by CPUID .:.:.:::..:::....:::........:. 4-5 4.2 HIERARCHICAL PAGING STRUCTURES: AN OVERVIEW 重11,111111 ,4-6 43 32-BIT PAGING 4-7 44 PAE PAGING n1,_1 4-13 4.4.1 PDPTE Registers 4-13 4.4.2 Linear-Address Translation with PAE Paging ∴.4-14 4.5 lA-32E PAGING 4-19 46 ACCESS RIGHTS 4-28 46.1 Determination of Access rights ,4-29 46.2 Protection Keys 11411111,普,11着着 4-31 4.7 PAGE-FAULT EXCEPTIONS 4-31 4.8 ACCESSED AND DIRTY FLAGS 4-33 9 PAGING AND MEMORY TYPING 1·着1, 4-34 49.1 Paging and Memory typing When the pat is not Supported (Pentium Pro and Pentium ll Processors) ,4-34 492 Paging and Memory typing when the pat is Supported (pentium lll and more recent Processor Families)..... 4-34 4.9.3 Caching Paging-Related Information about Memory Typing 4-35 4.10 CACHING TRANSLATION INFORMATION 4-35 4.10.1 Process-Context identifiers(PClDs) 4-35 4.10.2 Translation Lookaside Buffers (tlbs) 4-36 4.102.1 Page Numbers, Page Frames, and page offsets :::.::.1:.:..::.:.1:::::: 4-36 4.102.2 Caching Translations in TLBS....... ,4-36 4.102.3 Details of tlb use 4-37 4.10.2.4 Global Pages 重1,1,1 n_重1,t ,4-37 4.103 Paging-Structure Caches 4-38 4.10.3.1 Caches for Paging Structures. 11首 11 4-38 4.10.32 Using the Paging-Structure Caches to Translate Linear Addresses 4-40 4.10.33 Multiple Cached Entries for a Single Paging-Structure Entry 4-40 4.10.4 Invalidation of TLBs and Paging-Structure Caches 4-41 4.104 Operations that Invalidate tLBs and Paging-Structure Caches 4-41 4.10.4.2 Recommended invalidation 4-43 4.104.3 Optional Invalidation 4-44 4.1044 Delayed Invalidation 4-44 4.105 Propagation of Paging-structure Changes to Multiple Processors 4-45 4.11 INTERACTIONS WITH VIRTUAL-MACHINE EXTENSIONS ( UMX 4-46 4.11.1 VMX Transitions 4-46 ∨o.3A CONTENTS PAGE 4.11.2 VMX Support for Address Translation................ ,,4-46 4.12 USING PAGING FOR VIRTUAL MEMORY 4-47 4.13 MAPPING SEGMENTS TO PAGES 4-47 CHAPTER 5 PROTECTION 5.1 ENABLING AND DISABLING SEGMENT AND PAGE PROTECTION 5.2 FIELDS AND FLAGS USED FOR SEGMENT-LEVEL AND PAGE-LEVEL PROTECTION 111 5-2 5.2.1 Code- Segment Descriptor in 64-bit 5-3 53 LIMIT CHECKING Ini 5-4 53.1 Limit Checking in 64-bit Mode 5-5 54 TYPE CHECKING .1...: ..::: 着,1 5-5 54.1 Null Segment selector Checking 54.1.1 NULL Segment Checking in 64-bit Mode 5-6 55 PRIVILEGE LEVELS .::::::. 5.6 PRIVILEGE LEVEL CHECKING WHEN ACCESSING DATA SEGMENTS 11D1n 5-8 56.1 Accessing Data in Code Segments 5.7 PRIVILEGE LEVEL CHECKING WHEN LOADING THE SS REGISTER ...5-10 5.8 PRIVILEGE LEVEL CHECKING WHEN TRANSFERRING PROGRAM CONTROL BETWEEN CODE SEGMENTS 5-10 58.1 Direct Calls or Jumps to Code segments .5-10 58.1.1 Accessing Nonconforming Code Segments 58.1.2 Accessing Conforming Code segments 5-12 58.2 Gate Descriptors 583 Call gates ,1着,,, ,,5-13 58.3.1 A-32e Mode call gates 1, 5-14 584 Accessing a code segment through a call gate 5-15 58.5 Stack Switching.…… 5.8.5.1 Stack Switching in 64-bit Mode 1,D1着 58.6 Returning from a Called Procedure. ........,.,.,.,. 1着1 111重 5-20 58.7 Pertorming Fast Calls to system Procedures with the SYSENTER and syseXit instructions .5-20 58.7.1 SYSENTER and syseXit instructions in lA-32e Mode 588 Fast System Calls in 64-Bit Mode .5-22 59 PRIVILEGED INSTRUCTIONS ,5-23 5.10 POINTER VALIDATION 5-24 5.10.1 Checking Access Rights(LAR Instruction) 5-24 5. 10.2 Checking Read/Write Rights (vERR and VERw Instructions 5.10.3 Checking That the pointer Offset Is Within Limits(LSL Instruction .5-25 5.10.4 Checking Caller Access Privileges (ARPL Instruction 5.10.5 Checking Alignment... 5.11 PAGE-LEVEL PROTECTION .:...::: 5-27 5.11.1 Page-Protection Flags..... 5-28 5.11.2 Restricting Addressable Domain 5.11.3 5-28 5.11.4 Combining Protection of Both Levels of page Tables .5-28 5.11.5 Overrides to Page Protection 11L 11,,11 着着 5.12 COMBINING PAGE AND SEGMENT PROTECTION 5-29 5.13 PAGE-LEVEL PROTECTION AND EXECUTE-DISABLE BIT ,,5-30 5.13.1 Detecting and enabling the execute-Disable capability 5-30 5.13.2 Execute-Disable Page Protection 着着着 5.13.3 Reserved Bit Checking 5.13.4 Exception Handling ..,...,... 5-32 CHAPTER 6 INTERRUPT AND EXCEPTION HANDLING 6.1 INTERRUPT AND EXCEPTION OVERVIEW 6.2 EXCEPTION AND INTERRUPT VECTORS 6 63 SOURCES OF INTERRUPTS 6-2 6.3.1 External Interrupt 63.2 Maskable Hardware Interrupts 633 Software-Generated Interrupts ...:::::::::.:.::: ..::: 着,1 6-4 VoL 3A y CONTENTS PAGE 64 SOURCES OF EXCEPTIONS 着着1自D1着1重D1 ,6-4 64. Program-Error Exceptions 11411111着111着着1 6-4 6.42 Software-Generated Exceptions 6-4 64.3 Machine-Check Exceptions 6-4 65 EXCEPTION CLASSIFICATIONS 6.7 NONMASKABLE INTERRUPT(NMI) 6-6 67.1 Handling multiple nmis ,,6-6 68 ENABLING AND DISABLING INTERRUPTS 6-6 68. Masking maskable Hardware Interrupts 6-6 682 Masking Instruction Breakpoints......... 着1 着1 683 Masking Exceptions and Interrupts When Switching Stacks 6-7 6.9 PRIORITY AMONG SIMUL TANEOUS EXCEPTIONS AND INTERRUPTS 6-8 6.10 INTERRUPT DESCRIPTOR TABLE (IDT) ,.6-9 PTOR 6.12 EXCEP TION AND INTERRUPT HANDLING ,6-10 6-11 6.12.1 Exception -or Interrupt-Handler procedures ,,6-11 6.12.1.1 Protection of EXception-and Interrupt-Handler Procedures 6.12.1.2 Flag Usage By Exception -or Interrupt-Handler Procedure ...6-14 6.122 Interrupt Tasks 11 6-14 6.13 ERROR CODE 6-15 6.14 EXCEPTION AND INTERRUPT HANDLING IN 64-BIT MODI 6-16 6.14.1 64-Bit Mode idt 6-16 6.14.2 64-Bit Mode stack frame .:.::.::.a 6-17 6. 14.3 RET in IA-32e Mode 6-18 6.144 Stack Switching in IA-32e Mode 6-18 6.145 Interrupt Stack Table ,6-19 6.15 EXCEP TION AND INTERRUPT REFERENCE 6-19 Interrupt o-Divide Error Exception(#DE 6-20 Interrupt 1-Debug Exception ( #DB) Interrupt 2-NM Interrupt 6-22 Interrupt 3-Breakpoint Exception(#BP)....,...,.,.. 重重 ∴.6-23 Interrupt 4-Overflow Exception # ,6-24 Interrupt 5-BOUND Range Exceeded Exception#BR).,...,..,... :..: 1.11着 .6-25 Interrupt 6-Invalid Opcode Exception ( #UD) 6-26 Interrupt 7-Device Not Available Exception (#NM) .6-27 terrupt 8-Double Fault Exception(#DF) 6-28 Interrupt 9--Coprocessor segment overrun ::.:: 6-30 Interrupt 10-Invalid TSS Exception(# Ts 重111111111着 ,6-31 Interrupt 11-Segment Not Present(# 6-34 Interrupt 12-Stack Fault Exception(#ss) 6-36 Interrupt 13-General Protection Exception #GP) 6-37 Interrupt 14Page-Fault Exception (#PF) 6-40 upt 16-X87 FPU Floating-Point Error(#MF) 6-43 Interrupt 17-Alignment Check Exception (#AC 6-45 terrupt 18-Machine-Check Exception(#MC) 6-47 terrupt 19-SIMD Floating-Point EXception(#XM) 6-48 Interrupt 20-Virtualization Exception( #VE 6-50 interrupts 32 to 255-User Defined Interrupts 1着 6-51 CHAPTER 7 TASK MANAGEMENT TASK MANAGEMENT OVERVIEW 7.1.1 ask Structure 7.1.2 ask state Executing a T ask 着1 7.2 TASK MANAGEMENT DATA STRUCTURES 7.2.1 Task-state Segment (Tss 7.22 TSS Descriptor 72.3 SS Descriptor in 64-bit mode. 11鲁着1重 724 Task Register..,..... ::::·. vi Vol. 3A CONTENTS PAGE 72.5 Task-Gate Descriptor............. 7-8 73 TASK SWITCHING 1着廉111,4,,1,,111111111411日,,1日11着着 ,,7-9 74 TASK LINKING 7-12 74.1 Use of Busy Flag To Prevent Recursive Task Switching 7-13 74.2 Moditying T ask Linkages ,,7-13 TASK ADDRESS SPACE 7-14 75.1 Mapping Tasks to the Linear and Physical Address spaces ..7-14 752 Task Logical Address space 7-15 7.6 16-BIT TASK-STATE SEGMENT (TSS) ∴7-15 7,7 TASK MANAGEMENT IN 64-BIT MODEA7-16 ChaPTER 8 MULTIPLE-PROCESSOR MANAGEMENT 8.1 LOCKED ATOMIC OPERATIONS 8-1 8.1.1 Guaranteed Atomic Operations 8.1.2 Bu 1..:.....:·:·:: 8-3 8.1.2.1 Automatic Locking..................... 11D1n 8-3 8.12.2 Sottware Controlled Bus Locking 8-3 8.1.3 Handling selt-and cross Modifying code 8-4 8.14 Effects of a loCK Operation on Internal processor caches 8-5 8.2 MEMORY ORDERING 8-5 82.1 Memory Ordering in the Intel Pentium and Intel486 Processors 8-6 822 Memory Order ing in P6 and More Recent processor Families 8-6 823 Examples Illustrating the Memory-Ordering Principles 8-7 823.1 Assumptions, Terminology, and Notation 8-8 82.3.2 Neither Loads Nor stores Are reordered with like Operations 8-9 823.3 Stores are Not reordered with earlier loads 8-9 82.34 oads may be reordered with earlier stores to Different Locations 8-9 82.3.5 Intra-Processor Forwarding ls Allowed 82.3.5 Stores Are Transitively Visible 8-10 8.2.3.7 Stores are seen in a Consistent Order by other Processors 8-11 823.8 ocked instructions have a total order 8.2.39 Loads and stores are not reordered with locked instructions 8-12 8.24 Fast-String Operation and out-of-Order stores 8-12 824.1 Memory-Ordering Model for String Operations on Write-Back (WB)Memory :·: 8-13 8242 Examples Illustrating Memory-Ordering Principles for String Operations ,8-13 825 Strengthening or Weakening the memory-Ordering Model 8-15 8.3 SERIALIZING INSTRUCTIONS 8-17 8.4 MULTIPLE-PROCESSOR (MP)INITIALIZATION 8-18 84.1 BSP and Ap Processors 8-18 842 MP Initialization Protocol requirements and restrictions 8-19 84.3 MP Initialization Protocol Algorithm for MP Systems 8-19 844 MP Initialization Example..... ,8-20 844.1 Typical BSP Initialization Sequence 844.2 Typical AP Initialization Sequence ..8-22 84.5 Identifying Logical Processors in an MP System .8-23 8.5 NTEL HYPER-THREADING TECHNOLOGY AND INTELB MULTI-CORE TECHNOLOGY ,,8-24 8.6 DETECTING HARDWARE MULTI-THREADING SUPPORT AND TOPOLOGY ,8-24 86.1 Initializing Processors Supporting Hyper-Threading Technology 8-25 862 Initializing multi-Core Processors 8-25 Handling Interrupts on an IA32 Processor Supporting Hardware Multi-Threading,,,,UIti-Threading 8.6.3 Executing Multiple Threads on an Intel64 or IA-32 Processor Supporting Hardware Mi 8-26 864 8-26 8.7 NTEL HYPER-THREADING TECHNOLOGY ARCHITECTURE 8.7 State of the logical Processors∴……… ..8-27 37,2 APIC Functionality............ ,8-28 8.7,3 Memory T ype Range Registers MTRR) 8-28 8.74 Page Attribute Table(Pat) 8-28 8.7.5 Machine check architecture 8-28 87.6 Debug registers and Extensions 8-29 87.7 Performance monitor ing Counters 着1 1 878 lA32 MISC ENABLE MSR 879 Memory ordering 8-29 8.7.10 Serializing Instructions 1着 ,,,,8-29 8.7. 11 Microcode Update resources........... 11 日1,, ,8-29 Vol 3a vil CONTENTS PAGE 87.12 Self Modifying Code. ..::. 8-30 8.7.13 Implementation-Specific Intel HT Technology Facilities 11着,着,1 8-30 8.7.13.1 Processor caches 8-30 87.13.2 Processor Translation Lookaside Buffers(TlBs) 8-30 87.13.3 Thermal monitor 87.134 External Signal Compatibility ..8-31 8. 8 MULTI-CORE ARCHITECTURE 8-31 88.1 Logical Processor Support..,... 8-32 88.2 Memory Type Range Registers (MTRR ∴,8-32 883 Performance monitoring counters ,8-32 884 lA32 MISC ENABLE MSR 着1着 8-32 885 Microcode update resources 8-32 89 PROGRAMMING CONSIDERATIONS FOR HARDWARE MULTI-THREADING CAPABLE PROCESSORS 8-33 89.1 Hierarchical Mapping of Shared Resources 重1 8-33 892 Hierarchical Mapping of CPUid Extended Topology Leaf. 8-34 893 Hierarchical id of Logical Processors in an mP System 835 893.1 Hierarchical id of logical processors with x2APIC ID 8-37 894 Algorithm for Three-Level Mappings of APIC_ID 895 Identifying Topological Relationships in a MP System 8-42 8.10 MANAGEMENT OF IDLE AND BLOCKED CONDITIONS 8-46 8.10.1 HLT Instruction 8-46 8.10.2 PAUSE Iostruction 8-46 8.103 Detecting support MoNiToR/MWAIT Instruction 8-46 8.104 MONITOR/MWAIT Instruction 8-47 8.10.5 Monitor/Mwait Address range determination ::: ,,8-48 8.106 Required Operating System Support ,848 8.10.6 Use the PaUsE Instruction in Spin-Wait Loops 1着着DD着D,,1·D1着1着11着 ,8-49 8.1062 Potential Usage of MONITOR/MWAIT in Co ldle Loops. ,8-49 8.106.3 Halt ldle logical processors 8-50 8.1064 Potential Usage of MoNITOR/MWAlT in Cl Idle Loops 8-5 8.1065 Guidelines for Scheduling Threads on Logical Processors Sharing EXecution Resources 8.106.6 Eliminate Execution-Based Timing Loops .8-52 8.10.6.7 Place Locks and Semaphores in Aligned, 128-Byte Blocks of Memory ∴8-52 8.11 MP INITIALIZATION FOR P6 FAMILY PROCESSORS ,8-52 8.11.1 Overview of the mp Initialization Process For P6 Family processors ,,8-52 8.112 MP Initialization Protocol Algorithm ∴8-53 8.11.2.1 Error Detection and handling during the mp initialization Protocol ,8-54 CHAPTER 9 PROCESSOR MANAGEMENT AND INITIALIZATION 9.1 INITIALIZATION OVERVIEW 9.1.1 Processor state After reset ,9-2 9.1.2 Processor Built-In Self-Test(BIST) 9.1.3 Model and stepping Intormation 9-5 9.14 First instruction executed 9-5 92 X87 FPU INITIALIZATION 1 9-5 92.1 Configuring the x87 FPU Environment ...,.... seting the processor for x87「 PU Software Emulation∵ 1着 922 9-6 93 CACHE ENABLING 94 MODEL-SPECIFIC REGISTERS (MSRS 9.5 MEMORY TYPE RANGE REGISTERS MTRRS)............................ 9-8 96 INITIALIZING SSE/SSE2/SSE3/SSSB3 EXTENSIONS 9-8 97 SOFTWARE INITIALIZATION FOR REAL-ADDRESS MODE OPERATION 9-8 97 Real-Address mode idt ,9-8 972 NMI Interrupt Handling ∴9-9 9.8 SOFT WARE INITIALIZATION FOR PROTECTED-MODE OPERATION 9-9 98.1 Protected-Mode system Data Structures 9-9 98.2 Initializing Protected-Mode exceptions and Interrupts .9-10 983 Initializing Paging ...,..,., ∴,9-10 984 Initializing multitasking ,,9-10 985 Initializing IA-32e Mode 98.5.1 IA-32e Mode System Data Structures 9-11 9852 IA-32e Mode Interrupts and Exceptions.,......... ...:::::::::.:.:: 9-12 9853 64-bit Mode and Compatibility Mode operation 11,,1 .9-12 ⅷii∨ol.3A CONTENTS PAGE 9854 Switching Out of IA-32e Mode Operation 9.9 MODE SWITCHING 1着,1日14, 11411111着1D1着111111.着,、1着 ∴9-13 99.1 Switching to Protected Mode 9-13 992 Switching back to Real-Address mode 9-14 9.10 NITIALIZATION AND MODE SWITCHING EXAMPLE ,9-14 9. 10.1 Assembler Usage b 9.10.2 STARTUP. ASM Listing 9-16 9.10.3 MAINASM Source code ∴,9-25 9.104 Supporting files...,,. 9-25 9.11 MICROCODE UPDATE FACILITIES 11,,1鲁 ,9-27 Microcode Update 1 着1 1 ∴9-28 9.11.2 Optional Extended Signature Table 9-31 911.3 Processor ldentification 9-32 9.11.4 Platform ldentification 9-32 9.11.5 Microcode Update Checksum............,... 9-33 9. 11.6 Microcode Update Loader ,9-34 9.11.6.1 Hard resets in Update Loading ,,9-35 9.11.62 Update in a Multiprocessor System .9-35 9.11.63 Update in a System Supporting Intel Hyper-Threading Technology . ..9-35 9.11.64 Update in a system Supporting dual-Core Technology ....::::: ,9-35 9.1165 Update loader Enhancements..... 9-35 9. 11.7 Update Signature and verification 9-36 9.11.7.1 Determining the signature 9-36 9.11.7,2 Authenticating the Update 9-37 9.11.8 Optional Processor Microcode Update Specifications 9-37 9.118.1 Responsibilities of the blos 9-38 91182 Responsibilities of the calling Program 9-39 91183 Microcode Update functions 9-42 9.11.84 INT 15H-based Interface 9-42 9.11.85 Function ooh-presence test 9-42 9.11.85 Function 01H-Wwrite Microcode Update Data ..9-43 9.11.8.7 Function 02H-Microcode Update control 9-46 91188 Function 03H-Read Microcode Update Data. 9-47 9.1189 Return codes ,,,,,,9-48 CHAPTER 10 ADVANCED PROGRAMMABLE INTERRUPT CONTROLLER (APIC) 10.1 LOCAL AND IO APIC OVERVIEW 10-1 10.2 SYSTEM BUS VS APIC BUS 10-4 10.3 THE INTEL 82489DX EXTERNAL APIC THE APIC THE XAPIC AND THE XZAPIC 10-4 10.4 LOCAL APIC 1 ,10-4 10.4.1 The Local aPiC Block Diagram 着1 ..10-4 10.4.2 Presence of the local apic 10-7 10.4.3 Enabling or Disabling the local aPlc 10-8 1044 ocal Apic status and location ,1着1111着B 10-8 10.4.5 Relocating the Local APIC Registers ,,,10-9 1046 Local aPic id 1111 :.:.:::::::.::.::::::: 10-9 104.7 Local apic state 10-10 104.7,1 Local APIC State After Power-Up or Reset 10-10 104.7.2 Local apic state After It has been software disabled ..10-10 104.7.3 Local APlC State After an INIT Reset (wait-for-SIPI State) .10-10 104.7.4 Local apic state after lt receives an nit-Deassert iP 10-11 1048 Local aPlc version Register. 10-11 10.5 HANDLING LOCAL INTERRUPTS 10-11 10.5.1 Local vector table 10-12 10.5.2 Valid Interrupt Vectors 10-14 10.5.3 Error Handling ,,10-14 10.5.4 APIC Timer 1,,1,1着 ∴10-16 105.4.1 TSC-Deadline mode 10-17 105.5 Local Interrupt Acceptance 10-18 10.6 SSUING INTERPROCESSOR INTERRUPTS ,,10-18 10.6.1 Interrupt Command Register(ICR) 10-18 voL.3Aⅸx CONTENTS PAGE 106.2 Determining IPl Destination 1,,11鲁1 着1,L自,,1D1 10-22 106.2. Physical Destination Mode 1着,,,11“4,111D11“4D111自,11 着着1,1 ,10-22 1062.2 Logical Destination Mode 10-23 10623 Broadcast/Self delivery mode 10-24 106.24 Lowest Priority Delivery Mode ,,,10-24 10.63 IPI Delivery and Acceptance ..10-25 10.7 SYSTEM AND APIC BUS ARBITRATION 10-25 10.8 HANDLING INTERRUPTS ,10-26 10.8.1 Interrupt Handling wi th the pentium 4 and Intel Xeon Processors 10-26 108.2 Interrupt Handling with the p6 Family and pentium Processors ,,10-27 10.8.3 Interrupt, Task, and Processor Priority 着1 1 10-28 083.1 Task and processor priorities 10-28 10.8.4 Interrupt Acceptance for Fixed Interrupts 10-29 10.8.5 Signaling Interrupt Servicing Completion 10-30 108.6 Task Priority in IA-32e Mode :.:..::..::: .10-31 08.6.1 Interaction of task priorities between cr8 and apic 10-31 10.9 SPURIOUS INTERRUPT 10-32 10.10 APIC BUS MESSAGE PASSING MECHANISM AND PROTOCOL (P6 FAMILY, PENTIUM PROCESSORS) .10-32 10.10.1 Bus Message Formats 10-33 10.11 MESSAGE SIGNALLED INTERRUPTS 10-34 10.11. 1 Message Address register Format. 10-34 10.11.2 Message Data Register Format....,,.....,,. 10-35 10.12 EXTENDED XAPIC (X2APIC) 0-36 10.12.1 Detecting and Enabling X2APIC Mode ..: ∴10-36 10.12.1.1 Instructions to Access APIC Registers 10-37 10.12.12 X2APlC Register Address space....,..,..,. 10-37 10.12.13 Reserved Bit Checking 1着自11着首着1 10-39 10.12. 2 X2APIC Register Availability ,,10-40 10.123 MSR Access in x2APIC Mode 10-40 10.12. 4 VM-EXit Controls for MSRs and X2APIC Registers ...10-40 10.125 x2APIC State transitions .10-4 10.125.1 x2APIC States ,,,10-41 X2APIC After Reset ,,10-42 X2APIC Transitions from x2APIC mode ,,1 10-42 2APIC Transitions from disabled mode 10-43 State Changes From XAPIC Mode to X2APIC Mode 10-43 10.12.6 Routing of Device Interrupts in X2APIC Mode ,10-43 10.12./ Initialization by System Software ,,,,10-43 10.12.8 CPUID EXtensions And Topology Enumeration 10-43 10.128.1 Consistency of APIC IDs and CPUID 10-44 10.12.9 CR Operation in x2APIC Mode 10-44 10.12.10 Determining lPl Destination in X2APIC Mode 10-45 10.12.10.1 Logical Destination Mode in x2APIC Mode 着1 10.12.10.2 Deriving Logical x2APIC id from the local X2APIC ID 10-46 10.12.11 SELF IPI Register..,...... 10-47 10.13 APIC BUS MESSAGE FORMATS ,,,,,10-47 10.13.1 Bus Message Formats. 11 10-47 0.13. 2 EOI Message 1111 .10-47 10.132.1 Short messag ,10-48 10.13.2.2 Non-tocused Lowest Priority Message............ 着看1 ,10-49 10.13.2.3 APIC Bus Status Cycles 10-50 CHAPTER 11 MEMORY CACHE CONTROL TERNAL CACHES TLBS AND BUFFERS :::. 11.2 CACHING TERMINOLOGY 115 1,3 METHODS OF CACHING AVAILABLE 1着着11D鲁D141,1着111首1 11.3.1 Buf fering of Write Combining Memory locations 11.3.2 Choosing a Memory type... 11着看 11.3.3 Code Fetches in Uncacheable Memory 11-9 11.4 CACHE CONTROL PROTOCOL 着1着D1着 119 11.5 CACHE CONTROL 41 1能着11 11-10 x Vol. 3A
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 输入关键字,在本站1000多万海量源码库中尽情搜索: