new architectures - multicore designa multicore architecture is an architecture where on a single...

Post on 08-Jul-2020

13 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

MULTICORE DESIGN

Prof.P.C.PatilProf.P.C.PatilDepartment of Computer EnggMatoshri College of Engg.Nasik

pcpatil18@gmail.com.

MICROPROCESSOR ARCHITECTUREUOP S.E.COMP (SEM-I)

History

2

The most important part of the computer is the chip i.e. "microprocessor “or “processor" that is the brain of the computer.

The earlier processors were single core single core processors.

The core is part of the processor part of the processor that is responsible for correctly reading and executing the instructionscorrectly reading and executing the instructions.

The single core processors are capable of executing only one one instruction at a timeinstruction at a time.

History

3

As we move from one generation to the other i.e. from 8086, 80186, 80286, 80386 towards Pentium IV we see that the processor clock frequency increasesclock frequency increases.

The faster clock speeds typically require additional transistors additional transistors and higher input voltageshigher input voltages,

It results in greater power consumptiongreater power consumption.

The increasing clock speed is creating a power dissipation increasing clock speed is creating a power dissipation problemproblem for semiconductor manufacturers.

History

4

The latest semiconductor technologies support more and more and more transistors. more transistors.

The downside is that every transistor leaks a small amount of every transistor leaks a small amount of current, current, and the sumsum of which is problematic.

Therefore .................

Instead of pushing chipspushing chips to run faster, CPU designers are adding resourcesadding resources, such as more cores i.e. multicore

and more cache more cache to provide comparable or better performance at lower power.

History

5

Adding a core will double the system performancedouble the system performance, and dissipate less heat.

A multicore processor consists of two or more two or more independent cores.independent cores.

The previously used single core designs have been replaced by multicore designs that are nowadays used.

History

6

In the early 1970’s the first Microprocessor was developed by Intel.

It was a 4 bit machine that was named the 4004

The 40044004 was followed by Intel’s 80088008 and 80808080, as well as motorola’s 6800 and 68000

History

GROWTH

With each new generation each new generation of processors there were several developments such as:

Smaller size Faster speed Increased heat dissipation Greater Consumption of power

Growth

SINGLE CORE PERFORMANCETechnique used to increase single core performance increase single core performance was: Pipelining:Pipelining: beginning other waiting instructions before the first

finishes

Single Core Performance

Another technique was multithreadingmultithreading Multithreading involves execution of two separate

threads. Time is divided and interlaced between the two

threads in order to simulate simultaneous execution

Single Core Performance

PROBLEMS WITH SINGLE CORE

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

Increasing clock times too high drastically increases increases power consumptionpower consumption and heat dissipation heat dissipation to extremely high levels, making the processor inefficient.

Problems with Single Core

Multi Core solution

12

MULTI CORE SOLUTION

Creating two cores or more on the same Disc increases processing power increases processing power while keeping clock keeping clock speeds at an efficient level.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 still consume consume less energyless energy..

Multi Core solution

MULTI-CORE ADVANTAGES

While working with many threads, a Multi Core processor with processor with nn cores cores can execute execute nn threads threads simultaneously 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 threadsaverage of x/n threads.

A Single core processor must multithread with every single thread.

Multi Core solution

OTHER INCENTIVES

Improving an existing single core design or creating a Improving an existing single core design or creating a better one is problematic in that it:better one is problematic in that it:

Is time consuming to design Is risky to modify existing designs

Creating multi core processors is convenient in thatCreating multi core processors is convenient in that: The name “core dual” and similar names are good for

marketing. It has lower manufacturing costs. Uses proven processor designs.

Multi Core solution

What is multicore

16

A multicore architecture is an architecture where on a single single computer chip computer chip multiple processors are integrated. multiple processors are integrated.

A multicore processor has two or more two or more independent cores.

Each of the processor is referred to as a core.core.

What is Multicore Processor

17

A processor with two cores two cores is called as a dual core e.g. Intel Core Duo, AMD Phenom II X2 etc.

A processor with four cores four cores is called as a quad core e.g. Intel 2010 core line, AMD Phenom II X4.

A processor with six cores six cores is called as a hexa core e.g. Intel Core i7 Extreme Edition,AMD phenom II X6.

A processor with eight cores eight cores is called as a octa core e.g. Intel Xeon E7 Edition 2820, AMD Phenom II X8.

A processor with ten cores ten cores is called as a deca core e.g. Intel Xeon E7 Edition 2850.

What is Multicore Processor

18

Implementations

19

IMPLEMENTATIONS

Two main ways to have multiple cores interact are Shared Shared memory model, memory model, Distributed Distributed memory modelmemory model.

In the shared memory modelshared memory model, all cores share the same cache all cores share the same cache memory.

In the distributed memory model, each core has its own each core has its own cachecache memory.

Implementations

The Intel core duo Intel core duo designhas a separate L1 cache separate L1 cache memory for each core, butmemory for each core, butboth cores share an L2both cores share an L2cache. cache.

Implementations

The AMD Athlon 64 X2 AMD Athlon 64 X2 implementation has separate L1 and L2separate L1 and L2cache memory for eachcache memory for eachcore.core.

Implementations

Multicore Architectures

23

Depending on the type of core the CMPs (Chip Multiprocessors) are classified as :

1.1. Dual Core (two processors)Dual Core (two processors)2.2. Quad Core (four processors)Quad Core (four processors)3.3. Hexa Core (six processors)Hexa Core (six processors)4.4. Octa Core (eight processors)Octa Core (eight processors)5.5. Deca Core (ten processors).Deca Core (ten processors).

Multicore Architectures

24

All these systems are multithreaded multithreaded (a thread is a small sequence of programmed instuctions a thread is a small sequence of programmed instuctions

that can be executed individuallythat can be executed individually.)

Presently in the multicore systems the cores may or may not may or may not share the cacheshare the cache or

They may implement shared memory intermay implement shared memory inter--core core communicationcommunication methods.

Each CMP implemented handles the Front side bus (FSB)Front side bus (FSB) and I/O bus I/O bus in a different way.

25

Multicore Architectures

Problems with multicore

26

PROBLEMS

Some of the current problems found with multi core processors include:

Memory/Cache coherenceMemory/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.

Problems

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

Problems

top related