A CPU or Central Processing Unit is the main processor of a computer.

CPUs were traditionally designed to be a single processor that could perform a single process at a time.

A multi-core CPU changes this design architecture to include multiple processor cores on a single CPU.

Processor Header

Having multiple processing cores allows a CPU to run multiple independent tasks at the same time.

Theoretically having a second processor core in a CPU should result in double the performance of a single core.

In practice, however, the performance gains are not as clear cut.

A CPU with two cores can run two different programs at the same time.

Unfortunately, designing logic for multiple simultaneous processes is difficult and, in some cases, impossible.

Many modern programs still dont make good use of multiple processors and only use one processor core.

There are however plenty of examples of software that can use multiple processor cores.

The extra logical processors that SMT provides doubles the number of threads a CPU can run per CPU cycle.

Tip: A thread is a sequence of instructions that are managed by a scheduler.

On a CPU with SMT two threads can be scheduled to run in a single cycle.

A CPU that supports SMT but only has one physical processor core isnt considered a true multi-core processor.

This distinction is mostly moot however as almost no modern CPUs only have one physical CPU core.

Tip: On Intel CPUs, SMT is branded as Hyper-threading.

Over the next decade or so, two-, four-, and six-core processors became mainstream.

Intel has been relatively slow to offer comparable desktop models to compete with AMDs Threadripper platform.

Intels highest core count CPU in 2019 only offered 18 cores and 36 threads.