35
MULTI CORE POCESSOR

Multicore processor

Embed Size (px)

Citation preview

Page 1: Multicore processor

MULTI CORE POCESSOR

Page 2: Multicore processor

Introduction:

What is Processor?

A processor is the logic circuitry that responds to and

processes the basic instructions that drive a

computer. The term processor has generally replaced

the term central processing unit (CPU).

The processor in a personal computer or embedded

in small devices is often called a microprocessor.

Page 3: Multicore processor

What Is Core?

Actually, a CORE is the part of something that is

central to its existence or character.

Similarly, in computer system the CPU is referred

as CORE.

Basically, there are two types of core processor:

1. Single Core Processor

2. Multi Core Processor

Page 4: Multicore processor

Single Core

It is a processor that has only

one core, so it can only

start one operation at a

time. It can however in

some situations start a new

operation before the

previous one is complete.

Originally all processors

were single core. Examples

are Intel Pentium 4 670,

AMD Athlon 64 FX-55.

Page 5: Multicore processor

Multicore

Also called multicore technology, it is a type of

architecture where a single physical processor

contains the core logic of two or more processors.

These processors are packaged into a single

integrated circuit (IC). Examples are Intel core i7,

intel core 2 duo.

Page 6: Multicore processor

Processor consists:

A single chip package that fits in a socket

Cores can have functional units, cache, etc.

associated with them, just as today

Cores can be fast or slow, just as today

Shared resources

More cache

Other integration: Northbridge, memory controllers, high-speed

serial links, etc.

One system interface for System Bus and System Memory

Page 7: Multicore processor

Problems with Single Core

a. To execute the tasks faster you must increase the clock

time.

b. Increasing clock times too high drastically increases power

consumption and heat dissipation to extremely high

levels, making the processor inefficient.

Page 8: Multicore processor

Multi Core solution

Creating two cores or more on the same Die

increases processing power while keeping

clock speeds at an efficient level.

A processor with 2 cores running at efficient

clock speeds can process instructions with

similar speed to a single core processor

running at twice the clock speed, yet the

dual core processor would still consume less

energy.

Page 9: Multicore processor

Need for Multi-Core

For over 30 years the performance of processors has doubled every 2

years

Driven mainly by shrinkage of circuits

Smaller circuits

more transistors per chip

shorter connections

lower capacitance

Smaller circuits go faster

In early 2000s the rate started to decrease

Page 10: Multicore processor

• In the early 1970’s the first

Microprocessor was developed by

Intel.

• It was a 4 bit machine that was

named the 4004.

• The 4004 was followed by Intel’s

8008 and 8080, as well as motorola’s

6800 and 68000.

Origination of Multicore

Page 11: Multicore processor

Multi-Core Computer

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.

Page 12: Multicore processor

Multi-Core Computer dual-core processor contains two independent

microprocessors.

A dual core set-up is somewhat comparable to

having multiple, separate processors installed

in the same computer, but because the two

processors are actually plugged into the same

socket, the connection between them is faster.

Ideally, a dual core processor is nearly twice

as powerful as a single core processor. In

practice, performance gains are said to be

about fifty percent: a dual core processor is

likely to be about one-and-a-half times as

powerful as a single core processor.

Page 13: Multicore processor

Multi-Core Computer

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-

dimentional mesh, and crossbar.

All cores are identical in symmetric multi-core systems and they

are not identical in asymmetric multi-core systems. Just as with

single-processor systems, cores in multi-core systems may

implement architectures such as superscalar, vector processing,

or multithreading.

Page 14: Multicore processor

Growth

With each new generation of processors there

were several developments such as:

Smaller size

Faster

Increased heat dissipation

Greater Consumption of power

Page 15: Multicore processor

Motivation

Page 16: Multicore processor

Multi-Core Advantages

While working with many threads, a Multi Core processor

with n cores can execute n threads simultaneously by

assigning a core to each thread. If it must process more

than n threads , say x, it can apply multithreading

procedures with each core working with an average of x/n

threads.

A Single core processor must multithread with every single

thread.

Page 17: Multicore processor

Properties of Multi-core systems Cores will be shared with a wide range of other applications dynamically.

Load can no longer be considered symmetric across the cores.

Cores will likely not be asymmetric as accelerators become common for scientific hardware.

Source code will often be unavailable, preventing compilation against the specific hardware

configuration.

Page 18: Multicore processor

What applications benefit

from multi-core? Database servers

Web servers

Telecommunication markets

Multimedia applications

Scientific applications

In general, applications with Thread-level parallelism (as opposed to instruction-level parallelism)

Page 19: Multicore processor

Multi-core architectures

Replicate multiple processor cores on a single die.

The cores fit on a single processor socket.

Page 20: Multicore processor

The cores run in parallel

(like on a uniprocessor)

core

1

core

2

core

3

core

4

several

threads

several

threadsseveral

threads

several

threads

Page 21: Multicore processor

Programming for multi-core

Programmers must use threads or processes.

Spread the workload across multiple cores.

Write parallel algorithms.

OS will map threads/processes to cores

Page 22: Multicore processor

Interaction with OS

Most major OS support multi-core today.

OS perceives each core as a separate processor.

OS scheduler maps threads/processes to different cores.

Page 23: Multicore processor

Examples

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.

Page 24: Multicore processor

Why Multi-core?

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

Page 25: Multicore processor

Why Multi-core?

Save the room of motherboard

Two single cores → In one die

We can use this room more efficiently Simplicity

We need additional systems to control the several single cores.

Economical efficiency

A dual-core is much cheaper than two single cores

Page 26: Multicore processor
Page 27: Multicore processor

Multicore Organization Number of core processors on chip

Number of levels of cache on chip

Amount of shared cache

Next slide examples of each organization:

(a) ARM11 MPCore

(b) AMD Opteron

(c) Intel Core Duo

(d) Intel Core i7

Page 28: Multicore processor

Future of Multi Core

Current debates argue over whether future multi core processors should be

homogenous or heterogenous.

That is, should all the cores be the same or should there be a mix of different

types?

Page 29: Multicore processor

Future continued

Having all cores be the same makes production easier and keeps its

complexity to a minimum.

Having different cores that are specialized in specific tasks increases

complexity but has the potential to be much more efficient in speed and

power consumption.

Page 30: Multicore processor

Challenges resulting from multi-core

Relies on effective exploitation of multiple-thread parallelism

Need for parallel computing model and parallel programming model

Aggravates memory wall

Memory bandwidth

▪ Way to get data out of memory banks

▪ Way to get data into multi-core processor array

Memory latency

Fragments L3 cache

Pins become strangle point

▪ Rate of pin growth projected to slow and flatten

▪ Rate of bandwidth per pin (pair) projected to grow slowly

Requires mechanisms for efficient inter-processor coordination

Synchronization

Mutual exclusion

Context switching

Page 31: Multicore processor

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

Page 32: Multicore processor

Advantages of Multi-core

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.

Page 33: Multicore processor

Conclusion

All computers are now parallel computers! Multi-core processors represent an important new trend in computer architecture.

Decreased power consumption and heat generation.

Minimized wire lengths and interconnect latencies. They enable true thread-level parallelism with great energy efficiency and scalability. To utilize their full potential, applications will need to move from a single to a multi-

threaded model.

Parallel programming techniques likely to gain importance.

• the difficult problem is not building multi-core hardware, but programming it in a way that lets mainstream applications benefit from the continued exponential growth in CPU performance.

the software industry needs to get back into the state where existing applications run faster on new hardware.

Page 34: Multicore processor

References

http://en.wikipedia.org/wiki/Multi-core_(computing)

Olukotun, Kunle and Hammond, Lance. The future of

microprocessors.Queue, Volume 3, Issue 7, September 2005.

www.princeton.edu/~jdonald/research/hyperthreading/garg_report.pdf

Zheltov, Sergey N. and Bratanov, Stanislav V. Multi-threading for

Experts: Synchronization. Technical Report. Intel. 2005.

(WWWdocument, referenced 17.11.2005). Available:

http://www.intel.com/cd/ids/developer/asmo-na/eng/183321.htm

http://www.intel.com/multi-core/

http://www.faqs.org/patents/app/20090055826

http://www.csa.com/discoveryguides/multicore/review2.php?S

ID=s0s5lp3hcg6fa6pf2ba28u84d0

Page 35: Multicore processor