Volume 3A System Programming Guide_ Part 1 (794103), страница 4
Текст из файла (страница 4)
. . . . . . . . . . . . . . . . . . . . . . . . 5-25Stack Switching in IA-32e Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-25Interrupt Stack Table. . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-26EXCEPTION AND INTERRUPT REFERENCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-27Interrupt 0—Divide Error Exception (#DE) . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 5-28Interrupt 1—Debug Exception (#DB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-29Interrupt 2—NMI Interrupt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 5-30Interrupt 3—Breakpoint Exception (#BP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-31Interrupt 4—Overflow Exception (#OF). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-32Interrupt 5—BOUND Range Exceeded Exception (#BR). . . .
. . . . . . . . . . . . . . . . . . . . . . . 5-33Interrupt 6—Invalid Opcode Exception (#UD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-34Interrupt 7—Device Not Available Exception (#NM) . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 5-36Interrupt 8—Double Fault Exception (#DF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-38Interrupt 9—Coprocessor Segment Overrun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-41Interrupt 10—Invalid TSS Exception (#TS). . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-42Interrupt 11—Segment Not Present (#NP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-46Interrupt 12—Stack Fault Exception (#SS). . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 5-48Interrupt 13—General Protection Exception (#GP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-50vi Vol. 3ACONTENTSPAGEInterrupt 14—Page-Fault Exception (#PF) . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-54Interrupt 16—x87 FPU Floating-Point Error (#MF). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-58Interrupt 17—Alignment Check Exception (#AC). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-60Interrupt 18—Machine-Check Exception (#MC) .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-62Interrupt 19—SIMD Floating-Point Exception (#XF). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-64Interrupts 32 to 255—User Defined Interrupts. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . .5-67CHAPTER 6TASK MANAGEMENT6.16.1.16.1.26.1.36.26.2.16.2.26.2.36.2.46.2.56.36.46.4.16.4.26.56.5.16.5.26.66.7TASK MANAGEMENT OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 6-1Task Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1Task State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2Executing a Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3TASK MANAGEMENT DATA STRUCTURES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 6-4Task-State Segment (TSS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4TSS Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7TSS Descriptor in 64-bit mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8Task Register . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9Task-Gate Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .6-11TASK SWITCHING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12TASK LINKING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 6-16Use of Busy Flag To Prevent Recursive Task Switching. . . . . . . . . . . . . . . . . . . . . . . . . . .6-18Modifying Task Linkages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . .6-18TASK ADDRESS SPACE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-19Mapping Tasks to the Linear and Physical Address Spaces . . . . . . .
. . . . . . . . . . . . . . . . .6-19Task Logical Address Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-2016-BIT TASK-STATE SEGMENT (TSS) . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-21TASK MANAGEMENT IN 64-BIT MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-22CHAPTER 7MULTIPLE-PROCESSOR MANAGEMENT7.17.1.17.1.27.1.2.17.1.2.27.1.37.1.47.27.2.17.2.27.2.37.2.47.37.47.57.5.1LOCKED ATOMIC OPERATIONS . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2Guaranteed Atomic Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3Bus Locking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3Automatic Locking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4Software Controlled Bus Locking . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5Handling Self- and Cross-Modifying Code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6Effects of a LOCK Operation on Internal Processor Caches . . . . . . . . . . .
. . . . . . . . . . . . . . 7-7MEMORY ORDERING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8Memory Ordering in the Intel® Pentium® and Intel486™ Processors . . . . . . . . . . . . . . 7-8Memory Ordering in P6 and More Recent Processor Families .
. . . . . . . . . . . . . . . . . . . . . . 7-9Out-of-Order Stores For String Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-10Strengthening or Weakening the Memory Ordering Model . . . . . . . . .
. . . . . . . . . . . . . . .7-11PROPAGATION OF PAGE TABLE AND PAGE DIRECTORY ENTRY CHANGES TOMULTIPLE PROCESSORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-13SERIALIZING INSTRUCTIONS . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-14MULTIPLE-PROCESSOR (MP) INITIALIZATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-15BSP and AP Processors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .7-16Vol. 3A viiCONTENTSPAGE7.5.27.5.37.5.47.5.4.17.5.4.27.5.57.67.77.7.17.7.27.7.37.7.47.87.8.17.8.27.8.37.8.47.8.57.8.67.8.77.8.87.8.97.8.107.8.117.8.127.8.137.8.13.17.8.13.27.8.13.37.8.13.47.97.9.17.9.27.9.37.9.47.9.57.107.10.17.10.27.10.37.10.47.117.11.17.11.27.11.37.11.47.11.57.11.67.11.6.1MP Initialization Protocol Requirements and Restrictionsfor Intel Xeon Processors.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-17MP Initialization Protocol Algorithm for Intel Xeon Processors . . . . . . . . . . . . . . . . . . . . 7-17MP Initialization Example . . . . . . . . . . . . . . . . . . . . . . . . . . . .