7-1
7
Multi-Core and
Hyper-Threading Technology
This chapter describes software optimization techniques for
multithreaded applications running in an environment using either
multiprocessor (MP) systems or processors with hardware-based
multi-threading support. Multiprocessor systems are systems with two
or more sockets, each mated with a physical processor package. IA-32
processors that provide hardware multi-threading support include
dual-core processors and processor supporting Hyper-Threading
Technology
1
.
Computational throughput in a multi-threading environment can
increase as more hardware resources are added to take advantage of
thread-level or task-level parallelism. Hardware resources can be added
in the form of more than one physical-processor, and/or
processor-core-per-package, and/or logical-processor-per-core.
Therefore, there are some aspects of multi-threading optimization that
apply across MP, multi-core, and Hyper-Threading Technology. There
are also some specific microarchitectural resources that may be
implemented differently in different hardware multi-threading
configurations, e.g., execution resources are not shared across different
1.
The presence of hardware multi-threading support in IA-32 processors can be detected by
checking the feature flag CPUID .1.EDX[28]. A return value of 1 in bit 28 indicates that at
least one form of hardware multi-threading is present in the physical processor package.
The number of logical processors present in each package can also be obtained from
CPUID. The application must check how many logical processors are enabled and made
available to application at runtime by making the appropriate operating system calls. See
the
IA-32 Intel® Architecture Software Developer’s Manual, Volume 2A
for more
information.
Summary of Contents for ARCHITECTURE IA-32
Page 1: ...IA 32 Intel Architecture Optimization Reference Manual Order Number 248966 013US April 2006...
Page 220: ...IA 32 Intel Architecture Optimization 3 40...
Page 434: ...IA 32 Intel Architecture Optimization 9 20...
Page 514: ...IA 32 Intel Architecture Optimization B 60...
Page 536: ...IA 32 Intel Architecture Optimization C 22...