Introduction What is the processor? The processor does exactly what the name implies it does: it processes instructions. Well in the simplest of terms, it’s your computer’s brain. The processor tells your computer what to do and when to do it, it decides which tasks are more important and prioritizes them to your computers needs. It processes instructions and manipulates data after fetching them from the PC's RAM (random access memory), and the PC could not function without it Modern processors can only handle one instruction from one program at any given point in time. Each instruction that is sent to the processor is called a thread. Even though it looks like you're multitasking with your computer (running more then one program at a time) you're really not. The CPU will divide it's time and power evenly between all the programs by switching back and forth. This little charade of switching back and forth tricks the end user and gives us the sense of multitasking. The primary disadvantage was processor didn’t utilize the complete efficiency of the CPU. In order to overcome this, a new technology enable processor was introduced , Hyper-Threading & Dual Core.
Hyper-Threading Hyper-Threading Technology is a groundbreaking innovation from Intel® Corporation that enables multi-threaded software applications to execute threads in parallel This level of threading technology has never been seen before in a general-purpose microprocessor. Internet, e-Business, and enterprise software applications continue to put higher demands on processors. To improve performance in the past, threading was enabled in the software by splitting instructions into multiple streams so that multiple processors could act upon them. Today with Hyper-Threading Technology, processor-level threading can be utilized which offers more efficient use of processor resources for greater parallelism and improved performance on today’s multi-threaded software. HyperThreading Technology provides thread-level-parallelism (TLP) on each processor resulting in increased utilization of processor execution
resources. As a result, resource utilization yields higher processing throughput. Hyper-Threading Technology is a form of simultaneous multi-threading technology (SMT) where multiple threads of software applications can be run simultaneously on one processor. This technology is largely invisible to the platform. In fact, many applications are already multi-threaded and will automatically benefit from this technology. Today’s multi-processing aware software is also compatible with Hyper-Threading Technology enabled platforms, but further performance gains can be realized by specifically tuning software for Hyper-Threading Technology. This technology complements traditional multi-processing by providing additional headroom for future software optimizations and business growth.
Basics 1. When you run multiple programs at once, the operating system is also involved. To the end user, it appears as if the processor is “running” more than one program at the same time, and indeed, there actually are multiple programs loaded into memory. 2. But the CPU can execute only one of these programs at a time. The OS maintains the illusion of concurrency by rapidly switching between running programs at a fixed interval, called a time slice. The time slice has to be small enough that the user doesn’t notice any degradation in the usability and performance of the running programs, and it has to be large enough that each program has a sufficient amount of CPU time in which to get useful work done.
Dual Core Processor 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.
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.
Intel Core 2 processor family Original New logo * logo
Desktop
Laptop
Codenamed
Core
Conroe Allendale Wolfdale
Date Codereleased named
Core
Date released
dual (65 nm) Aug 2006 dual Merom Jan 2007 (65 nm) Penryn Jan 2008 dual (45 nm)
dual (65 nm) dual (45 nm)
Jul 2006 Jan 2008
dual Merom Conroe XE (65 nm) XE Kentsfield Jul 2006 quad Penryn XE Nov 2006 (65 nm) XE Yorkfield Nov 2007 quad Penryn XE (45 nm) XE
dual (65 nm) dual (45 nm) quad (45 nm)
Jul 2007 Jan 2008 Aug 2008
quad Kentsfield (65 nm) Jan 2007 Penryn Yorkfield quad Mar 2008 (45 nm)
quad (45 nm)
Aug 2008
Desktop version not available
* Sort by List of Intel Core 2 microprocessors
initial
Single Merom (65 nm) Penryn Single (45 nm) date
Sep 2007 May 2008 released
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. 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.
Multi Core Processor A multi-core processor is a processing system composed of two or more independent cores (or CPUs). The cores are typically integrated onto a single integrated circuit die (known as a chip multiprocessor or CMP), or they may be integrated onto multiple dies in a single chip package. A many-core processor is one in which the number of cores is large enough that traditional multi-processor techniques are no longer efficient — this threshold is somewhere in the range of several tens of cores — and likely requires a network on chip.
A dual-core processor contains two cores, and a quad-core processor contains four cores. A multi-core processor implements multiprocessing in a single physical package. Cores in a multi-core device may be coupled together tightly or loosely. For example, cores may or may not share caches, and they may implement message passing or shared memory inter-core communication methods. Common network topologies to interconnect cores include: bus, ring, 2-dimensional mesh, and crossbar. All cores are identical in homogeneous multi-core systems and they are not identical in heterogeneous multi-core systems. Just as with single-processor systems, cores in multi-core systems may implement architectures such as superscalar, VLIW, vector processing, SIMD, or multithreading. Multi-core processors are widely used across many application domains including: general-purpose, embedded, network, digital signal processing, and graphics.
The amount of performance gained by the use of a multi-core processor is strongly dependent on the software algorithms and implementation. In particular, the possible gains are limited by the fraction of the software that can be "parallelized" to run on multiple cores simultaneously; this effect is described by Amdahl's law. In the best case, so-called embarrassingly parallel problems may realize speedup factors near the number of cores. Many typical applications, however, do not realize such large speedup factors and thus, the parallelization of software is a significant on-going topic of research.
Development While manufacturing technology continues to improve, reducing the size of single gates, physical limits of semiconductor-based microelectronics have become a major design concern. Some effects of these physical limitations can cause significant heat dissipation and data synchronization problems. The demand for more capable microprocessors causes CPU designers to use various methods of increasing performance. Some instruction-level parallelism (ILP) methods like superscalar pipelining are suitable for many applications, but are inefficient for others that tend to contain difficult-to-predict code. Many applications are better suited to thread level parallelism (TLP) methods, and multiple independent CPUs is one common method used to increase a system's overall TLP. A combination of increased available space due to refined manufacturing processes and the demand for increased TLP is the logic behind the creation of multi-core CPUs.
Advantages The proximity of multiple CPU cores on the same die allows the cache coherency circuitry to operate at a much higher clock rate than is possible if the signals have to travel off-chip. Combining equivalent CPUs on a single die significantly improves the performance of cache snoop (alternative: Bus snooping) operations. Put simply, this means that signals between different CPUs travel shorter distances, and therefore those signals degrade less. These higher quality signals allow more data to be sent in a given time period since individual signals can be shorter and do not need to be repeated as often. The largest boost in performance will likely be noticed in improved response time while running CPU-intensive processes, like antivirus scans, ripping/burning media (requiring file conversion), or searching for folders. For example, if the automatic virus scan initiates while a movie is being watched, the application running the movie is far less likely to be starved of processor power, as the antivirus program will be assigned to a different processor core than the one running the movie playback. Assuming that the die can fit into the package, physically, the multicore CPU designs require much less Printed Circuit Board (PCB) space than multi-chip SMP designs. Also, a dual-core processor uses slightly less power than two coupled single-core processors, principally because of the decreased power required to drive signals external to
the chip. Furthermore, the cores share some circuitry, like the L2 cache and the interface to the front side bus (FSB). In terms of competing technologies for the available silicon die area, multi-core design can make use of proven CPU core library designs and produce a product with lower risk of design error than devising a new wider core design. Also, adding more cache suffers from diminishing returns.
Disadvantages In addition to operating system (OS) support, adjustments to existing software are required to maximize utilization of the computing resources provided by multi-core processors. Also, the ability of multicore processors to increase application performance depends on the use of multiple threads within applications. The situation is improving: for example the Valve Corporation's Source engine, offers multi-core support, and Crytek has developed similar technologies for CryEngine 2, which powers their game, Crysis. Emergent Game Technologies Gamebryo engine includes their Floodgate technology[3] which simplifies multicore development across game platforms. See Dynamic Acceleration Technology for the Santa Rosa platform for an example of a technique to improve single-thread performance on dual-core processors. Integration of a multi-core chip drives production yields down and they are more difficult to manage thermally than lower-density single-chip designs. Intel has partially countered this first problem by creating its quad-core designs by combining two dual-core on a single die with a unified cache, hence any two working dual-core dies can be used, as opposed to producing four cores on a single die and requiring all four to work to produce a quad-core. From an architectural point of view, ultimately, single CPU designs may make better use of the silicon surface area than multiprocessing cores, so a development commitment to this architecture may carry the risk of obsolescence. Finally, raw processing power is not the only constraint on system performance. Two processing cores sharing the same system bus and memory bandwidth limits the real-world performance advantage. If a single core is close to being memory bandwidth limited, going to dualcore might only give 30% to 70% improvement. If memory bandwidth is not a problem, a 90% improvement can be expected[citation needed]. It would be possible for an application that used two CPUs to end up running faster on one dual-core if communication between the CPUs was the limiting factor, which would count as more than 100% improvement.
Examples of Multi-core processors •
Intel o o o o o o o o o
o
•
AMD o o o o o o
•
Celeron Dual-Core, the first dual-core processor for the budget/entry-level market. Core Duo, a dual-core processor. Core 2 Duo, a dual-core processor. Core 2 Quad, a quad-core processor. Core i7, a quad-core processor, the successor of the Core 2 Duo and the Core 2 Quad. Itanium 2, a dual-core processor. Pentium D, 2 single-core dies packaged in a multi-chip module. Pentium Dual-Core, a dual-core processor. Teraflops Research Chip (Polaris), a 3.16 GHz, 80-core processor prototype, which the company says will be released within the next five years[5]. Xeon dual-, quad- and hexa-core processors.
Athlon 64, Athlon 64 FX and Athlon 64 X2 family, dual-core desktop processors. Opteron, dualand quad-core server/workstation processors. Phenom, dual-, triple-, and quad-core desktop processors. Sempron X2, dual-core entry level processors. Turion 64 X2, dual-core laptop processors. Radeon and FireStream multi-core GPU/GPGPU (10 cores, 16 5-issue wide superscalar stream processors per core)
IBM o o o
POWER4, the world's first non-embedded dual-core processor, released in 2001. POWER5, a dual-core processor, released in 2004. POWER6, a dual-core processor, released in 2007.
o o
•
PowerPC 970MP, a dual-core processor, used in the Apple Power Mac G5. Xenon, a triple-core, SMT-capable, PowerPC microprocessor used in the Microsoft Xbox 360 game console.
IBM,
Sony,
and
Toshiba Cell processor, a nine-core
processor with one general purpose PowerPC core and eight specialized SPUs (Synergystic Processing Unit) optimized for vector operations used in the Sony PlayStation 3.
•
Nvidia o o o
GeForce 9 multi-core GPU (8 cores, 16 scalar stream processors per core) GeForce 200 multi-core GPU (10 cores, 24 scalar stream processors per core) Tesla multi-core GPGPU (10 cores, 24 scalar stream processors per core)
Intel Core 2 The Core 2 brand refers to a range of Intel's consumer 64-bit x86-64 single-, dual-, and quad-core CPUs based on the Intel Core microarchitecture. The single- and dual-core models are single-die, whereas the quad-core models comprise of two dies, each containing two cores, packaged in a multi-chip module. The introduction of Core 2 relegated the Pentium brand to the mid-range market, and reunified laptop and desktop CPU lines, which previously had been divided into the Pentium 4, Pentium D, and Pentium M brands. The Core microarchitecture returned to lower clock rates and improved the usage of both available clock cycles and power when compared with the preceding NetBurst microarchitectue of the Pentium 4/Dbranded CPUs. The Core microarchitecture provides more efficient decoding stages, execution units, caches, and buses, reducing the power consumption of Core 2-branded CPUs, while increasing their processing capacity. Intel's CPUs have varied wildly in power
consumption according to clock rate, architecture, and semiconductor process. The Core 2 brand was introduced on July 27, 2006, comprising the Solo (single-core), Duo (dual-core), Quad (quad-core), and in 2007, the Extreme (dual- or quad-core CPUs for enthusiasts) version. Intel Core 2 processors with vPro technology (designed for businesses) include the dual-core and quad-core branches.
The Intel® Core™2 Quad processor for were designed to handle massive compute and visualization workloads enabled by powerful multi-core technology. Providing all the bandwidth you need for nextgeneration highly-threaded applications, the latest four-core Intel Core 2 Quad processors are built on 45nm Intel® Core™ microarchitecture enabling faster, cooler, and quieter desktop PC and workstation experiences.
Duo, Quad, and Extreme The Core 2-branded CPUs include: "Conroe" (dual-core for higher- and lower-end desktops) "Merom" (dual-core for laptops) "Kentsfield" (quad-core for desktops), and their variants named:
"Penryn" (dual-core for laptops) "Wolfdale" (dual-core for desktops, low-end dual-core for desktops) "Yorkfield" (quad-core for desktops).
Features:
With four processing cores, up to 12MB of shared L2 cache and 1333 MHz Front Side Bus the Intel Core 2 Quad desktops processor delivers amazing performance and power efficiency enabled by the all new hafnium-based circuitry of 45nm Intel Core microarchitecture. The Virtualization Technology (with some exceptions) Execute Disable Bit and SSE3. Their Core microarchitecture introduced also SSSE3, Trusted Execution Technology, Enhanced SpeedStep, and Active Management Technology (iAMT2). Power your most demanding applications like encoding, rendering, editing or streaming HD multimedia. With a thermal design power (TDP) of up to only 65 W, the Core 2 dual-core Conroe consumed only half the power of less capable, but also dual-core Pentium D-branded desktop chips with a TDP of up to 130 W (a high TDP requires additional cooling that can be noisy or expensive).
The Past, Present & Future…