CH18 MultiCoreComputers 18 Slides
CH18 MultiCoreComputers 18 Slides
William Stallings
Computer Organization
and Architecture
9th Edition
Objectives
A multicore computer, also known as a chip multiprocessor,
combines two or more processors (called cores) on a single piece of
silicon (called a die- khuôn mẫu). Typically, each core consists of
all of the components of an independent processor, such as
registers, ALU, pipeline hardware, and control unit, plus L1
instruction and data caches. In addition to the multiple cores,
contemporary multicore chips also include L2 cache and,
increasingly, L3 cache.
Trends
Beginning about
2000, a new flat
region of the curve
appears, as the limits
of effective
exploitation of
instruction-level
parallelism are
reached.
Processor Trends
Power
Memory
+
+ Power Consumption
By2015 we can expect to see microprocessor
chips with about 100 billion transistors on a
300 mm2 die (base)
Assuming that about 50-60% of the chip area
is devoted to memory, the chip will support
cache memory of about 100 MB and leave
over 1 billion transistors available for logic
How to use all those logic transistors is a key
design issue
Pollack’s Rule
States that performance increase is roughly
proportional to square root of increase in complexity
+ f
18.2- Software
Performance
Issues
Performance
Effect of
Multiple Cores
f
Amdahl’s law
f: frequency, N: number of CPU
Scaling of Database Workloads on Multiple-Processor
hardware
Database management
systems and database
applications are one area in
which multicore systems can
be used effectively. Many
kinds of servers can also
effectively use the parallel
multicore organization,
because servers typically
handle numerous relatively
independent transactions in
parallel.
+ Effective Applications for Multicore
Processors
Multi-process applications
Characterized by the presence of many single-threaded processes
Oracle, SAP, PeopleSoft
Java applications
Java Virtual Machine is a multi-threaded process that provides
scheduling and memory management for Java applications
Sun’s Java Application Server, BEA’s Weblogic, IBM Websphere, Tomcat
Multi-instance applications
One application running multiple times
If multiple application instances require some degree of isolation,
virtualization technology can be used to provide each of them with its
own separate and secure environment
+
18.3- Multicore
Organization
At a top level of description, the main variables
in a multicore organization are as follows:
The number of core processors on the chip
The number of levels of cache memory
The amount of cache memory that is shared
+
Multicore
Organizatio
n…
D-cache: cache
storing data
I-cache: cache
storing
instructions
Intel Intel
Core Core
Duo i7
+
13.4- Intel
x86
Multicore
Organization
APIC: Advanced
Programmable Interrupt
Controller
Thermal Control: Power
Management Logic Intel Core Duo
Arch.: Architecture
+
Intel Core I7-990X Organization
+ Exercises
18.1 Summarize the differences among simple
instruction pipelining, superscalar, and simultaneous
multithreading.
18.2 Give several reasons for the choice by designers
to move to a multicore organization rather than
increase parallelism within a single processor.
18.3 Why is there a trend toward giving an increasing
fraction of chip area to cache memory?
18.5 At a top level, what are the main design variables
in a multicore organization?
18.6 List some advantages of a shared L2 cache among
cores compared to separate dedicated L2 caches for
each core.
+ Summary Multicore
Computers
Chapter 18