Since the mid-noughties, desktop CPUs have been offering multiple CPU cores in a single package.
This is a multicore processor.
Core counts that high arent standard for desktop CPUs and are generally reserved for high-end workstations or servers.
Typical core counts in modern desktop CPUs are between 4 and 16.
But what is it about multicore CPUs that make them dominant in modern computers?
This comes with a whole range of issues.
For example, on a modern computer, there are a huge amount of background processes running.
Additionally, cache misses mean that data needs to be retrieved from comparatively slow RAM.
This holds up the running process as well as any other processes that are waiting for it to complete.
A wide pipeline would see multiple instructions being able to be handled in each pipeline stage per clock cycle.
Out Of Order processing would allow instructions to be scheduled in a more time-efficient manner.
All of these factors would work well and provide some performance.
Multicore
Adding a second core sounds like it should double the raw performance.
Things are, unfortunately, more complicated than that.
What can happen, however, is that other processes can use the other core at the same time.
One example pitfall is known as a race condition.
For example, imagine a process starts another process to close one document and open another.
Thermal issues
One of the biggest issues multicore processors end up struggling with is heat.
While one CPU core doesnt output that much heat, two give off more.
A lower boost clock will cause lower performance in single-threaded applications.
This can often be seen in gaming performance benchmarks.
Video games are often highly reliant on a single thread.
As such, single-threaded performance is often critical for gaming.
High-core count CPUs like the 16-core count models are often from high-performance bins.
Successes
Many applications are able to make proper use of multiple CPU cores.
For example, CPU rendering is a relatively easy task to parallelise.
Many applications simply cant be multithreaded as they are reliant on sequential logic.
Architectural options
In desktop processors, each CPU core within a multicore CPU has generally been identical.
This homogeneity makes scheduling work on the cores simple.
Using the same repeating design also helps to keep development costs down.
Mobile processors, however, have long been using heterogeneous core architectures.
In this design, there are two or even three tiers of CPU core.
Desktop CPU architecture is also moving in the direction of a heterogenous core design.
Intels Alder Lake 12thgeneration Core CPU line is the first desktop CPU to do this.
Some programs can take full advantage of multiple cores, making direct use of as many as are available.