Hyper-Threading Technology, New Feature of Intel Xeon Processor White Paper
20
167T-0202A-WWEN
VCS Benchmark on Windows XP
5.2
7.1
6.53
7.2
0
1
2
3
4
5
6
7
8
Lower
is better
Disable
5.2
7.1
Enable
6.53
7.2
2P
1P
Figure 16
Summary
Hyper-Threading technology represents a new approach to improving the instruction throughput
of processors (instruction-level parallelism) that is targeted for servers and high-performance
workstations. One of the principal benefits of Hyper-Threading technology is that it enables the
processor to use on-die resources that may otherwise be idle. Although existing operating system
and application code will run correctly on a processor with Hyper-Threading technology, to
obtain performance gain, some relatively simple code modifications are needed to get the
optimum benefit from Hyper-Threading technology. To refrain from wasting resources with the
idle loops, the OS needs to issue immediately the Halt instruction to the logical processor that has
a thread going idle. A thread that is using spin lock code, which aggressively captures processor
resources, may need to add the pause instruction within the loop to allow the other threads a fair
access to the processor resources. The limited trace cache size requires tight code loops in the
trace cache for Hyper-Threading technology to be effective. Programmers now avoid loop
unrolling, as it increases the amount of code created and increases trace cache misses. A trace
cache miss forces the execution to the X86 instruction decoder, which can only decode one X86
instruction per cycle.