What is Hyper-Threading ?: The Basics Explained
How does it work?
Since the conversion units on the new Pentium 4 are now are available twice or, with the new Hyper-Threading processors, are also being used for the first time in the desktop area, and the usual resources are shared, all requirements are met to run two threads in parallel. Since we don't want to get lost in the depths of the complicated processor theory at this point, a small graphic should clarify how one and the same processor clock without Hyper-Threading processes one or with Hyper-Threading two threads.
Both CPUs have the same task: thread 1 (blue) and thread 2 (ocher) are to be calculated. While a CPU without Hyper-Threading can only process one thread in the specified number of work steps, the processor with Hyper-Threading is able to chase a second thread through the CPU components that are not being used by thread 1. Both threads are calculated exactly as fast (in this optimal example) as the first on the conventional processor.
Since the virtual processors share the execution units, the limits of Hyper-Threading should also become clear very quickly. Should an application actually occupy 100 percent of a unit (e.g. FPU), a second application with similar resources wouldpreferred, but still have to wait or alternately and therefore not calculated faster in the end. But not even Seti @ Home puts such a strain on a unit that two Seti instances cannot benefit tremendously from Hyper-Threading. The fact that Hyper-Threading makes it possible to run floating point and integer calculations in parallel should prove to be particularly attractive.
It should also be clear that Hyper-Threading only makes sense if both Processors are burdened with work. And this is the job of the operating system. Windows XP Home and Professional as well as Windows 2000 (not recommended, since not validated) and Linux 2.4.18 are suitable for this. The only thing missing now are suitable applications that have been programmed in threads. Alternatively, the two processors can also be brought to develop their power through several applications. A distinction must therefore be made between multitasking and multithreading . In the case of multitasking, Hyper-Threading in particular should noticeably reduce response times. It is important here that both applications actually do something in parallel - you usually don't get any great speed advantages from task switching.
Of course, things look different when you work with Office applications and the famous virus scanner in the background running. Here we have real multitasking. The same applies to listening to music while playing as well as Seti @ Home or FlaskMPEG as a background process when working. Here are the real advantages of Hyper-Threading.
On the next page: Conclusion