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.
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.
![]()
![]() | 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:
![]() | Detecting Hyper-Threading Technology and Counting Processors in Multi-Core Systems Learn how to detect HT Technology in a multi-core processor environmen... |
![]() | Getting ready for hyper-threading technology, part I: changing the mindset by Andrew Binstock, principal analyst, Pacific Data Works LLC. Intel C... |
![]() | Achieving threading success By Matt Gillespie and Clay Breshears. Intel Corp. For quite some ti... |
![]() | 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... |
![]()
Related Jobs:

