Intel ARCHITECTURE IA-32 User Manual Page 293

  • Download
  • Add to my manuals
  • Print
  • Page
    / 636
  • Table of contents
  • BOOKMARKS
  • Rated. / 5. Based on customer reviews
Page view 292
Vol. 3A 7-25
MULTIPLE-PROCESSOR MANAGEMENT
7.7.2 Initializing Dual-Core IA-32 Processors
The initialization process for an MP system that contains dual-core IA-32 processors is the same
as for conventional MP systems (see Section 7.5, “Multiple-Processor (MP) Initialization”). A
logical processor in one core is selected as the BSP; other logical processors are designated as
APs.
During initialization, each logical processor is assigned an APIC ID. Once logical processors
have APIC IDs, software may communicate with them by sending APIC IPI messages.
7.7.3 Executing Multiple Threads on an IA-32 Processor
Supporting Hardware Multi-Threading
Upon completing the operating system boot-up procedure, the bootstrap processor (BSP)
executes operating system code. Other logical processors are placed in the halt state. To execute
a code stream (thread) on a halted logical processor, the operating system issues an interpro-
cessor interrupt (IPI) addressed to the halted logical processor. In response to the IPI, the
processor wakes up and begins executing the thread identified by the interrupt vector received
as part of the IPI.
To manage execution of multiple threads on logical processors, an operating system can use
conventional symmetric multiprocessing (SMP) techniques. For example, the operating-system
can use a time-slice or load balancing mechanism to periodically interrupt each of the active
logical processors. Upon interrupting a logical processor, the operating system checks its run
queue for a thread waiting to be executed and dispatches the thread to the interrupted logical
processor.
7.7.4 Handling Interrupts on an IA-32 Processor
Supporting Hardware Multi-Threading
Interrupts are handled on IA-32 processors supporting Hyper-Threading Technology as they
are on conventional MP systems. External interrupts are received by the I/O APIC, which
distributes them as interrupt messages to specific logical processors (see Figure 7-3).
Logical processors can also send IPIs to other logical processors by writing to the ICR register
of its local APIC (see Section 8.6, “Issuing Interprocessor Interrupts”). This also applies to dual-
core IA-32 processors.
Page view 292
1 2 ... 288 289 290 291 292 293 294 295 296 297 298 ... 635 636

Comments to this Manuals

No comments