Intel processors are superscalar, enabling them to execute more than
one instruction per clock cycle. Intel Hyper-Threading technology extends
this capability by making a single physical processor appear to be two
logical processors that are capable of executing two threads in parallel.
From a software perspective, operating systems and programs can schedule
processes or threads as if they were running on two physical processors.
From a microarchitecture perspective, instructions from two logical processors
execute simultaneously on the shared resources of one physical processor,
thus increasing overall resource utilization.
Operating environments can take advantage of Hyper-Threading technology
in one of two ways:
- Applications can be multithreaded thus allowing the
individual application to execute upon parallel threads in the processor
at the same time. Operating systems like Windows .Net* and XP* along with
high performance applications such as database engines, scientific computation
programs and multimedia design software are currently multithreaded and
are typically run in dual- or multi-processor environments.
- Hyper-Threading can be used in a multitasking environment
where the system is running more than one application in parallel. In
this instance, each application can be run as separate threads on the
same processor increasing utilization of the execution units and overall