Chapter 9 COA

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 31

Chapter 9

 Introduction
 Types and number of CPU cores
 Motivation for Multi-Core
 CPU core and system speed
 Applications benefit from multi-core
 Multiprocessor memory types
 Symmetric multi-core processor
 Asymmetric multi-core processor
 First Microprocessor(1970’s)
 Intel 4004

 PC spreads in the world(1980’s)


 Up to 32bits microprocessor
 AMD followed Intel’s technology
 Flood of Computer Tasks(1990’s)
 Increasing of Computer user
 Server management → Construct the database
▪ We need better performance of PC or Server.
→ These demands accelerate the development of microprocessor.
 Emergence of Multi-core Processor(2000’s)
 Limits of improvement of single core
 Turn over of the idea that improve the MP technology
▪ Put execution cores in one die
Multicore computing is the computational technique
that joins parallel programming strategies and parallel
processors (multicore processors) to make efficient
computations possible.
Multicore refers to an architecture in which a single
physical processor incorporates the core logic of more
than one processor. A single integrated circuit is used
to package or hold these processors.
5
The number of cores can be implemented as either
physical or virtual cores. In the physical, it means
the CPU has those physical cores within its
microprocessor chip. For virtual the manufacturer
uses a technology called hyperthreading to create
virtual cores. The computer can have 2 physical
cores but the operating system sees them as 4 cores
by implementing hyperthreading. Below are some
of the most common types of CPU cores. 6
Single-Core: A CPU with a single processing
core. It can only handle one task at a time. These
are old CPUs that were used for simple devices
that don’t require a lot of computation power

7
 Dual-Core: A CPU with two processing cores
that can handle two tasks simultaneously. The
work to be processed is divided among the two
cores. Any CPU with more than one processor
core is called a multi-core CPU.

8
Quad-Core: These CPUs have four processing
cores. The workload can now be divided into four
and shared by the cores. This improves the level
of multiprogramming capabilities within the
system.

9
Hexa-Core processor is an advanced CPU with six
different cores. These six distinct cores are utilized
to execute and send all data. Hexa Core CPU
performs tasks faster and with better efficiency
than dual-core (2-core) and quad-core (4-core)
processors. Intel first released the i7 Hexa-Core
processor in 2010.

10
Octa-Core: These are the latest for personal computers and
they have eight processing cores. These computers have very
high processing speed and the level of multitasking is also
high. They are used in extreme systems that require more
processing power and at a very high speed

11
Exploits increased feature-size and density
Increases functional units per chip (spatial
efficiency)
Limits energy consumption per operation
Constrains growth in processor complexity
It should be noted that a computer’s speed is
not only affected by the number of cores but we
have other factors that are considered. These
other factors that affect the CPU speed include:
Clock speed: this is the number of cycles that the
core can do within a given time. The higher number
of clock speeds the better. A 3.0GHz core is faster
than 2GHz
13
Cache size: cache memory is used to store data that
is used by the processor. A bigger cache storage
means the computer can hold more data as it is
being processed.
CPU architecture: this is how the overall CPU is
structured. Different structure decides how data is
moved, stored, and processed within the many
cores.
14
1. Increase system performance: with multi-cores, the
CPU can be able to handle multiple tasks simultaneously
hence improving performance and execution speed.
2. Maximum processor utilization: when the load is
shared among many cores it means we can achieve a high
CPU utilization compared to when using a single core
3. Support parallel processing: this is where the process
is divided into small chunks which are assigned to
different cores and executed simultaneously.
15
4. Reduced process waiting time: the time
that the process waits before it is assigned to
the processor is reduced since now we have
many cores executing many processes.
5. High system response time: from the
user’s point the system response is better
which gives a better user experience.
16
1. Software incompatibility: not all software is designed to take
advantage of multicores. For the system to use multi-core the
software should have been designed with that capability which
most current software doesn’t have.
2. High power consumption: More cores mean the system will
need more power to run. Multi-core systems consume more
power compared to single-core systems.
3. High cost of development: manufacturing and developing these
systems is expensive. This means by the time a computer with a
multi-core reaches the market it is more expensive than a single-
core.
17
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.
Database servers
Web servers
Telecommunication markets
Multimedia applications
Scientific applications
In general, applications with Thread-level
parallelism (as opposed to instruction-level
parallelism)
The multicore architecture has played a
significant role in computer performance
improvements since it was first introduced in
the early 2000s [2]. It provides performance
improvements due to multiple cores executing
instructions concurrently supporting both
instruction level parallelism and thread level
parallelism.
 Replicate multiple processor cores on a single die.

 The cores fit on a single processor socket.


Multicore programming helps to create concurrent
systems for deployment on multicore processor and
multiprocessor systems. A multicore processor
system is basically a single processor with multiple
execution cores in one chip. It has multiple
processors on the motherboard or chip. A Field-
Programmable Gate Array (FPGA) is might be
included in a multiprocessor system.
22
Most major OS support multi-core today.
OS perceives each core as a separate
processor.
OS scheduler maps threads/processes
to different cores.
 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.
Shared memory:
In this model, there is one (large) common
shared memory for all processors.
Distributed memory:
In this model, each processor has its own
(small) local memory, and its content is not
replicated anywhere else.
Symmetric multiprocessing is the processing
of programs by multiple processors that
share a common operating system and
memory. Asymmetric multiprocessing is the
processing of programs by multiple
processors that function according to the
master-slave relationship.
26
27
Asymmetric Multiprocessing system is a
multiprocessor computer system where
not all of the multiple interconnected
central processing units (CPUs) are treated
equally. In asymmetric multiprocessing,
only a master processor runs the tasks of
the operating system.
28
• Applications
Super Computing:
▪ IBM's latest
supercomputer, IBM
Roadrunner, is a hybrid
of General Purpose
CISC Opteron as well as
Cell processors.
29
 Future
Based on the unique features, Cell can bridge
the gap between conventional desktop
processors (such as the Athlon 64, and Core 2
families) and more specialized high-
performance processors, such as the NVIDIA
and ATI graphics-processors (GPUs).
30

You might also like