Dual Core Processor Technology


Computer processor design has evolved at a constant pace for the last 30 years. The proliferation of computers into the mass market and the tasks we ask of them continue to push the need for more powerful processors. The market requirement for higher performing processors is linked to the demand for more sophisticated software applications. Dual core processor technology is one of the most important initial advancement in multi core processor.

E-mail, for instance, which is now used globally, was only a limited and expensive technology 20 years ago. Today, software applications span everything from helping large corporations better manage and protect their business-critical data and networks to allowing PCs in the home to edit home videos, manipulate digital photographs, and burn downloaded music to CDs. Tomorrow, software applications might create real-world simulations that are so vivid it will be difficult for people to know if they are looking at a computer monitor or out the window; however, advancements like this will only come with significant performance increases from readily available and inexpensive computer technologies.

Multi-core processors represent a major evolution in computing technology. This important

development is coming at a time when businesses and consumers are beginning to require the benefits offered by these processors due to the exponential growth of digital data and the globalization of the Internet. Multi-core processors will eventually become the pervasive computing model because they offer performance and productivity benefits beyond the capabilities of today’s single-core processors.

Moore's Law Isn't Really Dead

A quick search on Moore’s law on major news sites in the last few months will undoubtedly bring up a slew of hits on how Moore’s law cannot keep up and how the days of doubling performance and the doubling of transistors is over. AMD’s take on Moore’s law is that it will continue on for some time yet, but the approach will be different. Instead of doubling performance through the doubling of clock speed, the doubling of performance will come from the increase in the number of cores; doubling the number of cores on a processor will also lead to the number of transistors doubling so while clock speed may not be scaling like in the hey day of early 2000s, performance should still theoretically double

A dual core processor is a CPU with two separate cores on the same die, each with its own cache. It’s the equivalent of getting two microprocessors in one.

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 Core Processor

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. Adding to this favorable scenario, both AMD and Intel’s dual-core flagships are 64-bit.

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 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.

An attractive value of dual core processors is that they do not require a new motherboard, but can be used in existing boards that feature the correct socket. 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. Note that the two threads may require different resources within the execution unit, which could permit a greater performance increase.

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.

As more transistors fit on a chip, total power consumption and heat increase. Growing demand for mobile, multifunctional devices adds efficient battery usage to the power equation.

Intel was one of the first companies to anticipate the trends and clarify the scope of the power challenge. Smaller transistors consume less power, but as transistor density and speed rise, the overall chip consumes more power and generates more heat. In addition, power leakage the continued flow of current even when the transistor is “off” becomes more problematic, wasting a higher portion of total device power.

Dual Core Processor Technology
Figure 1: Architectural Performance

Dual Processor System

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 Core Processor Technology
Figure 2: Block Diagram of Single Core Processor
Dual Core Processor
Figure 3: Block Diagram of Dual Core Processor
Dual Processor system
Figure 4: Dual Processor system

“Dual Core”-this term refers to integrated circuit (IC) chips that contain two complete physical computer processors (cores) in the same IC package. Typically, this means that two identical processors are manufactured so they reside side-by-side on the same die. It is also possible to (vertically) stack two separate processor die and place them in the same IC package. Each of the physical processor cores has its own resources (architectural state, registers, execution units, etc.). The multiple cores on-die may or may not share several layers of the on-die cache.

A dual core processor design could provide for each physical processor to: 1) have its own on-die cache, or 2) it could provide for the on-die cache to be shared by the two processors, or 3) each processor could have a portion of on-die cache that is exclusive to a single processor and then have a portion of on-die cache that is shared between the two dual core processors. The two processors in a dual core package could have an on-die communication path between the processors so that putting snoops and requests out on the FSB is not necessary. Both processors must have a communication path to the computer system front-side bus.
Note that dual core processors could also contain HT Technology which would enable a single processor IC package, containing two physical processors, to appear as four logical processors capable of running four programs or threads simultaneously. At the Intel Developer Forum in Fall 2004, Intel publicly announced that it plans to release dual core processors for mobile, desktop and server platforms in 2005.

Dual Core Processor Technology
Figure 5 : Dual Core System
Dual Core Processor Technology
Figure 6: Dual Core Processor

For Video Tutorial on Inverting Comparator in Hindi

The idea behind this implementation of the chip’s internal architecture is in essence a “divide and conquer” strategy. In other words, by divvying up the computational work performed by the single Pentium microprocessor core in traditional microprocessors and spreading it over multiple execution cores, a dual – core processor can perform more work within a given clock cycle. Thus, it is designed to deliver a better overall user experience. To enable this improvement, the software running on the platform must be written such that it can spread its workload across the execution cores. This functionality is called thread-level parallelism or “threading,” and applications and operating systems (such as Microsoft Windows* XP) that are written to support it are referred to as “threaded” or “multi-threaded.”

A processor equipped with thread-level parallelism can execute completely separate threads of code. This can mean one thread running from an application and a second thread running from an operating system, or parallel threads running from within a single application. (Multimedia applications are especially conducive to thread-level parallelism because many of their operations can run parallel.

As software developers continue to design more threaded applications that capitalize on this architecture, dual-core processors can be expected to provide new and innovative benefits for PC users, at home and at work. Dual-core capability can also enhance the user experience in multitasking environments, namely, where a number of foreground applications run concurrently with a number of background applications such as virus protection and security, wireless, management, compression, encryption and synchronization.

Memory Performance

Memory performance is often viewed in two ways. The first is random access latency; the second is the throughput of sequential accesses. Each is relevant to a different work load, and each tells a different story. Random access latency was determined by measuring how long it takes to chase a chain of pointers through memory. Only a single chain was followed at a time, so this is a measure of unloaded latency. Each chain stores only one pointer in a cache line, and each cache line is chosen at random from a pool of memory. The pool of memory simulates the working set of an application. When the memory pool is small enough to fit within cache, the benchmark measures the latency required to fetch data from cache. By adjusting the size of the memory pool one can measure the latency to any specific level of cache, or to main memory, by making the pool larger than all levels of cache.

We measured unloaded latency using a 2.6 GHz single-core Opteron processor and a 2.2 GHz dual-core Opteron processor. These processors were selected because they represent the fastest processors of each type available at this time. Based on the processor frequencies alone, one would expect that the 2.6 GHz single core processor would have lower latencies to cache and to memory, and from the figure we can see that this is the case. The 2.6 GHz processor has a latency to L1 cache of about 1.2 nanoseconds, whereas the L1 cache latency of the 2.2 GHz processor is about 1.45 nanoseconds. This corresponds exactly to the difference one would expect based on frequency differences GF/s alone. The L2 cache latencies are 5.6 and 6.6 nanoseconds, respectively, which also show perfect frequency scaling.

The surprise is that for each level in the memory hierarchy there are multiple latencies that may occur. Latencies are not spread randomly across a range, but they gravitate to specific discrete values. This suggests that each latency value reflects a different path through the system, but at this time the idea is only speculation. It definitely bears further investigation. One observation is that the benchmark left the memory affinization implicitly to the operating system, so it is possible that the higher latencies are references to remote memory, while the lower latencies are to local memory. If true this would reflect an unexpected failure on the part of the benchmark or the operating system, and it would not explain why there are multiple latencies to cache. As mentioned before this will be investigated further, but what is important is to note that multiple latencies do happen.

The next few charts, Figure 5 and Figure 6, show the memory throughput for sequential memory accesses. The surprise is that memory throughput is sometimes better for dual-core than for single-core. It has been speculated that dual-core would have lower memory throughput because of its lower clock frequency, and it was thought that the additional cores would cause additional memory contention. Figure 5 shows that the lower frequency clearly does have an effect when only a single processor or core is being used. But this should occur infrequently, seeing how these systems are used as heavily loaded servers rather than as lightly loaded workstations.

Dual Core Processor Technology
Figure 7: Single Processor e326 Memory Throughput
Dual Core Processor Technology
Figure 8: Dual Processor e326 Memory throughput

Memory contention, if it occurred, would be seen in Figure 6. In this figure each system is loaded with a single thread per core that generates memory references as fast as it is able, one write operation for every two read operations. The operating system allocates physical memory in such a way that references access local memory. If memory contention were occurring, the dual-core system would have lower throughput than the single-core system. But we can see from Figure 6 that the dual-core system has higher throughput, not lower, so we conclude something different is occurring. Instead of causing contention, the additional load allows the memory controller to operate more effectively, doing a better job of scheduling the commands to memory. So even though the memory controller is clocked more slowly and the memory it’s connected to is the same, it is still able to achieve up to 10% higher bandwidth.

Hyper-Threading vs. Dual-Core

HT Technology is limited to a single core using existing execution resources more efficiently to better enable threading, whereas multi-core capability provides two or more complete sets of execution resources to increase compute throughput. Any application that has been optimized for HT Technology will deliver great performance when run on an Intel dual-core processor-based system. So, users will be able to take advantage of many existing applications that are already optimized for two threads from the earliest days of Intel’s dual-core ramp.

Multi-core chips do more work per clock cycle, and thus can be designed to operate at lower frequencies, than their single core counterparts. Since power consumption goes up proportionally with frequency, multi-core architecture gives engineers the means to address the problem of runaway power and cooling requirements. Multi-core processing may enhance user experience in many ways, such as improving the performance of compute- and bandwidth-intensive activities, boosting the number of PC tasks that can be performed simultaneously and increasing the number of users that can utilize the same PC or server. The architecture’s flexibility will scale out to meet new usage models that are bound to arise in the future as digitized data.

New Benefits for Both Home and Business

A multitasking scenario can be as simple as a home user editing photos while recording a TV show through a digital video recorder while a child in another room of the house streams a music file from the PC. In a business setting, users could increase their productivity by performing multiple tasks more efficiently, such as working on several office-related applications as the system runs virus software in the background. Keep reading for specific scenarios.

In the Digital Enterprise

Today the steady increase in the density of systems in data centers is creating power and cooling challenges for many IT organizations. Part of the answer will be Intel multi-core server platforms. By enabling a single processor form factor to serve multiple processor cores, these platforms will provide superior performance and scalability while remaining relatively constant in power consumption, heat and space requirements. As a result, more processing capacity can be concentrated into fewer servers. This means greater density and fewer servers to manage.

In the Digital Office

Multi-core processors hold the promise of continuing the enormous increases in computer performance seen over the last quarter century. What will this performance mean for office productivity? Graphic designers, for instance, can render images much more quickly on multi-core systems. The greater responsiveness of multi-core platforms translates into less waiting for everyone in the digital office. For people like stockbrokers this could literally mean dollars, as their computers enable more-informed investment decisions and faster trades.

In the Digital Home

The digital home, with ever-growing numbers of networked PC and consumer electronics devices, will increasingly depend on the multitasking capabilities of multi-core processors to handle the demands of orchestrating the different networked TVs, stereos, cameras, and other devices and appliances in the household. Multi-core is also taking gaming to a whole new level, and will also make multiparty gaming ubiquitous. Tomorrow’s computers will be powerful enough to run multiparty gaming and collaboration on their own. No longer will games have to be housed in huge servers—they will be distributed across the Internet. That should enable greater proliferation and access, plus inspire new forms of games and collaboration.

The digital home, with ever-growing numbers of networked PC and consumer electronics devices, will increasingly depend on the multitasking capabilities of multi-core processors to handle the demands of orchestrating the different networked TVs, stereos, cameras, and other devices and appliances in the household. Multi-core is also taking gaming to a whole new level, and will also make multiparty gaming ubiquitous. Tomorrow’s computers will be powerful enough to run multiparty gaming and collaboration on their own. No longer will games have to be housed in huge servers—they will be distributed across the Internet. That should enable greater proliferation and access, plus inspire new forms of games and collaboration.

For Mobile Users

Intel Centrino mobile technology has taken mobile computing to places we never dreamed of. Who would have envisioned working remotely in a coffee shop via Wi-Fi just 5 years ago? Adding multi-core processors to the mobile mix will expand horizons even more. Incredible new mobile technologies will enable doctors in cities to remotely diagnose patients living in isolated locations—and that’s just one scenario. You can be sure there are others we haven’t even dreamed of yet.

Some other important advantages:

  • Multi-tasking productivity: Multi-core processor PC users will experience exceptional performance while executing multiple tasks simultaneously. The ability to do complex, multi-tasked workloads, such as creating professional digital content while checking and writing e-mails in the foreground, and also running firewall software or downloading audio files off the Web in the background, will allow consumers and workers to do more work in less time

  • PC security can be enhanced because multicore processors can run more sophisticated virus, spam, and hacker protection in the background without performance penalties
  • Cool and quiet: The enhanced performance offered by multi-core processors will come without the additional heat and fan noise that would likely accompany performance increases with single-core processor machines


The appearance of dual-core processors and solutions with additional new features once again indicate that the clock frequency race is no longer acute. I believe that in the near future we will not select processors according to their clock rates but will take into account the whole lot of various characteristics, including not only the working frequency, but also the number of processor cores, cache memory size, additional technologies support and maybe more.

As the time passes and the OS and software developers adapt more to the new working conditions, the multi-core processor architectures can lead the industry to the new performance levels.

Recent posts

1 thought on “Dual Core Processor Technology”

  1. דירות דיסקרטיות בתל אביב israel night club

    Everything is very open with a clear clarification of the challenges. It was truly informative. Your site is extremely helpful. Thanks for sharing!

Comments are closed.