Intel 253668-032US User Manual

Page of 806
Vol. 3   10-5
ADVANCED PROGRAMMABLE INTERRUPT CONTROLLER (APIC)
The IPI mechanism is typically used in MP systems to send fixed interrupts (inter-
rupts for a specific vector number) and special-purpose interrupts to processors on 
the system bus. For example, a local APIC can use an IPI to forward a fixed interrupt 
to another processor for servicing. Special-purpose IPIs (including NMI, INIT, SMI 
and SIPI IPIs) allow one or more processors on the system bus to perform system-
wide boot-up and control functions.
The following sections focus on the local APIC and its implementation in the 
Pentium 4, Intel Xeon, and P6 family processors. In these sections, the terms “local 
APIC” and “I/O APIC” refer to local and I/O APICs used with the P6 family processors 
and to local and I/O xAPICs used with the Pentium 4 and Intel Xeon processors (see 
Section 10.3, “the Intel
10.2 
SYSTEM BUS VS. APIC BUS
For the P6 family and Pentium processors, the I/O APIC and local APICs communicate 
through the 3-wire inter-APIC bus (see Figure 10-3). Local APICs also use the APIC 
bus to send and receive IPIs. The APIC bus and its messages are invisible to software 
and are not classed as architectural.
Beginning with the Pentium 4 and Intel Xeon processors, the I/O APIC and local 
APICs (using the xAPIC architecture) communicate through the system bus (see 
Figure 10-2). The I/O APIC sends interrupt requests to the processors on the system 
bus through bridge hardware that is part of the Intel chip set. The bridge hardware 
generates the interrupt messages that go to the local APICs. IPIs between local 
APICs are transmitted directly on the system bus.
10.3 THE 
INTEL
®
 82489DX EXTERNAL APIC, 
THE APIC, THE XAPIC, AND THE X2APIC
The local APIC in the P6 family and Pentium processors is an architectural subset of 
the Intel
®
ences Between the Local APIC and the 82489DX.”
The APIC architecture used in the Pentium 4 and Intel Xeon processors (called the 
xAPIC architecture) is an extension of the APIC architecture found in the P6 family 
processors. The primary difference between the APIC and xAPIC architectures is that 
with the xAPIC architecture, the local APICs and the I/O APIC communicate through 
the system bus. With the APIC architecture, they communication through the APIC 
bus (see Section 10.2, “System Bus Vs. APIC Bus”). Also, some APIC architectural 
features have been extended and/or modified in the xAPIC architecture. 
The x2APIC architecture is extended from the xAPIC architecture. Extensions to the 
xAPIC architecture are intended primarily to increase processor addressability. The 
x2APIC architecture provides backward compatibility to the xAPIC architecture and