My CPU says it can do hyperthreading. Why do I only see one thread?
What is hypertheading?
Hyperthreading is an optional feature in newer Intel CPUs which presents two virtual CPU cores running on a single physical core. In effect, the extra thread will execute when the first thread is busy waiting on something else. In some CPU cores, both threads can even execute simultaneously as long as they use different functional units. Wikipedia has a page describing it in much more detail.
Single threaded core
Early P4 CPUs
Hyperthreading with a Dual Core CPU?
Intel's Core Duo CPU is based on the same architecture that supports hyperthreading technology. If you run "cpuid" on such a CPU it will report that the chip supports hyperthreading. However, this is misleading. While the architecture supports this feature, this particular CPU model only contains one thread per core. On an SMP kernel both cores will show up as CPUs, but that is all.
Not running an SMP kernel
This is an often asked question. The answer is quite simple: a hyperthreaded CPU (with multiple threads) presents multiple virtual CPUs to the operating system. In order to use multiple virtual CPUs, you need an SMP kernel.