You are on page 1of 4

Computer Architecture

MULTI-CORE PROCESSOR y

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

y y y

2-dimentional mesh, and crossbar. Multi-core processors are widely used across many application domains including: generalpurpose, 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. Companies that have produced or are working on multi-core products include AMD, ARM, Broadcom, Intel, and VIA.

MULTI-CORE ARCHITECTURES

Replicate multiple processor cores on a single die.


Core 1 Core 2 Core 3 Core 4

Figure - Multi-core CPU chip The cores run in parallel Within each core, threads are time-sliced

2|Page

Multi-core processor is a special kind of a multiprocessor: All processors are on the same chip y Multi-core processors are MIMD: Different cores execute different threads (Multiple Instructions), Operating on different parts of memory (Multiple Data).
Multi-core is a shared memory multiprocessor: All cores share the same memory WHAT APPLICATIONS BENEFIT FROM MULTI-CORE? y y y y y y

Database servers Web servers (Web commerce) Compilers Multimedia applications Scientific applications, CAD/CAM In general, applications with Thread-level parallelism (as opposed to instruction level parallelism)

EXAMPLES y y y y

Editing a photo while recording a TV show through a digital video recorder Downloading software while running an anti-virus program Anything that can be threaded today will map efficiently to multi-core BUT: some applications difficult to parallelize

WHY MULTI-CORE? y y

Difficult to make single-core clock frequencies even higher Deeply pipelined circuits:     heat problems speed of light problems difficult design and verification large design teams necessary

y y y

 server farms need expensive air-conditioning Many new applications are multithreaded General trend in computer architecture (shift towards more parallelism) Better Performance  For the Multi tasking e.g. Burning CD with graphic works at the same time Power consumption and Heat generation  Caused from the advance of CPU clock speed Save the room of motherboard  Two single cores In one die We can use this room more efficiently
3|Page

y y

y y

Simplicity  We need additional systems to control the several single cores. Economical efficiency  A dual-core is much cheaper than two single cores

MULTICORE CHALLENGES y

Memory/Cache coherence. Some implementations have distributed L1 caches but must share an L2 cache. This poses the problem of making sure each core keeps the other updated with changes in the data in its own cache. Multi threading is also a problem when the software being run is not designed to take advantage of the multi core processor. This may mean that one core does most of the work which means that the processor is running no more efficiently than a single core.

ADVANTAGES OF MULTI-CORE y y y y

Cache coherency circuitry can operate at a much higher clock rate than is possible if the signals have to travel off-chip. Signals between different CPUs travel shorter distances, 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. A dual-core processor uses slightly less power than two coupled single-core processors.

DISADVANTAGES OF MULTI-CORE y y y y y

Ability of multi-core processors to increase application performance depends on the use of multiple threads within applications. Most Current video games will run faster on a 3 GHz single-core processor than on a 2GHz dual-core processor (of the same core architecture. Two processing cores sharing the same system bus and memory bandwidth limits the realworld performance advantage. If a single core is close to being memory bandwidth limited, going to dual-core might only give 30% to 70% improvement. If memory bandwidth is not a problem, a 90% improvement can be expected.

CONCLUSION y y y

Multi-core chips an important new trend in computer architecture Several new multi-core chips in design phases Parallel programming techniques likely to gain importance Multicore success requires Reduction in core cache size Adoption of mesh based on-chip interconnect Use of a stream based programming API

4|Page

You might also like