Saturday, March 14, 2009

A dual core processor

Dual-core refers to a CPU that includes two complete execution cores per physical processor. It combines two processors and their caches and cache controllers onto a single integrated circuit (silicon chip). It is basically two processors, in most cases, residing reside side-by-side on the same die.

In a single-core or traditional processor the CPU is fed strings of instructions it must order, execute, then selectively store in its cache for quick retrieval. When data outside the cache is required, it is retrieved through the system bus from random access memory (RAM) or from storage devices. Accessing these slows down performance to the maximum speed the bus, RAM or storage device will allow, which is far slower than the speed of the CPU. The situation is compounded when multi-tasking. In this case the processor must switch back and forth between two or more sets of data streams and programs. CPU resources are depleted and performance suffers.

Dual-processor, Dual-core, and Multi-core:
Dual-processor (DP) systems are those that contains two separate physical computer processors in the same chassis. In dual-processor systems, the two processors can either be located on the same motherboard or on separate boards.
In a dual-core configuration, an integrated circuit (IC) contains two complete computer processors. Usually, the two identical processors are manufactured so they reside side-by-side on the same die, each with its own path to the system front-side bus.
Multi-core is somewhat of an expansion to dual-core technology and allows for more than two separate processors.

A dual core processor is different from a multi-processor system.
In the latter there are two separate CPUs with their own resources. In the former, resources are shared and the cores reside on the same chip. A multi-processor system is faster than a system with a dual core processor, while a dual core system is faster than a single-core system, all else being equal.

In a dual core processor each core handles incoming data strings simultaneously to improve efficiency. Just as two heads are better than one, so are two hands. Now when one is executing the other can be accessing the system bus or executing its own code.

To utilize a dual core processor, the operating system must be able to recognize multi-threading and the software must have simultaneous multi-threading technology (SMT) written into its code. SMT enables parallel multi-threading wherein the cores are served multi-threaded instructions in parallel. Without SMT the software will only recognize one core. Adobe Photoshop is an example of SMT-aware software. SMT is also used with multi-processor systems common to servers.

A dual-core processor has many advantages especially for those looking to boost their system's multitasking computing power. Complete optimization for the dual-core processor requires both the operating system and applications running on the computer to support a technology called thread-level parallelism, or TLP. Thread-level parallelism is the part of the OS or application that runs multiple threads simultaneously, where threads refer to the part of a program that can execute independently of other parts.

Even without a multithread-enabled application, you will still see benefits of dual-core processors if you are running an OS that supports TLP. For example, if you have Microsoft Windows XP (which supports multithreading), you could have your Internet browser open along with a virus scanner running in the background, while using Windows Media Player to stream your favorite radio station and the dual-core processor will handle the multiple threads of these programs running simultaneously with an increase in performance and efficiency.

Today Windows XP and hundreds of applications already support multithread technology, especially applications that are used for editing and creating music files, videos and graphics because types of programs need to perform operations in parallel.

For the average user the difference in performance will be most noticeable in multi-tasking until more software is SMT aware. Servers running multiple dual core processors will see an appreciable increase in performance.

Multi-core processors are the goal and as technology shrinks, there is more "real-estate" available on the die. In the fall of 2004 Bill Siu of Intel predicted that current accommodating motherboards would be here to stay until 4-core CPUs eventually force a changeover to incorporate a new memory controller that will be required for handling 4 or more cores.

Sources:
http://www.wisegeek.com/what-is-a-dual-core-processor.htm
http://www.webopedia.com/DidYouKnow/Hardware_Software/2005/dual_core.asp

0 comments: