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.
Core
An independent processing unit on a multicore chip capable of executing instruction streams independently of other cores.
Explain why a 3GHz quad-core processor does not have a total combined clock speed of 12GHz.
- 1
The 3GHz rating refers to the maximum clock speed of each individual core, not a combined total
- 2
Each core operates independently when executing instructions, so their clock speeds do not add together
- 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
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
Each open application can be assigned to a separate core, so all three can execute instructions simultaneously
- 2
A single-core processor must time-slice between applications, switching between them and adding significant scheduling overhead
- 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.
Amdahl's Law
Calculates maximum theoretical speedup , where = proportion of code that can be parallelized (0 to 1), = number of cores.
A program has 65% of its code that can be parallelized. Calculate the maximum theoretical speedup when running on an 8-core processor.
- 1
Convert the parallel percentage to a proportion:
- 2
Calculate the sequential proportion:
- 3
Substitute values into Amdahl's Law:
- 4
- 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
Explain why adding 100 extra cores to an 8-core processor running a program with 15% sequential code gives very little extra speedup.
- 1
First calculate speedup for 8 cores: ,
- 2
Then calculate speedup for 108 cores:
- 3
Even though we added 100 extra cores, speedup only increased by ~2, a much smaller gain than expected
- 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.
