Dual processors, Hyper-Threading Technology, and multi-core systems
Hyper Threading Architecture Paper | Dual Processor Computer: Dual-processor systems, Hyper-Threading Technology processors, and multi-core systems are all computer systems designed to execute two or more software programs within a single program. But they differ in the details.

by Sunish Parikh, software performance engineer, and Thomas E. Martinez, software performance engineer, Core Software Division, Software Solutions Group, Intel Corp.

This paper is intended to provide software professionals with a basic understanding of the differences between several computer system architectures capable of executing two (or more) software programs, for example in a multitasking environment or multiple threads within one program. The architectures that will be discussed are dual-processor systems, Intel® Xeon™ processors with Hyper-Threading Technology, Dual-core processor systems and Multi-core processor systems.

Definitions and architectural details The dual processor
A traditional dual-processor system contains two separate physical computer processors in the same chassis. The two processors are usually located on the same circuit board (mother board) but occasionally will be located on separate circuit boards. In this case, each of the processors will reside in its own socket. A dual-processor (DP) system can also be considered a subset of the larger set of a symmetric multiprocessor (SMP) system. A multi-processor capable operating system can schedule two separate computer processes or two threads within a process to run simultaneously on these separate processors.

dual-processor systems

Figure 1. Dual-Processor system

Hyper-Threading Technology

Hyper-Threading Technology (HT Technology) was developed by Intel Corporation to bring the simultaneous multi-threading approach to the Intel architecture. With HT Technology, two threads can execute on the same single processor core simultaneously in parallel rather than context switching between the threads. Scheduling two threads on the same physical processor core allows better use of the processors resources.

HT Technology is available on Intel Xeon processors and some Intel Pentium® 4 processors. HT Technology adds circuitry and functionality into a traditional processor to enable one physical processor to appear as two separate processors. Each processor is then referred to as a logical processor. The added circuitry enables the processor to maintain two separate architectural states and separate Advanced Programmable Interrupt Controllers (APIC) which provides multi-processor interrupt management and incorporates both static and dynamic symmetric interrupt distribution across all processors. The shared resources include items such as cache, registers, and execution units to execute two separate programs or two threads simultaneously. Requirements to enable HT Technology are system equipped with a processor with HT Technology, an OS that supports HT Technology and BIOS support to enable/disable HT Technology.


Subscribers who liked this article also read:
Improve XML processing with VTD-XML
by Jimmy Zhang, founder, Ximpleware. Intel Corp. Behind closed ...
Improve .NET Performance: Detecting and Reducing Thread Imbalance
Potential performance imbalance can occur between processors when thre...

If you're interested in this topic, these articles may be helpful:

Achieving threading success
By Matt Gillespie and Clay Breshears. Intel Corp. For quite some ti...
Getting ready for hyper-threading technology, part I: changing the mindset
by Andrew Binstock, principal analyst, Pacific Data Works LLC. Intel C...
Cache-blocking technique on Hyper-Threading Technology-enabled processors
by Phil Kerly, senior software engineer, Software and Solutions Group,...
Tutorial: Introduction to Hyper-Threading Technology
Course Description and Objectives Description: This course describe...
Detecting Hyper-Threading Technology and Counting Processors in Multi-Core Systems
See the complete article Learn how to detect HT Technology in a mul...

Related Jobs:

Development Manager - MD - Hyattsville - High Performance Technologies, Inc.
High Performance Technologies, Inc. (HPTi), based in Reston, VA is a s...
GSM/Dual Mode System Architect #784 - CA - Milpitas - PalmOne, Inc.
GSM/Dual Mode System Architect Job code: 784 Job Category: Engineeri...
Support Professional #143054 - TX - Las Colinas - Microsoft Corporation
Support Engineer Can you handle the truth? Security Support Eng...
Software Development Engineer #151336 - WA - Redmond - Microsoft Corporation
Interested in super-aggressive optimization of graphics algorithm impl...
New Application Relationship Analyst #2399954 - NY - New York - Ajilon
Description : The Credit Infrastructure Transformation (CIT) is ...
Software Engineer I #T05-4356 - MA - Needham - General Dynamics C4 Systems
Job Title Software Engineer I Location Needham MA Relocation Avail...
Systems Engineer #136244 - WA - Redmond - Microsoft Corporation
Do you have a passion for technology and how you can directly influenc...
Software Development Engineer in Test #150715 - WA - Redmond - Microsoft Corporation
The Visual C++ Quality Assurance team - Are you passionate about quali...
Software Engineer I #T05-4361 - MA - Needham - General Dynamics C4 Systems
Job Title Software Engineer I Location Needham MA Relocation Avail...
Instructional Designer & Trainer #2518526 - NY - New York - Ajilon
Description : Instructional Designer/Trainer Responsibilities: ...