Welcome to the Intel® Software Dispatch Subscription Program

Multi-Core: Intel's new processor architecture explained
Intel Technical Notes on Multicore Technology : Intel announced that future generations of its Itanium processors, Pentium processors, and Intel Xeon processors would rely on multi-core architecture. By announcing this new design, Intel revealed how it will improve platform performance and capabilities while facing the increasing challenge of power consumption. This article explains what multi-core is, how it works, and why it is important to the software industry as well as to buyers of PCs and servers.

by Andrew Binstock, principal analyst, Pacific Data Works LLC.

Last May, Intel announced that future generations of its Itanium® processors, Pentium® processors, and Intel Xeon™ processors would rely on multi-core architecture. By announcing this new design, Intel revealed how it will improve platform performance and capabilities while facing the increasing challenge of power consumption. This article explains what multi-core is, how it works, and why it's important to the software industry as well as to buyers of PCs and servers.

What is multi-core?
At its simplest, multi-core is a design in which a single physical processor contains the core logic of more than one processor. It's as if an Intel Xeon processor were opened up and inside were packaged all the circuitry and logic for two (or more) Intel Xeon processors. The multi-core design takes several such processor "cores" and packages them as a single physical processor. The goal of this design is to enable a system to run more tasks simultaneously and thereby achieve greater overall system performance.

To many readers, the multi-core design will have a familiar ring. The Intel® Pentium 4 and Intel Xeon processors today already use Hyper-Threading Technology (HT Technology) to execute multiple programs simultaneously. But HT Technology and multi-core designs differ significantly and deliver different performance characteristics. The key differentiator lies in how a program's instructions are executed. To get at this difference, we need to review how multiple threads are run on today's servers and desktops.

Multithreading, Hyper-Threading, or Multi-Core?
Programs are made up of execution threads. These threads are sequences of related instructions. In the early days of the PC, most programs consisted of a single thread. The operating systems in those days were capable of running only one such program at a time. The result was—as some of us painfully recall—that your PC would freeze while it printed a document or a spreadsheet. The system was incapable of doing two things simultaneously. Innovations in the operating system introduced multitasking in which one program could be briefly suspended and another one run. By quickly swapping programs in and out in this manner, the system gave the appearance of running the programs simultaneously. However, the underlying processor was, in fact, at all times running just a single thread.

By the beginning of this decade, processor design had gained additional execution resources (such as logic dedicated to floating-point and integer math) to support executing multiple instructions in parallel. Intel saw an opportunity in these extra facilities. The company reasoned it could make better use of these resources by employing them to execute two separate threads simultaneously on the same processor core. Intel named this simultaneous processing Hyper-Threading Technology and released it on the Intel Xeon processors in 2003. According to Intel benchmarks, applications that were written using multiple threads could see improvements of up to 30% by running on processors with HT Technology. More important, however, two programs could now run simultaneously on a processor without having to be swapped in and out (See Figure 1.) To induce the operating system to recognize one processor as two possible execution pipelines, the new chips were made to appear as two logical processors to the operating system.


HT technology enables two threads to execute simultaneously on a single processor core

Figure 1. HT Technology enables two threads to execute simultaneously on a single processor core

The performance boost of HT Technology was limited by the availability of shared resources to the two executing threads. As a result, HT Technology cannot approach the processing throughput of two distinct processors because of the contention for these shared resources. To achieve greater performance gains on a single chip, a processor would require two separate cores, such that each thread would have its own complete set of execution resources. Enter multi-core.

Multi-core processors
Multi-core processors, as the name implies, contain two or more distinct cores in the same physical package. Figure 2 shows how this appears in relation to previous technologies.


multicore processors have multiple execution cores on a single chip

Figure 2. Multi-Core processors have multiple execution cores on a single chip

In this design, each core has its own execution pipeline. And each core has the resources required to run without blocking resources needed by the other software threads.

While the example in Figure 2 shows a two-core design, there is no inherent limitation in the number of cores that can be placed on a single chip. Intel has committed to shipping dual-core processors in 2005, but it will add additional cores in the future. Mainframe processors today use more than two cores, so there is precedent for this kind of development.

The multi-core design enables two or more cores to run at somewhat slower speeds and at much lower temperatures. The combined throughput of these cores delivers processing power greater than the maximum available today on single-core processors and at a much lower level of power consumption. In this way, Intel increases the capabilities of server platforms as predicted by Moore's Law while the technology no longer pushes the outer limits of physical constraints.


Subscribers who liked this article also read:
Create High-Performance Embedded Apps Through Compiler Optimization
An optimal compiler can both increase application performance and decr...
Case Study: Animation Company Improves Rendering and Cost with Intel Xeon Processor
Maya Entertainment Ltd. is a leading computer animation and visual eff...
Getting started with a Linux software-development toolchain
by Alan Zeichick, principal analyst, Camden Associates. Intel Corp. ...

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

Boosting Cryptography Performance with Intel® Libraries
by Muneesh Nagpal, server applications engineer, Core Software Divisio...
Building a distributed rich-media application using Microsoft and Intel technologies
by Jonathan Kantor, Intel Corp. Collaborative digital-media applica...
An Introduction to Business Intelligence for IT
What is Business Intelligence and How Can it Help Me? Every year orga...
Hyper-Threading Technology, Multi-core, and Mobile Intel
By Khang Nguyen A Hyper-Threading Technology (HT Technology) enable...
Intel Mobile Application Architecture Guide
Intel Corp. Companies are recognizing the potential for mobilized s...

Related Jobs:

Firmware/BIOS Development Engineer - WA - Bellevue - General Software, Inc.
General Software is expanding its Technology Team with new Firmware an...
Help Desk JR Technician #R-262-05 - VA - Arlington - McDonald Bradley, Inc.
R-262-05 Help Desk JR Technician Sep 14, 2005 Arlington,Virginia ...
Help Desk Lead #R-256-05 - VA - Arlington - McDonald Bradley, Inc.
R-256-05 Help Desk Lead Sep 14, 2005 Arlington,Virginia Send J...
Help Desk (Junior IT Analyst) #R-259-05 - DC - Washington - McDonald Bradley, Inc.
R-259-05 Help Desk (Junior IT Analyst) Sep 14, 2005 Washington,Distr...
Software Development Engineer #132822 - CA - Mountain View - Microsoft Corporation
Microsoft TV Foundation Edition is inventing the future of digital tel...
Software Development Engineer #139369 - WA - Redmond - Microsoft Corporation
Aren’t you tired with job descriptions that starts with ‘Are you passi...
Help Desk (Junior IT Analyst) #R-257-05 - DC - Washington - McDonald Bradley, Inc.
R-257-05 Help Desk (Junior IT Analyst) Sep 14, 2005 Washington,Distr...
Development Manager - MD - Hyattsville - High Performance Technologies, Inc.
High Performance Technologies, Inc. (HPTi), based in Reston, VA is a s...
Help Desk JR Technician #R-261-05 - VA - Arlington - McDonald Bradley, Inc.
R-261-05 Help Desk JR Technician Sep 14, 2005 Arlington,Virgini...
Network & Systems Support Specialist - US - Philadelphia - Crown Cork & Seal Company, Inc.
Background: The growth of Crown Americas over the last few years ha...