Study Guide

Multicore processors

Computer ScienceΒ· Unit 4: Processor fundamentals, Topic 6Β· 15 min read

1. What is a Multicore Processor?β˜…β˜…β˜†β˜†β˜†β± 3 min

A multicore processor is a single integrated circuit that contains multiple independent processing units called cores. Each core has its own control unit, ALU, and registers, and most designs share a common cache and system memory bus between all cores on the chip.

πŸ“˜ Definition

Core

An independent processing unit on a multicore chip capable of executing instruction streams independently of other cores.

πŸ“ Worked Example

Explain why a 3GHz quad-core processor does not have a total combined clock speed of 12GHz.

  1. 1

    The 3GHz rating refers to the maximum clock speed of each individual core, not a combined total

  2. 2

    Each core operates independently when executing instructions, so their clock speeds do not add together

  3. 3

    All cores in this quad-core processor can run at a maximum of 3GHz each, not 12GHz total

Exam tip:

Always be prepared to correct this misconception in written answers

2. Performance Benefits of Multicore Designsβ˜…β˜…β˜†β˜†β˜†β± 4 min

Multicore processors improve overall system throughput by enabling parallel execution of instructions. This brings major benefits for two main types of workload:

  • Multitasking: Multiple independent programs can run on separate cores simultaneously, avoiding the overhead of time-slicing on a single core

  • Parallelizable workloads: Programs designed to split work into multiple threads (e.g. video editing, 3D rendering) can process tasks across multiple cores to reduce total runtime

  • Power efficiency: Multicore chips deliver the same throughput as higher-clock single-core chips at lower power and heat output

πŸ“ Worked Example

A user runs a web browser, word processor, and video editor at the same time. Explain why a 2.5GHz quad-core processor will outperform a 3.5GHz single-core processor of the same generation.

  1. 1

    Each open application can be assigned to a separate core, so all three can execute instructions simultaneously

  2. 2

    A single-core processor must time-slice between applications, switching between them and adding significant scheduling overhead

  3. 3

    Even with a higher clock speed, the sequential execution and switching overhead means the single core cannot match the quad-core's throughput for this workload

3. Amdahl's Law for Speedup Calculationβ˜…β˜…β˜…β˜†β˜†β± 6 min

βœ“ Calculator OK

Amdahl's Law is a formula used to calculate the maximum possible speedup of a parallelizable program running on a multicore processor, based on the share of code that can be parallelized.

πŸ“˜ Definition

Amdahl's Law

S=1(1βˆ’p)+pnS = \frac{1}{(1-p) + \frac{p}{n}}

Calculates maximum theoretical speedup , where = proportion of code that can be parallelized (0 to 1), = number of cores.

πŸ“ Worked Example

A program has 65% of its code that can be parallelized. Calculate the maximum theoretical speedup when running on an 8-core processor.

  1. 1

    Convert the parallel percentage to a proportion:

  2. 2

    Calculate the sequential proportion:

  3. 3

    Substitute values into Amdahl's Law:

  4. 4
    S=10.35+0.658=10.35+0.08125=10.43125β‰ˆ2.32S = \frac{1}{0.35 + \frac{0.65}{8}} = \frac{1}{0.35 + 0.08125} = \frac{1}{0.43125} \approx 2.32
  5. 5

    The maximum theoretical speedup is approximately 2.32 times faster than running on a single core.

4. Limitations of Multicore Performanceβ˜…β˜…β˜…β˜†β˜†β± 5 min

Actual speedup on a multicore processor is almost always lower than the theoretical maximum calculated by Amdahl's Law, due to a range of bottlenecks:

  • Sequential bottleneck: Any non-parallelizable part of the code limits speedup, even with an infinite number of cores

  • Parallel overhead: Splitting work into threads, synchronizing results, and communicating between cores adds extra processing overhead

  • Memory contention: All cores share access to main memory, so simultaneous memory access can cause bottlenecks

  • Software limitations: Many programs are not designed to use multiple cores, so extra cores give no performance gain

πŸ“ Worked Example

Explain why adding 100 extra cores to an 8-core processor running a program with 15% sequential code gives very little extra speedup.

  1. 1

    First calculate speedup for 8 cores: ,

  2. 2

    Then calculate speedup for 108 cores:

  3. 3

    Even though we added 100 extra cores, speedup only increased by ~2, a much smaller gain than expected

  4. 4

    The 15% sequential section of the code acts as a permanent bottleneck that limits further speedup regardless of how many extra cores are added.

5. Common Pitfalls

Wrong move:

Adding clock speeds across cores to get a total clock speed

Why:

Each core operates independently, so clock speeds do not add together

Correct move:

The advertised clock speed of a multicore chip is the speed of each individual core

Wrong move:

Assuming more cores always mean faster program execution

Why:

Non-parallelizable programs can only run on one core, regardless of available cores

Correct move:

Speedup is only achieved for parallel workloads or multitasking of independent programs

Wrong move:

Using percentage values directly for in Amdahl's Law

Why:

Amdahl's formula requires to be a proportion between 0 and 1

Correct move:

Divide the parallel percentage by 100 to get a decimal before substitution

Wrong move:

Claiming real-world speedup equals the theoretical value from Amdahl's Law

Why:

Amdahl's Law does not account for parallel overhead or memory contention

Correct move:

Always state that actual speedup will be lower than the theoretical maximum

6. Quick Reference Cheatsheet

Concept

Key Fact / Formula

Multicore processor

Multiple independent cores on one CPU chip

Core count

Number of simultaneous independent instruction streams

Clock speed

Quoted speed = speed per individual core, not total

Amdahl's Law

(Amdahl's)

Proportion of code that can be parallelized (0 < p < 1)

(Amdahl's)

Number of available cores

Max speedup (infinite cores)

Biggest limitation

Sequential code bottleneck

7. Frequently Asked

Will more cores always make a program run faster?

No. Only parallelizable programs or multitasking workloads benefit from extra cores. Sequential programs can only run on one core, so extra cores do not improve their speed.

When this came up on past exams

AI-estimated based on syllabus patterns β€” cross-check with official past papers for accuracy. Use only as revision-focus signals.

  • 2022 Β· 2

    6 mark explanation of speedup limits

  • 2023 Β· 4

    4 mark Amdahl's Law calculation

  • 2021 Β· 2

    3 mark multicore benefit explanation

Going deeper

What's Next

Multicore architecture is the foundation of all modern computing systems, from personal devices to data centers. Understanding the performance tradeoffs and limits of multicore designs prepares you for more advanced topics in parallel computing and system architecture, which are regularly tested in both Paper 2 and Paper 4 of CIE 9618. The concepts you learned here, especially Amdahl's Law, are also applied to GPU parallel processing and distributed computing topics. Explore the links below to continue building your knowledge for the exam.