What is a thread?
A thread in programming terms is the flow of control within a program, the path taken through the instructions -- a bit like the sequence of thoughts you have when working something out. It's analogous to the thread we lose when our concentration lapses. Most software is single-threaded, but multithreaded programs can make use of multiple processor chips to run two things at once.
What is Hyper-threading?
Hyper-threading is Intel's name for a feature where a single processor can simultaneously run two threads. It's been built into the Pentium 4 since the start, but until recently only enabled for some Xeon chips. With all Pentium 4s from 3GHz speeds upwards, hyper-threading is enabled -- but you can turn it off in your computer BIOS.
A modern processor is made up of many sub-units -- specialised areas that cope with mathematics, program control, data transfer, logical decisions and so on. Intel realised that most of these were mostly idle, because a single thread only uses two or three of these at any one time. Some sub-units were always used, however. The Intel designers duplicated these, so each thread was guaranteed its own essential components, and arranged for the chip to distribute the use of the rest between the threads as required.
Is it the same as having two non hyper-threaded processors?
No. It's a halfway house between a single threaded processor -- just about every common chip made since the seventies -- and two independent processors. With two processors, you are guaranteed to be able to run two threads simultaneously. With hyper-threading, you may be able to run two threads simultaneously, providing they use different parts of the chip at the same time.
Why is Intel doing this?
It makes more efficient use of the processor's silicon, and thus gives a large potential performance boost -- of the order of 25 percent -- for a small additional overhead of around five percent more transistors. Compared to other ways of improving processor performance, such as making the caches bigger, it's miles ahead
What are the downsides?
Not all software works well with hyper-threading. It can slow some software down -- including, to Intel's chagrin, most current benchmark software -- and quite a lot shows little or no improvement. Also, because Hyper-threading makes a lot more of the chip work a lot harder it increases power consumption and thus heat dissipation, stresses cache usage more, and so on.