Content of presentation:
Multi-core processors
Multi-channel memory architecture
Comparison between single and multi channel memory
Conclusion
References
2. Agenda
• Multi-core processors
• Multi-channel memory architecture
• Comparison between single and multi channel memory
• Conclusion
• References
3. Multi-core processors
• A multi-core processor is a single computing component with
two or more independent actual central processing units
(called "cores"), which are the units that read and execute
program instructions.
• The instructions are ordinary CPU instructions such as add,
move data, and branch, but the multiple cores can run
multiple instructions at the same time.
• Possible gains are limited by the fraction of the software that
can be run in parallel simultaneously on multiple cores; this
effect is described by Amdahl's law.
• In the best case, so-called embarrassingly parallel problems
may realize speedup factors near the number of cores, or even
more if the problem is split up enough to fit within each core's
cache(s), avoiding use of much slower main system memory.
4. Multi-core processors
• Dual-core processor has two cores
(AMD Phenom II X2, Intel Core Duo)
• Quad-core processor contains four cores
(AMD Phenom II X4, Intel's quad-core processors, see i3,
i5, and i7 at Intel Core).
• Hexa-core processor contains six cores
(AMD Phenom II X6, Intel Core i7 Extreme Edition 980X)
• Octa-core processor contains eight cores
(Intel Xeon E7-2820, AMD FX-8150).
6. Multi-channel memory architecture
• Multi-channel memory architecture is a technology that
increases the transfer speed of data between the DRAM and
the memory controller by adding more channels of
communication between them.
• Theoretically this multiplies the data rate by exactly the
number of channels present.
• Each module is accessed sequentially for smaller bits of data
rather than completely filling up one module before accessing
the next one.
• Data is spread amongst the modules in an alternating pattern,
potentially multiplying available memory bandwidth for the
same amount of data, as opposed to storing it all on one
module
7. Multi-channel memory architecture
• The memory modules are installed into matching banks, which
are usually color coded on the motherboard.
• A matching pair needs to match in:
1. Capacity (e.g. 1024 MB): the capacity that can be matched is run in dual-
channel, while the remainder runs in single-channel.
2. Speed (e.g. PC5300). If speed is not the same, the lower speed of the two
modules will be used. Likewise, the higher latency of the two modules will
be used.
3. Number of chips and sides (e.g. two sides with four chips on each side).
4. Matching size of rows and columns.
8. Multi-channel memory architecture
• Channel, you use identical memory sticks in pairs (frequency,
capacity, of the same brand if possible).
[A1-A2] and/or [B1-B2]
A1 = 1st place (slot 1)
B1 = 2nd place (slot 2)
A2 = 3rd place (slot 3)
B2 = 4th place (slot 4)
[A1-B1] = Group 1 of slots
[A2-B2] = Group 2 of slots.
9. Single-channel mode
This mode provides single-channel bandwidth operations and is used when
only one DIMM is installed or when the memory capacities of more than one
DIMM are unequal. When using different speed DIMMs between channels,
the slowest memory timing is also used.
10. Dual-channel mode
This mode offers higher memory throughput and is enabled when the memory
capacities of both DIMM channels are equal. When using different speed
DIMMs, the slowest memory timing will be used.
To achieve dual-channel mode, the following conditions must be met:
Same memory size (1 GB, 2 GB, 4 GB, etc.)
Matched DIMM configuration in each channel
11. Triple-channel mode
• Triple-channel reduces overall memory latency by accessing the
DIMM memory sequentially. Data is spread through the memory
modules in an alternating pattern.
• Three independent memory channels give two possible modes of
interleaving:
Triple-channel mode is enabled when
identical matched memory modules are installed
in each of the three blue memory slots.
If only two of the blue memory slots
are populated with matched DIMMs, dual-
channel mode is enabled.
12. Quad-channel mode
This mode is enabled when four (or a multiple of four) DIMMs are
identical in capacity and speed, and are placed in quad-channel slots.
When two memory modules are installed, the system will operate in
dual-channel mode. When three memory modules are installed, the
system will operate in triple-channel mode.
13. Flex mode
Flex mode results in both dual- and single- channel operation
across the whole of DRAM memory. The figure below shows a
flex mode configuration using two DIMMs. The operation is as
follows:
• The 2 GB DIMM in slot 1 and the
lower 2 GB of the DIMM in the slot
2 operate together in dual-channel
mode.
• The remaining (upper) 2 GB of the
DIMM in Slot 2 operates in single-
channel mode.
14. Advantages of Multi-channel mode
The shared bus between the program memory and data
memory leads to the Von Neumann bottleneck, the limited
throughput (data transfer rate) between the CPU and memory
compared to the amount of memory. Because program memory
and data memory cannot be accessed at the same time,
throughput is much smaller than the rate at which the CPU can
work. This seriously limits the effective processing speed when
the CPU is required to perform minimal processing on large
amounts of data. The CPU is continuously forced to wait for
needed data to be transferred to or from memory. Since CPU
speed and memory size have increased much faster than the
throughput between them, the bottleneck has become more of
a problem.
15. Single/Multi-channel memory architecture (Experiment 1)
• 1 GB Crucial DDR2-800 single module
PCMark05 tests:
Total score 5756 Memory scores 4213,4324,4297 average 4302
Quake 4: Average frame rate for three runs max quality 1024x768
multi core off
53.65 avg fps
multicore on 53.88 avg fps
FEAR: Average frame rates for three runs max quality 1024x768
42 avg fps
• 2x512MB Crucial DDR2-800 kit in dual channel
PCMark05 tests:
Total score 5783 Memory scores 4668,4676,4674 average 4672
Quake 4:Average frame rate for three runs max quality 1024x768
multicore off 56.59 avg fps multicore on 58.5 avg fps
FEAR: Average frame rates for three runs max quality 1024x768
42 avg fps
• 2x512MB Transcend & Adata DDR2-800 two memory modules
PCMark05 tests:
Total score 5729 Memory scores 4687,4670,4711 average 4689
Quake 4: Average frame rate for three runs max quality 1024x768
multicore off 56.48 avg fps mulitcore on 58.5 avg fps
FEAR: Average frame rates for three runs max quality 1024x768
42 avg fps
17. Single VS Multi-channel memory architecture (Experiment 2)
I opened Firefox browser, Linux terminal, Netbeans and Skype all
at once using 2GB RAM and then two module of 1GB RAM and
fifteen seconds difference appears with total time of three
minutes. With 2GB RAM it took three minutes and fifteen
seconds on loading of all application while with two modules of
1GB it took three minutes so overall performance increased to
5% by dividing modules memory.
Applications RAM Time
Firefox
Shell 2 GB 195 seconds
Netbeans
Skype
Firefox
Shell 1 GB 180 seconds
Netbeans
Skype
18. Conclusion
Theoretically Multi-channel memory architecture gives double
memory speed as compare to single core processor. But in
particle it gives visible change of performance when system is
using high memory communication activity.