A CPU core is an essential part of any computer. CPU cores are a part of any CPU processor. Modern desktop CPUs usually have between two and 16 cores, each of which can take care of one specific task at a time. The number of cores available is one of the critical indicators of how powerful and fast a PC is at peak performance.
It’s worth noting that cores aren’t entirely independent of each other. Depending on the particular CPU design, cores can be more or less closely linked. They can share caches, use each other to pass along messages, or even share other types of communication processes. More often than not, cores will be connected via buses. There is also a distinction between CPUs that have only identical cores and those that combine different ones.
CPU Design
Historical multicore CPU design has generally used a homogenous CPU topology. That is, all cores are identical. This has the advantage of only requiring the development effort of one core architecture that can be copied and pasted as often as needed. It also makes task scheduling easier as all cores can perform all tasks at the same speed and efficiency.
A more nuanced approach to CPU core design can be found with heterogenous CPU topology. In this case, one CPU die has multiple types of core, typically optimized for performance or power efficiency, and sometimes a middle ground. This setup is particularly useful in mobile devices, where numerous efficient cores provide good performance with minimal battery drain. Peak performance can also be provided when needed by more powerful performance optimized cores but at the cost of increased power draw and heat production.
Historically, CPUs started with only one core and could only handle one task at a time. Over time, as demand for hardware increased, that wasn’t enough anymore. Newer, more modern CPUs were developed and phased out than those with fewer cores. The exception was laptops – due to space and cooling constraints, laptop CPUs have historically lagged behind desktop computers in CPU core counts. Modern laptops can match core counts with desktops, but the CPUs often run at lower power levels and clock speeds to manage temperatures.
Tip: If you are trying to build a computer and choose your CPU, the absolute minimum of cores you should aim for is four.
Multithreading
Most modern processors use multi- or hyper-threading to increase the number of cores available. This process splits one core into several virtual cores. Specifically, each physical core works as two threads. Therefore, CPUs with four cores can work with eight threads, meaning they function like an eight-core CPU.
Note: Some specialized CPUs can offer more than two threads per CPU core. However, all such products are exclusive to the HPC (High-Performance Computing) and supercomputing markets. Desktop CPU cores can either run one or two threads.
Multithreading isn’t an absolute duplication of CPU power, though. Hyperthreading does not double the performance of the CPU core. Intel’s research suggests it offers a performance boost of around 30%, though this can vary heavily and, in rare cases, even slightly decrease performance. Some apps and programs work with it better than others. Video games, for example, don’t always benefit from more cores, often being more sensitive to clock speed. Other software, especially video editing and animation, runs farther with extra cores and threads.
Of course, it’s impossible to invent additional cores – so the simulated threads have to share the available physical resources of their underlying core. That can mean that the threads have a lower performance individually, but it can also mean that resources are more effectively distributed. They can be used by whichever thread needs them more.
The Future of Hardware
The trend in CPU core development definitely goes towards implementing more and more cores in CPUs. Theoretically, it would be possible to build CPUs with hundreds or even thousands of cores. That isn’t yet a commercial reality, with AMDs Threadripper and EPYC CPUs having up to 64 cores. For now, though, a more realistic focus is optimizing the performance-per-watt. In other words – to lower the power draw of CPUs. This primarily benefits laptops and other battery-powered devices.
Managing power consumption is critical for further significant performance increases. Moore’s law has generally doubled CPU performance roughly every two years for decades. This, however, was primarily based on the shrinking of the node, i.e., how small the smallest elements in the CPU could be.
Modern CPU nodes are so small that they’re very close to physical limits on size reductions. Increasing performance has therefore meant higher power draw and higher heat output. Near future, supercomputer CPUs may produce so much heat in such a small space that it is impossible to cool them with air, requiring liquid cooling.
Naturally, there are also always new types of CPUs being developed. The two biggest brands here, Intel and AMD, each boast different types of CPU designs. This goes so far that their respective CPUs are better suited to some uses than others. Of course, newly designed CPUs offer new use cases and specialties on top of existing ones.
CPU architecture is a complex topic. As both available technologies and the demand for higher performance grows, so does the power that CPUs offer and the variety of configurations available. Like the GPU market, the CPU market shows signs of shifting towards specific hardware accelerators. This can allow more performance and greater efficiency at particular tasks but increases complexity.
Conclusion
A CPU core is one or more specific parts of a CPU die that perform the actual processing. These will typically be served and surrounded by registers and caches. The vast majority of modern CPUs offer multiple cores on one CPU die. CPU cores may be identical or optimized for different stages on the performance/efficiency curve.
CPU cores are typically general-purpose, able to perform any processing the CPU might need. A non-general-purpose processing unit on a CPU die may be called an accelerator or an X processing core. X is replaced with a specific purpose, such as neural processing cores and neural accelerators for AI processing.
Did this help? Let us know!