background image

Vol. 3A

xix

CONTENTS

PAGE

CHAPTER 19

PERFORMANCE-MONITORING EVENTS

19.1

ARCHITECTURAL PERFORMANCE-MONITORING EVENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-2

19.2

PERFORMANCE MONITORING EVENTS FOR 6TH GENERATION INTEL® CORE™ PROCESSOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-3

19.3

PERFORMANCE MONITORING EVENTS FOR THE INTEL

®

CORE

 M AND 5TH GENERATION INTEL

®

 CORE

 PROCESSORS .  

19-13

19.4

PERFORMANCE MONITORING EVENTS FOR THE 4TH GENERATION INTEL

®

CORE

 PROCESSORS. . . . . . . . . . . . . . . . . .  19-21

19.4.1

Performance Monitoring Events in the Processor Core of Intel Xeon Processor E5 v3 Family . . . . . . . . . . . . . . . . . . . . .19-33

19.5

PERFORMANCE MONITORING EVENTS FOR 3RD GENERATION INTEL

®

CORE

 PROCESSORS . . . . . . . . . . . . . . . . . . . . . .  19-33

19.5.1

Performance Monitoring Events in the Processor Core of Intel Xeon Processor E5 v2 Family and Intel Xeon Processor E7 v2 

Family . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-42

19.6

PERFORMANCE MONITORING EVENTS FOR 2ND GENERATION  INTEL

®

CORE

 I7-2XXX, INTEL

®

CORE

 I5-2XXX, 

INTEL

®

CORE

 I3-2XXX PROCESSOR SERIES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  19-43

19.7

PERFORMANCE MONITORING EVENTS FOR   INTEL

®

CORE

™ 

I7 PROCESSOR FAMILY AND INTEL

® 

XEON

®

 PROCESSOR 

FAMILY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  19-57

19.8

PERFORMANCE MONITORING EVENTS FOR PROCESSORS BASED ON INTEL

®

MICROARCHITECTURE CODE NAME WESTMERE 

19-85

19.9

PERFORMANCE MONITORING EVENTS FOR INTEL

®

XEON

®

 PROCESSOR 5200, 5400 SERIES AND INTEL

®

CORE

2

 

EXTREME 

PROCESSORS QX 9000 SERIES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  19-116

19.10

PERFORMANCE MONITORING EVENTS FOR INTEL

®

XEON

®

 PROCESSOR 3000, 3200, 5100, 5300 SERIES AND 

INTEL

®

CORE

2

 

DUO PROCESSORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  19-117

19.11

PERFORMANCE MONITORING EVENTS FOR PROCESSORS BASED ON THE GOLDMONT MICROARCHITECTURE . . . . . . .  19-143

19.12

PERFORMANCE MONITORING EVENTS FOR PROCESSORS BASED ON THE SILVERMONT MICROARCHITECTURE . . . . .  19-149

19.12.1

Performance Monitoring Events for Processors Based on the Airmont Microarchitecture . . . . . . . . . . . . . . . . . . . . . . .  19-153

19.13

PERFORMANCE MONITORING EVENTS FOR 45 NM AND 32 NM INTEL

®

ATOM

 PROCESSORS . . . . . . . . . . . . . . . . . . . .  19-154

19.14

PERFORMANCE MONITORING EVENTS FOR INTEL

®

 CORE

 SOLO AND INTEL

®

 CORE

™ 

DUO PROCESSORS . . . . . . .  19-168

19.15

PENTIUM® 4 AND INTEL® XEON® PROCESSOR PERFORMANCE-MONITORING EVENTS  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  19-173

19.16

PERFORMANCE MONITORING EVENTS FOR INTEL

®

 PENTIUM

®

 M PROCESSORS  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  19-202

19.17

P6 FAMILY PROCESSOR PERFORMANCE-MONITORING EVENTS  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  19-204

19.18

PENTIUM PROCESSOR PERFORMANCE-MONITORING EVENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  19-213

CHAPTER 20

8086 EMULATION

20.1

REAL-ADDRESS MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-1

20.1.1

Address Translation in Real-Address Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-2

20.1.2

Registers Supported in Real-Address Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-3

20.1.3

Instructions Supported in Real-Address Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-3

20.1.4

Interrupt and Exception Handling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-4

20.2

VIRTUAL-8086 MODE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-5

20.2.1

Enabling Virtual-8086 Mode  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-6

20.2.2

Structure of a Virtual-8086 Task. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-7

20.2.3

Paging of Virtual-8086 Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-7

20.2.4

Protection within a Virtual-8086 Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-8

20.2.5

Entering Virtual-8086 Mode  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-8

20.2.6

Leaving Virtual-8086 Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-9

20.2.7

Sensitive Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-10

20.2.8

Virtual-8086 Mode I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-10

20.2.8.1

I/O-Port-Mapped I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-11

20.2.8.2

Memory-Mapped I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-11

20.2.8.3

Special I/O Buffers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-11

20.3

INTERRUPT AND EXCEPTION HANDLING IN VIRTUAL-8086 MODE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  20-11

20.3.1

Class 1—Hardware Interrupt and Exception Handling in Virtual-8086 Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-12

20.3.1.1

Handling an Interrupt or Exception Through a Protected-Mode Trap or Interrupt Gate. . . . . . . . . . . . . . . . . . . . . . . . .20-12

20.3.1.2

Handling an Interrupt or Exception With an 8086 Program Interrupt or Exception Handler  . . . . . . . . . . . . . . . . . . . .20-14

20.3.1.3

Handling an Interrupt or Exception Through a Task Gate  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-14

20.3.2

Class 2—Maskable Hardware Interrupt Handling in Virtual-8086 Mode Using the Virtual Interrupt Mechanism . . . . .20-15

20.3.3

Class 3—Software Interrupt Handling in Virtual-8086 Mode  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-16

20.3.3.1

Method 1: Software Interrupt Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-18

20.3.3.2

Methods 2 and 3: Software Interrupt Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-18

20.3.3.3

Method 4: Software Interrupt Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-19

20.3.3.4

Method 5: Software Interrupt Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-19

20.3.3.5

Method 6: Software Interrupt Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-19

20.4

PROTECTED-MODE VIRTUAL INTERRUPTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  20-20