Professional Documents
Culture Documents
Chapter 9 COA
Chapter 9 COA
Chapter 9 COA
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
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.