Advanced Topic 37 of 51 Computer Architecture & Logic
Multicore Processors
Chips with several independent processing cores.
How it works
A multicore processor puts two or more independent processing cores on one chip, each with its own registers and level-one caches, while sharing lower-level caches, memory controllers and interconnect. Increasing cores became the main way to scale performance once clock speeds hit power limits. Software must use threads or processes to benefit, and the speedup is limited by serial portions according to Amdahl's law.
Step-by-step walkthrough
- Several cores sit on one chip.
- Each has private L1 and L2 caches.
- They share the last-level cache and memory.
- Different threads run on different cores in parallel.
- Speedup depends on parallel code, Amdahl's law limits it.
Where it is used
Servers, desktops and phones use multicore chips to run many programs at once and to parallelize workloads such as rendering, compilation, simulation and database queries.
Common pitfall
Data races, false sharing, lock contention and memory bandwidth limits reduce scaling. Not all tasks parallelize, so adding cores gives diminishing returns. Thread scheduling and NUMA effects matter. Design for fewer shared writes, and measure scaling rather than assuming it.
Where it fits in the course
Multicore Processors is topic 37 of 51 in Computer Architecture & Logic, rated Advanced. It follows Speculative Execution. The next topic is Cache Coherence.
Practice and explore
- Open the interactive lesson, with a mini quiz.
- Take the Computer Architecture & Logic quiz.
How to study this topic
- Read the explanation above and restate the definition in your own words.
- Open the interactive lesson and answer its mini quiz.
- Read the common pitfall, then write a short example that avoids it.
- Check your understanding in the Computer Architecture & Logic quiz, and revisit the topic if you miss a question.
Frequently asked questions
What is Multicore Processors?
Where do people use Multicore Processors?
What is the most common mistake with Multicore Processors?
What should I learn before this topic?
How can I practice it?
Is Multicore Processors hard to learn?
How long does it take to learn Multicore Processors?
Which topics are related to Multicore Processors?
What should I study after Multicore Processors?
Related topics
- Speculative Execution (Computer Architecture & Logic)
- Cache Coherence (Computer Architecture & Logic)
- Superscalar Processors (Computer Architecture & Logic)
- SIMD and Vector Processing (Computer Architecture & Logic)