What is Hyper-Threading ?: The Basics Explained

What is Hyper-Threading ?: The Basics Explained


Intel has long denied it and the introduction of the 'Hyper- Threading Technology ”in the home area repeatedly pushed out onto the Prescott. But it has been official for a few weeks: the Northwood will already have this feature in the coming models. What has been possible with Intel's server processors with Prestonia core, the Xeons, since the beginning of the year, is now also finding its way into desktop processors. The new Intel Pentium 4 with 3066MHz will bring this technology to home users' computers for the first time. The fact that the world's largest semiconductor manufacturer has designed a slightly modified processor logo just for this makes it clear what significance Hyper-Threading has for Intel. In terms of marketing, it seems to be almost level with the MMX expansion. It is therefore high time that we also deal a little with how Hyper-Threading works.

Why Hyper -Threading?

In the past, increases in performance were mainly made possible by higher clock rates, larger caches and other optimizations (prefetch) in the micro-architecture of a processor. A higher processor cycle means the calculation of more instructions per unit of time, referred to as cycle, but it always brings with it an increase in power consumption. In addition, the system performance does not increase linearly with the processor clock. The 20-stage pipeline of the Netburst architecture of the Pentium 4 is ideally suited for high clock rates, but there are interruptionsof the “instruction flow” in the pipeline due to cache misses, interrupts or incorrect jump predictions, the advantages are quickly gone. Accesses to the main memory, which are necessary to reload the required data in the event of a cache miss, are extremely slow when compared with the transactions in the internal processor cache.

One possibility to increase the processor speed would be eg the enlargement of the L1 and L2 caches. However, it is precisely this that makes a processor even more complex, larger and more expensive, and even then cache misses cannot be ruled out. Furthermore, with larger caches the difficulties in achieving corresponding clock rates and latency times increase. So the caches can only be really fast if they are small. However, improved manufacturing technologies will keep the caches growing in the future.

Another possibility to increase the speed of a processor increase is the so-called instruction-level parallelism (ILP). The attempt is made to increase the instructions executed per clock cycle. Current processors, for example, have several execution units that can process instructions in parallel. The more independent commands of the CPU are available at the same time, the more effective the use of the clock rate will be. But as long as the data is executed in the program sequence ('In-Order Execution'), a large amount of effectiveness falls by the wayside. With the help of the 'Out-of-Order Execution', in which the instructions for processing are sorted beforehand, the CPU can get down to business much more effectively, but here, too, thread by thread (path), i.e. program part by program part , processed one after the other. If a processor resource is not needed for a thread, it lies idle, since there are seldom enough instructions available to allMake full use of resources.

Def. Thread: Smallest executable part of a task. The task is that mostly very small part of a program that a processor can process at once. A processor is even able to process program fragments that are significantly smaller than tasks. However, this only works up to a lower limit known as a thread. (

Nowadays there is also another problem. Even current processors have a power consumption that can no longer easily be expected of a desktop system in the office. Gradually the limits are reached. Simply continuously increasing the clock rate is not enough. Rather, the existing resources of the processor must be used more effectively in order to increase the performance of the entire computer in this way. This is where Hyper-Threading Technology comes in.

On the next page: What is Hyper-Threading?