Slot29 CH18 MultiCoreComputers 18 Slides
Slot29 CH18 MultiCoreComputers 18 Slides
Slot29 CH18 MultiCoreComputers 18 Slides
Multicore
Chapter 18 Computers
+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.
For each of these innovations, designers have over the years attempted to
increase the performance of the system by adding complexity
+
Alternative Chip
Organization
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
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.5 At a top level, what are the main design variables in a multicore
organization?