LearnViz CompSci
Home / Learn / Computer Architecture & Logic / Multicore Processors

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

  1. Several cores sit on one chip.
  2. Each has private L1 and L2 caches.
  3. They share the last-level cache and memory.
  4. Different threads run on different cores in parallel.
  5. 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

How to study this topic

  1. Read the explanation above and restate the definition in your own words.
  2. Open the interactive lesson and answer its mini quiz.
  3. Read the common pitfall, then write a short example that avoids it.
  4. 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?
Chips with several independent processing cores. It belongs to Computer Architecture & Logic and is an advanced-level topic.
Where do people use Multicore Processors?
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.
What is the most common mistake with Multicore Processors?
Data races, false sharing, lock contention and memory bandwidth limits reduce scaling.
What should I learn before this topic?
Start with Speculative Execution, the topic just before it in Computer Architecture & Logic.
How can I practice it?
Answer the mini quiz in the interactive lesson, then take the Computer Architecture & Logic quiz.
Is Multicore Processors hard to learn?
It is an Advanced topic. Expect to read the explanation more than once and to connect it with earlier topics. Working through a small example by hand helps most.
How long does it take to learn Multicore Processors?
Most learners can read the explanation and finish the interactive lesson in under an hour. Fluency comes from applying the idea, so plan a few short practice sessions with the quiz.
Which topics are related to Multicore Processors?
Speculative Execution, Cache Coherence, Superscalar Processors are closely connected. The full list is in the related topics section of this page.
What should I study after Multicore Processors?
Continue with Cache Coherence, the next topic in Computer Architecture & Logic.

Related topics