Multicore Programming
Multicore Programming
Multicore CPUs
10 July 2010
Single Core to Multicore
Processors were
originally developed with
only one core.
The core is the part of
the processor that
actually performs the
reading and executing of
the instruction.
Multi-core
◦ Dual core – 2 cores
◦ Quad core – 4 cores
◦ Hexa core – 6 cores
Dual Core vs Core 2 Duo
Dual core - generic name given to processors
that have 2 cores on the same chip
Core 2 Duo - name given by Intel to its second
batch of dual core processors. It is a subset of
dual core processors available today.
◦ Intel’s dual core processors were simply 2 Pentium
3 processors that were fabricated in a single chip.
As they refined their product more, they decided to
differentiate their second set of processors from the
Core Duo and decided to call it Core 2 Duo.
Multitasking with a single core CPU
Multitasking with multi-core CPU
Multithreading on multi-core CPU
CPU Cache: Level 1, 2, 3
Level 1 cache
◦ Primary; small, high-speed cache incorporated right onto the processor’s
chip
Level 2 cache
◦ Secondary; used to catch recent accesses that are not caught by the level
1 cache
◦ Larger and slightly slower than level 1
◦ “External cache” found either on the motherboard or a daughterboard
that inserts into the motherboard; located between RAM and CPU
Pentium Pro processors actually have the level 2 cache in the same package as the
processor itself (though it isn't in the same circuit where the processor and level 1 cache
are) which means it runs much faster than level 2 cache that is separate and resides on the
motherboard. Pentium II processors are in the middle; their cache runs at half the speed
of the CPU.
Level 3 cache
◦ Larger and slower than level 2, but still faster than fetching from RAM
Buses
FSB – connects CPU to
various hardware
components
◦ Speed depends on how
wide the front side bus is,
its frequency, and the
amount of data it can
process per clock tick of
the CPU.
BSB/cache bus –
connects CPU to level
2 and level 3 cache EV6 FRONT SIDE BUS