Você está na página 1de 12

INTRODUCTION

Programmers have long known that some applications will run more efficiently if they're coded into a series parallel tasks, called threads which are then executed in parallel. This phenomenon is called multitasking if threads from two or more applications are executed at the same time. A conventional superscalar processor like intel Pentium 4 at 2.4 Ghz do not offer truemultitasking abilities might sound like a bold statement, especially since Windows is all about multitasking. In essence conventional CPUs use various techniques to mimic multitasking behavior or shuffle instructions around and so does the Operating System. To the end user, it appears as if the processor is "running" more than one program at the same time, and indeed, there actually are multiple programs loaded into memory. But the CPU can execute only one of these programs at a time. The OS maintains the illusion of concurrency by rapidly switching between running programs at a fixed interval, called a time slice. The time slice has to be small enough that the user doesn't notice any degradation in the usability and performance of the running programs, and it has to be large enough that each program has a sufficient amount of CPU time in which to get useful work done While modern multi-processing operating systems can then schedule those threads to operate on each of a system's two or more processor. Hyperthreading is a groundbreaking innovation from Intel that essentially fools the operating system into thinking it's hooked up to two processors, allowing two threads to be run in parallel, both on separate 'logical' processors within the same physical processor

OVERVIEW OF HYPERTHREADING
The introduction of the new Pentium 4 at 3.06GHz is not only a milestone in processor clockspeed, but also marks the introduction of Hyper-Threading on the desktop.However the first implementation of HyperThreading Technology was done on Intel Xeon Processor. Hyper-Threading technology is a form of simultaneous multithreading technology (SMT), where multiple threads of software applications can be run simultaneously on one processor. This is achieved by duplicating the architectural state consist of data register, segment register,control registers, debug registers and most of the model specific registers for each logical processor.

once the architecture state is duplicated, the processor appears to be two processors.The number of transistors to store the architecture state is an extremely small fraction of the total. Logical processors share nearly all other resources on the physical processor, such as caches, execution units, branch predictors, control logic, and buses. Each logical processor has its own interrupt controller or APIC. Interrupts sent to a specific logical processor are handled only by that logical processor. The architectural state tracks the flow of a program or thread and the execution resources are the unitson the processor that do the work add, multiply, load, etc. The Hyper-Threading is based in the principle that at each point of time only a part of processor resources is used for execution of the program code. Unused resources can also be loaded, for example, with parallel execution of another application (or just another thread of the same application).

HOW HYPERTHREADING WORKS


The first logical processor can track one software thread, while the second logical processor can track another software thread simultaneously.

Because the two threads share one set of execution resources, the second thread can use resources that would be otherwise idle if only one thread was executing. The result is an increased utilization of the execution resources . This improvement in CPU resource utilization yields higher processing throughput for multi-threaded applications. For example, one logical processor can execute a floatingpoint operation while the other logical processor executes an addition and a load operation. This improves overall performance and system response.

Hyper-Threading technology is complementary to multi-processorsystems because the operating system can not only schedule separate threads to execute on each physical processor simultaneously, but on each logical processor simultaneously as well. However performance enhancement by Hyperthreading Technology enabled processor is less than the dual processor.

RESOURCE UTILIZATION

To understand how Hyper-Threading Technology improves resource utilization, Figure shows an example comparing a traditional single processor (SP) system (Figure A), traditional dual processor (DP) system (Figure B), and a system based on a Pentium 4 processor supporting Hyper-Threading Technology (Figure C). The SP system contains one superscalar processor that can execute up to three instructions every cycle and allows a single thread ("Thread 1", shown in orange) to be executed on this single (or physical) processor. The DP system contains two superscalar processors that can each execute up to three instructions every cycle and allows two separate threads to be executed on each (physical) processor ("Thread 1" and "Thread 2", shown in orange and blue respectively). As shown in Figure A and B, each box within each processor represents an execution unit. Each set of three horizontal boxes within each processor shows how the three execution units are being used during a given clock cycle. If a box is white, that execution unit is idle during the given clock cycle (for example, if one box is white during a clock cycle, then 1/3 of the resources are idle and 2/3 of the resources are utilized during that clock cycle). The vertical sets indicate the utilization of the three execution units over time (during multiple clock cycles). The more white boxes, the less efficient the utilization of execution resources. Sometimes all the execution resources within a processor are being used, and sometimes there are idle resources that are waiting due to cache misses, branch mispredictions, or instruction dependencies for each thread. Figure C shows the result of system based on an Intel processor supporting HyperThreading Technology. This configuration allows the Intel processor supporting HyperThreading Technology to execute two separate threads simultaneously ("Thread 1" and "Thread 2", shown in orange and blue respectively), one thread for each logical processor. The Intel processor supporting Hyper-Threading Technology is utilizing the execution units more frequently and reducing idle time on the processor.

GOALS OF HT TECHNOLOGY
One goal was to minimize the die area cost of implementing Hyper-Threading Technology. Since the logical processors share the vast majority of microarchitecture resources and only a few small structures were replicated, the die area cost of the first implementation was less than 5% of the total die area. A second goal was to ensure that when one logical processor is stalled the other logical processor could continue to make forward progress. The third goal is to issue HALT instruction by operating system when there is only one active thread. HALT will allow the processor to transition to single task mode where only one logical processor is active and all the resources are only used by it. An operating system that does not use this optimization would execute on the idle logical processor a sequence of instructions that repeatedly checks for work to do. This so-called idle loop can consume significant execution resources that could otherwise be used to make faster progress on the other active logical processor.

SYSTEM REQUIREMENTS
An HT enabled P4 processor by itself cant bring the benefits of HT technology to your system .you also need the following A compatible motherboard (chipset). BIOS support to enable/disable HT Technology. If your operating system doesnt support HTT , you should disable this feature to ensure proper compatibility with the processor. A compatible operating system that include optimization for HTT and aware of multiprocessor such as Windows XP professional and Home versions or certain versions of Linux.When Hyperthreading is enabled ,Device Manager show two processors Follow these steps ,to verify hyper threading technology is enabled inWindows Task manager: 1. Right click Task Bar 2. Click Task Manager 3. Click the Performance Tab

Follow these steps , to verify hyper threading technology is enabled in Windows XP Device manager 1. 2. 3. 4. 5. 6. Click start menu Click control panel Double click system Click the hardware tab Click device manager Double click processor

Você também pode gostar