The basic intention of Hyperthreading
technology is to keep the processor as busy as possible. With that said,
let’s take a look at how it works. A typical x86 processor is limited by the fact
that it can only operate on one thread at a
time. A thread
is a set of related instructions created by a software application. Multi-tasking as we
know it, based on Windows operating systems, consists of the CPU rapidly
switching back and forth between the various threads created by running
programs, prioritizing them on the fly.
If you want to
get an idea of how many threads are currently being juggled by your processor on
a Windows XP system, hit Ctrl-Alt-Delete and choose the task manager, then
select the ‘processes’ tab. If you now select ‘view/select columns...’ and
check mark the ‘thread count box’ you will see how many threads each process has
created. No matter how many threads there are, the simple fact is that your CPU
can only concentrate on one at any given time. The problem with this is that, depending on
the type of actions the processor needs to perform with a particular thread,
much of the capability of the processor(s) may be wasted. For instance, if all a particular thread
requires is integer calculations like counting, the processor’s floating-point
execution units (the parts of the processor that
perform actions on data) are idle while that thread is being processed.
This is where
Hyperthreading comes in. The idea is to throw two threads at the CPU at
once, with the intention of reducing the amount of time that portions of the CPU
are idle. On
the software side of things, this splits the processor into two logical
processors as far as Windows is concerned, each of which is operating on one
thread at a given time. Depending on the nature of the threads being
processed, performance may increase due to the increased utilization of the
CPU’s available resources.
If you are interested in learning a little more about
Hyperthreading, you may want to read PCSTATS Basics of
HyperThreading article.
Hyperthreading has many advantages, but discussing those points in detail is
beyond the scope of this processor review.
Additional On-Die Memory
Xeon
processors are capable of addressing up to 64GB of main memory, surpassing the
built in 4GB 32-bit processor memory limit by using Intel’s Extended Server
Memory Architecture to increase the size of available memory addresses to
36-bits. This
must be supported by the operating system used (Enterprise editions and above of
Windows NT/2000/2003 server).
This can significantly
increase the performance of memory-hungry applications such as databases, web
and email servers, simply by providing them with enough physical memory to
prevent or minimize the use of virtual memory (space on a hard disk drive
reserved by the operating system for use as memory when
needed).